我正在尝试学习如何使用Logistic回归和梯度下降来编写线性分类器。
该算法的工作是学习使成本最小化的权重(y-h w ( x )) 2 在所有示例中。
假设h w ( x )= 1 /(1 + e - w * x )
我使用的体重更新规则来自Stuart Russell和Peter Norvig的“人工智能,一种现代方法”。
w i <-w i +α(yh w ( x )) * h w ( x )(1-h w ( x ))* x i
我仅使用两个示例进行非常简单的测试。
(1,1)带有标签1
(3,3)标签为0
随机梯度下降10000次迭代后,算法得出以下结果
w0 = 5.62
w1 = -1.47
w2 = -1.47
因此,决策边界的方程为5.62-1.47x1-1.47x2。
经过100000次迭代
w0 = 8.17
w1 = -2.10
w2 = -2.10
我使用的梯度下降迭代次数越多,权重的缩放比例就越大。它没有像线性回归那样收敛于一种解决方案。
根据我对使用Logistic回归进行分类的了解,一个很大的优势是可以对新数据点进行归类,概率为0类或1类。但是Logistic函数给出的概率取决于权重的大小。
例如,假设我有一个要使用模型进行分类的点(2,2)。
使用100000次迭代后发现的决策边界:
1 /(1 + e ^ -(8.17 * 1-2.10 * 2-2.10 * x))= 0.44
但是,如果我(或经过多次迭代的算法)将所有权重乘以10,则结果为
1 /(1 + e ^ -(81.7 * 1-21 * 2-21 * 2))= 0.09
这对我来说没有意义,在100000次迭代之后,应该将接近决策边界的点的值设置为接近0.5,但随着迭代次数的增加,它会越来越接近于0。
有人可以告诉我我误解了什么或这有什么道理吗?梯度下降不应该达到一个独特的解决方案吗?如果不是,什么时候该停止算法?我希望有人能帮助我理解这一点。