回归就是根据已有的数据点,用一条线对这些点进行拟合。而利用Logistic回归的核心思想是根据现有数据点对分类边界线建立回归公式,以此进行分类。训练分类时要做的就是找到最佳拟合参数,使用的是最优化算法。分类算法针对的一般是离散型的数据集。这里我们讨论的是一个二元分类的问题。而一般输出0或者1的函数是Sigmoid函数。Sigmoid函数的具体计算公式如下:
因此可知:
1、 Logistic 回归
为了实现Logistic回归分类器,我们可以在每个特征上乘以一个回归系数,然后所有的结果值相加,将这个总和代入到Sigmoid函数中去,进而得到一个0~1之间的数值。任何大于0.5的数值被分入1类,小于0.5的被分入0类。所以Logistic可以看做是一种概率估计。
假说函数为
所以可以更为一致的写为:
假设m个训练集都是独立的,因此可以计算似然函数值L(θ):
似然函数值的大小意味着该样本值的可能性的大小。最大似然函数值的意思是选择的参数θ是使的样本值接近真实值的最好选择。因此求取最大似然估计的值即可确定参数θ,可通过log来计算。
为求得上式的最大值,我们可以采用梯度上升算法。这有点类似于线性回归里的梯度下降算法,但它们面对的数值对象是不一样的。梯度上升针对的是离散型的数据,前面线性回归里针对的是连续型的数据。
2、梯度上升算法
梯度上升法的基本思想是要找到某个函数的最大值,最好的方法是沿着该函数的梯度方向探寻。梯度上升的算式如下。
该公式一直迭代执行,知道达到某个停止条件为止,比如迭代次数达到某个指定值或者算法达到某个允许的误差范围。
3、随机梯度上升算法
同我前面所写的梯度下降算法里一样的是,梯度上升算法每次都需要计算整个训练集的梯度,这样面对大型的训练集算法适应度会下降。所以同样可以采取随机梯度上升函数。其中的梯度可以这样计算。
所以针对训练集中的每个样本,进行如下计算:
本文介绍了Logistic回归的概念及其实现原理,通过Sigmoid函数进行二元分类。此外,还详细阐述了梯度上升算法及其随机版本,用于求解Logistic回归中的最优参数。

被折叠的 条评论
为什么被折叠?



