gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 20:18:28 25 4
gpt4 key购买 nike

在逻辑回归函数之后,我得到了一个像 [-0.34, -4.5, 0.5] 这样的 theta 向量。我如何使用它来绘制图形中的边界线?

最佳答案

在用于二元分类的逻辑回归中,新样本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));

% Random points
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;

% Boundary line
plot_x = [-1 1];
plot_y = (-1./theta(3)).*(theta(2).*plot_x + theta(1));

% Plot
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 off
xlabel('x1'); ylabel('x2');
title('x_{2} = 0.68 + 9 x_{1}');
axis([-1 1 -10 10]);

它生成如下图:

enter image description here

关于matlab - 如何绘制用于分类算法的 theta 向量线 (MATLAB),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26122010/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com