逻辑斯蒂回归算法可用于分类问题,其本质是在线性回归的算法上用sigmoid函数进行模型变换,使得目标值介于0-1之间。本文用于对逻辑斯蒂回归算法(Logistics Regression)进行详细讲述。
逻辑斯蒂回归基本假设
我们知道线性回归的基本假设是h(x)=θ^Tx,为了实现介于[0,1]这种效果,需要对假设模型进行变换,变换是通过sigmoid函数实现的,sigmoid函数如下:
sigmoid函数的特性
1、当z→负无穷时,g(z)趋近于0,当z→正无穷时,g(z)趋近于1,且g(0)=1/2
(ps:个人认为,实际上从线性回归变换至逻辑斯蒂回归并不必须要求是通过sigmoid函数,只要是满足以上特性的函数皆可),以下为sigmoid函数图像:
2、sigmoid函数的一阶导数与原函数存在关系:
按照sigmoid函数我们进行变换,得到逻辑斯蒂回归模型的基本假设:
逻辑斯蒂回归的损失函数
参考线性回归的损失函数是由最大似然估计推到得出,逻辑斯蒂回归本身具有概率意义,亦可以用最大似然估计得出。
假定(至于为何如此假定,大概率是本身经过sigmoid变换后的逻辑斯蒂基本式h(x)很像概率函数F(X))
以上两个式子可以合为一个(因为y的取值为0或1),即:
假设m个训练集是iid,则有最大似然函数L(θ)为:
取对数为:
至此,我们得出逻辑斯蒂回归的最大似然函数,我们的任务是max l(θ)
最小化逻辑斯蒂回归损失函数(最大化其最大似然函数)
Perceptron Learning Algorithm
若对逻辑斯蒂的模型做变换时不用sigmoid,而用以下公式:
则有:h(x)=g(θ^Tx),利用如下更新规则找出最优θ(类似梯度下降算法)
以上算法称为传感器学习算法(Perceptron Learning Algorithm)
梯度下降算法
这个包含全梯度下降算法和随机梯度下降算法,很常见,不在赘述。
牛顿方法(Newton Method)
我们现在尝试找出任意函数f(θ)的值为0对应的θ值,则我们可以利用迭代方法得到最终的θ:
图解:
注:若θ为多元列向量,则可以使用矩阵迭代运算,有:
其中H为n*n阶(n为θ列向量元素数量)海塞矩阵,其中元素为: