大家如果学习过线性回归,应该知道,线性回归常用于分析两个变量,X,Y之间的关系,可以得到一条曲线。很明显,这条曲线讲空间划分为两块,那是否能够用于二分类呢?显然是可以的。但是线性回归,y的取值范围难确定,而且分类问题的y值通常是离散的。所以,简单的线性拟合这些数据就有点困难。如果用于分类,我们希望最终结果是0-1之间的概率情况。
二分类算法
这里我们引入一个非线性函数sigmoid函数,即逻辑回归函数。逻辑回归就是一种减小预测范围,将预测值限定为[0,1]间的一种回归模型。
image.pngLoss function 损失函数
这里我们需要定义一个损失函数,来衡量预测的结果 和实际的结果有多接近。 这里 我们 不用 误差平方 (y' - y)^2, ,梯度下降不好用,非凸。
在逻辑回归中,我们将损失函数定义为:
f(y',y) = -(ylog(y') + (1-y)log(1-y'));
cost function 评估函数
J(w,b) = 1/m * Σ(f(y',y));
梯度下降法求解
我们需要找到w,b使得J(w,b)最小,在这里J(w,b) 是一个凸函数,梯度下降,朝这斜率最大的方向移动,重复操作,直到找到w,b 使得 J(w,b) 最小。
重复 :
w := w - a * d(J(w,b)) / d(w) . a 学习率
b := b - a * d(J(w,b)) / d(b) . a 学习率
直到,w,b 不再变化。
网友评论