Logistic回归模型中的因变量只有1-0(如是和否,发生和不发生)两种取值。假设在p个独立自变量x1,x2,...,xp作用下,记y取1的概率是p = P(y=1|X),取0的概率是1-p,取1和0的概率之比为p/(1-p),称为事件的优势比(odds),对odds取自然对数得Logistic变换Logit=In(p/(1-p))。
令Logit(p)=In(p/(1-p))=z ,则p=1/(1+exp(-z))即为Logistic函数,或者称为Sigmoid函数。如图所示:
p是关于z的函数,令g(z)=1/(1+exp(-z)),则
注意,p是我们要求解的,我们的终极目标,那么z又是关于样本特征的函数,即
构造预测函数为:
函数表示结果取1的概率,因此对于输入样本x分类结果为类别1和类别0的概率分别为
两个式子综合起来,则
取似然函数为:
翻译成人话就是,我对于一个样本进行预测判别,判断正确的概率为P,那么我对所有样本m进行判断的概率是,前面说过p是我们的求解目标,而现在是对所有样本求解p的值,累乘后的值到达最大,值越大说明全局样本预测越准确。到这里,我们应该清楚,函数就是我们找到损失函数。接下来,我会再进一步的优化函数。
对损失函数取对数为:
最大似然估计就是要求取最大值是的,其实这里可以用梯度上升法求解即可。但是我们习惯了梯度下降法,故需要乘一个负的系数-1/m,得到
所以取最小值时的为要求的最佳参数。
终于,到我们强大的梯度下降法表演真正技术的时候了。
根据梯度下降法可得的迭代更新过程:
其中为学习步长,求偏导得到:
求偏导过程用到如下的公式:
脑补一下,要看懂这个求偏导化简公式并不难,你只要掌握偏导,复合函数求导和链式法则的知识便可。
因此,参数的迭代更新过程又可以写成:
在式子中,是常量,1/m也是常量,一般将1/m省略掉,所以最终的参数迭代更新过程为:
接下来,对参数的更新过程向量化,在机器学习领域里,我们要转变一种思维,就是捆绑思维。我们处理的数据是一批一批的数据,并非是一个一个的概念。所以这就是向量化的必要性。
我们约定训练数据的矩阵形式如下,x的每一行为一条训练样本,而每一列为不同的特征取值:
约定待求的参数矩阵形式为:
先求并记为A:
求并记为E:
所以,参数的迭代更新过程写成:
综合起来就是:
综上所述,向量化后的的更新的步骤如下:
(1)求
(2)求
(3)求