1. logistic回归
logistic回归是众多分类算法中的一员。通常,logistic回归用于二分类,但与可用于多分类。
假设现在有一些数据点,我们利用一条直线对这些点进行拟合(该线称为最佳拟合直线),这个拟合的过程就称为回归。如线图所示
logistic回归是分类算法,它利用的是Sigmoid函数阈值在[0,1]这个特性。Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。其实,Logistic本质上是一个基于条件概率的判别模型(Discriminative Model)。
所以要想了解Logistic回归,我们必须先看一看Sigmoid函数 ,我们也可以称它为Logistic函数。它的公式如下
整合成一个公式,就变成了如下公式:
那么问题来了!如何得到合适的参数向量θ?
根据sigmoid函数的特性,我们可以做出如下的假设:
式即为在已知样本x和参数θ的情况下,样本x属性正样本(y=1)和负样本(y=0)的条件概率。
假定样本与样本之间相互独立,那么对于整个样本集生成的概率则要同时考虑多个样本的分类概率,因此引入代价函数(Cost Function):
取对数:
给定一个样本,我们就可以通过这个代价函数求出,样本所属类别的概率,而这个概率越大越好,所以也就是求解这个代价函数的最大值。
其中,m为样本的总数,y(i)表示第i个样本的类别,x(i)表示第i个样本,需要注意的是θ是多维向量,x(i)也是多维向量。
综上所述,满足J(θ)的最大的θ值即是我们需要求解的模型。
2.梯度上升法
梯度上升法用于求极值问题,但是真实环境中的函数不会像上面这么简单,就算求出了函数的导数,也很难精确计算出函数的极值。用迭代的方法就像爬坡一样,一点一点的逼近极值,这种寻找最佳拟合参数的方法,就是最优化算法。梯度上升算法公式如下:
其中,α为步长,也就是学习效率,控制更新的幅度。
目标函数:
sigmoid函数为:
目的:利用梯度上升法求解J(θ)的极大值J(θ)的极大值,即概率最大。
J(θ)对θ求偏导:
因此,梯度上升算法迭代公式为: