机器学习算法之逻辑回归(LR)

1.前言

说起机器学习,就不得不说说逻辑回归,它是区别于另一个基础算法:线性回归;对于回归(比如线性回归Linear Regression)可以理解为连续的值(类似模拟量),分类(比如逻辑回归Logistic Regression)相当于数字量(在某一范围的度量而进行的分类)。他们在用函数图像(或者表达式不过没有图像表达生动哦)进行描述时可以这样理解:对于回归来说就是图像上的数据点如果在所求的函数上那么就是回归到值了(也就是你找到了一个适用于你数据集的函数),在图像上的其他不满足的任意数据点带入该函数计算的得到的值就不确定在哪里了,反正不在函数上,那么任意不在函数上的数据点对于你来说没有意义;对于分类来说就是你所求的函数(假设函数+激活函数)能进行二分类针对于你的训练数据集,也就是假设函数上的数据点或者附近的点(针对于有惩罚项的)是你的满足线性分布或接近线性分布数据集的点得到的回归值,再经过激活函数进行概率计算判断类别。

                                                                             (注:上述所说图像指的是样本特征值和预测值建立起的多维图像

2.原理及公式推导

1)大致原理为sigmoid(线性回归)=逻辑回归,也就是激活函数本身是曲线或者说超平面是经过假设函数(线性回归)得到的值进行激活后进行阈值(概率值)判断得到类别,那么去除激活函数,只有假设函数这条直线或者说超平面直接就能把数据符合线性分布(注意不是数据特征符合线性分布)的值(也就是预测值和类别值误差符合正态分布)计算出来了,也就是所有不在假设函数上的点可以认为不属于该数据集。示意图如下:

2)建立假设函数:

假设函数就是线性回归模型中的函数表达式,在线性分类问题中就是一条距离大多数样本的距离都比较小的优化直线或者超平面;其公式为:Y=WX+B

逻辑回归中假设函数图像示意图如下:

3)激活函数的使用:

由于逻辑回归属于广义线性回归,那么它的预测是基于指数分布族的,如下:

逻辑回归是服从伯努利分布的,那么它的概率计算如下:

从这可以看出使用sigmoid()函数的必要,并且此函数单调递增,易于求导等特点。

4)由极大似然估计及联合概率可得:

 

     化简计算得到:

 

 (注意区分yi和(1-yi)的在公式里边的位置,是幂)

5)损失函数为:

3.计算流程: 

                                  for i in n:

    

由sigmoid()函数求导结果为:

 

                                         得到:

                                         最后得到:

最终求得向量θ在损失最小或达到阈值时的最优。

 4.写在最后

    文章写的比较简洁可能对于很少接触此算法的小伙伴儿来说比较晦涩,可以找我进行交流哦!

猜你喜欢

转载自blog.csdn.net/liuandy6612/article/details/125114963