逻辑回归的知识,其中主要是数学推导过程,参考CS229,提供给数学要求比较高的人,而且内容详细,适合小白,像我这样的,数学绝缘体。
1.sigmoid函数
在分类过程中,我们使用了感知机,将样本分成了两类,使用的分类函数是sign,但是sign函数只能讲数据粗暴的分为+1和-1,其实是不太符合事实的,所以采用sigmoid函数,这个函数是平滑的,任何一个地方导数都不会为零,也不会产生突变,而且将所有的数据都映射在[0,1]范围之内,适合做概率输出。
2.Logistic分布
为位置参数,γ>0为形状参数 。式子6-1是logistic分布函数,式子6-2是logistic密度函数,也就是导数函数。
3.logistic回归模型
一个数发生的概率为p,则几率(odds)是发生概率与不发生的概率之比,也就是 ,如果加上对数,那就是对数几率, 对于logistic回归模型就是
对于logistic回归而言,由式子(6.5)与式子(6.6)得
也就是说,Y=1的对数几率是输入x的线性函数,或者说,输入Y=1的对数几率是由输入x的线性函数表示的模型。即logistic回归模型。通过逻辑回归模型定义式子(6-5)可以将线性函数w∙x
转换成概率。
线性函数 越接近正无穷,Y=1的概率就越大,线性函数
越接近负无穷,Y=1的概率越接近).这样的模型就是logistic
回归模型。
模型参数估计
极大似然估计法估计,模型参数,极大似然估计的意义是在已经知道结果Y=1的情况下,求使得Y=1的概率最大的情况。上面已经知道w∙x 越大,Y=1的可能性越大,那么现在就是求w∙x 的最大值,使用梯度上升法求最大值。
设:
似然函数为
对数似然函数
上面的这个式子是我们的目标函数,加上负号就是代价函数,cost function,代价越小,则P(Y=k|x)的损失越小,输出Y=K的概率越大。满足L(w)的最大值的w就是我们要求解的模型。如果我们要求L(w)的最大值,就用梯度上升模型,如果要求L(w)的最小值,只需要让L(w)=—L(w),此时用梯度下降法。
梯度上升和梯度下降,就是一个是加号,一个是减号:
总结:下面是机器学习的logistic回归表示
logistic regression
似然函数:
此时引入:
使用梯度下降法求参数θ 的最大值
下面是求导过程,方法1和方法2,求导过程不一样,方法1始终对θ 求导,方法2是使用链式求导。这个属于高数中求导数的两种方法,哪个好理解就用哪个
方法1
求 ,j 对θ 求导过程如下
方法2,链式求导法则求导
方法2,转自:崔博主的推导
其中,依次对 , , 求导,使用链式法则
其中
再由
接下来,就剩下第三部分:
综上所述:
因此,梯度下降迭代公式为:
矢量化(向量化)