gpt4 book ai didi

octave - 在 Octave 中绘制决策边界线

转载 作者:行者123 更新时间:2023-12-05 09:16:57 30 4
gpt4 key购买 nike

我一直在学习机器学习类(class),目前学习分类。我实现了分类算法并获得了参数和成本。该作业已经具有绘制决策边界的功能并且可以正常工作,但我试图阅读他们的代码但无法理解这些行。

plot_x = [min(X(:,2))-2,  max(X(:,2))+2]; 
% Calculate the decision boundary line
plot_y = (-1./theta(3)).*(theta(2).*plot_x + theta(1));

有人解释一下吗?

最佳答案

我也和你上同样的类(class)。我猜代码的作用是在决策线上生成两个点。

如您所知,您具有以下功能:

theta0 + theta1 * x1 + theta2 * x2 = 0

可以改写为:

c + mx + ky = 0

其中xy分别是x1x2对应的坐标轴,c code> 是 theta(0) 或 y 轴截距,m 是斜率或 theta(1)ktheta(2)

这个等式 (c + mx + ky = 0) 对应于决策边界,因此代码为 x(或 x1) 覆盖整个数据集(plot_x minmax 函数中的 -2 和 +2),然后使用方程求相应的 y(或 x2)值。最后,可以绘制决策边界——plot(plot_x, plot_y)

换句话说,它所做的是使用方程生成两个点来在图形上绘制线,这样做的原因是 Octave 无法在给定方程的情况下绘制线。

希望对您有所帮助,如有语法错误或解释不清,敬请见谅^.^


重新排列方程对我有帮助,所以在这里添加:

plot_y = -1/theta2 (theta1*plot_x + theta0)

请注意 Octave 中的索引从 1 开始,而不是从 0 开始,因此 theta(3) = theta2theta(2) = theta1theta( 1) = theta0

这个plot_y等式等价于:

c + mx + ky = 0             <=>
-ky = mx + c <=>
y = -1/k (mx + c)

关于octave - 在 Octave 中绘制决策边界线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49163397/

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