如何绘制分类算法的theta向量线(MATLAB)

在进行逻辑回归后,我得到了一个theta向量,如[-0.34, -4.5, 0.5]。我如何使用这个向量在图中绘制边界线?


回答:

在二元分类的逻辑回归中,新样本x被分类为0或1的概率为:

enter image description here

因此,决策边界对应于P(y=1|x)=P(y=0|x)=sigmoid(theta'*x)=0.5的线,这对应于theta'*x=0。Sigmoid函数为sigmoid = @(z) 1.0 ./ (1.0 + exp(-z))

enter image description here

在我们的案例中,数据有两个维度加上偏置,因此:

enter image description here

例如,x1在[-1 1]范围内的决策边界可以表示为:

theta = [-0.34, -4.5, 0.5];sigmoid = @(z) 1.0 ./ (1.0 + exp(-z));% 随机点N = 100;X1 = 2*rand(N,1)-1;X2 = 20*rand(N,1)-10;x = [ones(N,1), X1(:), X2(:)];y = sigmoid(theta * x.') > 0.5;% 边界线plot_x = [-1 1];plot_y = (-1./theta(3)).*(theta(2).*plot_x + theta(1));% 绘图figure; hold on;scatter(X1(y==1),X2(y==1),'bo');scatter(X1(y==0),X2(y==0),'rx');plot(plot_x, plot_y, 'k--');hold offxlabel('x1');  ylabel('x2');title('x_{2} = 0.68 + 9 x_{1}');axis([-1 1 -10 10]);

它生成以下图表:

enter image description here

Related Posts

Keras Dense层输入未被展平

这是我的测试代码: from keras import…

无法将分类变量输入随机森林

我有10个分类变量和3个数值变量。我在分割后直接将它们…

如何在Keras中对每个输出应用Sigmoid函数?

这是我代码的一部分。 model = Sequenti…

如何选择类概率的最佳阈值?

我的神经网络输出是一个用于多标签分类的预测类概率表: …

在Keras中使用深度学习得到不同的结果

我按照一个教程使用Keras中的深度神经网络进行文本分…

‘MatMul’操作的输入’b’类型为float32,与参数’a’的类型float64不匹配

我写了一个简单的TensorFlow代码,但不断遇到T…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注