Logistic regression
经典简单的二分类方法
Sigmoid函数
函数图像:
这样可以把 负无穷到正无穷的x 映射到 0-1中
把之前的theta * x 当成z输入到sigmoid函数中
Theta * x 即theta0 * x0 + theta1* x1 + … +theta n * xn
这样我们h(x)最后得到的就是一个0-1之间的概率值了
如果是分类问题,我们就可以指定说,得到的h(x)为 该样本属于 类别一 的概率
如果是二分类问题,则该样本属于 类别二 的概率就是 1-h(x) 了对吧
由于是二分类问题
则可以把属于类1 记为 数字1
把不属于类1 记为数字0
则可以得到下式:
训练数据里的样本是 (x,y)对
回到我们的目标,我们希望得到的y’和y越接近越好
对于单个样本 如果是1样本,则希望h(X)越大越好
如果是0样本 则希望h(x)越小越好
考虑整体样本集合,则我们的目标为下列似然函数
似然函数:
同样,对数似然:
我们希望的是对数似然越大越好,求最大值,梯度下降问题是求最小值,我们加个负号就好了
求偏导了:
注意这里的是thetaj ,thetaj即theta参数中的第j项,求导出来的结果xij里的i是第i个样本,j是第j个特征,更新第j个参数当然要用第j个特征,情理之中
求偏导完成后,也就得到了更新theta参数的方向,也就得到了前进的方向了
进行梯度下降更新: