机器学习十大经典算法——逻辑回归

前言:现在更新第二期,做完第一期后得到了好多人的鼓励,也让我更有信心吧这一系列做完,在这期间还得到了csdn排名前三的大佬点赞,真的非常高兴,这期的逻辑回归是在线性回归的基础上进行的,线性回归是基础,我希望大家先吧线性回归搞懂,再开始逻辑回归,这样更容易点,第二期逻辑回归,开讲~~~

1:什么是逻辑回归

1.1 官话:

假设数据服从伯努力分布,通过极大似然函数的方式运用梯度下降来求解参数,来达到将数据二分类的目的。

1.2 通俗:

逻辑回归不是一个回归问题,而是一个分类算法,是在线性回归的基础上进行拓展,假如我们解决一个分类问题,用之前的线性回归怎么解决?我们是不是之需要找到一个阈值进行划分就可以,以某个定值为分割点进行划分,所以我们做出如下所图

但是我们这条线取的是平均值,要是有个值非常的离群,是不是会导致这条直线划分效果很差,所以我们需要一个函数可以解决离群值以及如何定义阈值,所以我们使用sigmoid函数来解决这个问题,为什么要用这个函数,我推荐大家自己找下资料,这里不再衍生。

2:sigmoid函数

 这个函数将任意的输入映射到[0,1]区间,我们在线性回归中可以得到一个预测值,再将该值映射到sigmoid函数中,这样就完成了由值到概率的转换,也就是分类任务

2.1伯努力分布

逻辑回归的第一个基本假设是假设数据服从伯努利分布伯努利分布有一个简单的例子是抛硬币,抛中为正面的概率是pp,抛中为负面的概率是1−p1−p.在逻辑回归这个模型里面是假设 hθ(x)hθ(x) 为样本为正的概率,1−hθ(x)1−hθ(x)为样本为负的概率。那么整个模型可以描述为

所以逻辑回归的最终形式

 我们要将什么时候取0,什么时候取1,用概率的方式表达出来

 之后进行合并,总结出目标函数为

 之后进行最大似然函数计算,和线性回归一样

 我们现在要求的是最大值,但是乘积的最大值很难求出,所以通过取对数,将乘法转化为加法

 之后使用梯度下降进行求偏导,由于这是个梯度上升,咱们需要的最小值所以取-1/m

最后进行参数的不断更新就可以了

 到这算是大致的逻辑回归,其余的是优化过程,下面主要给大家一些代码,用这些代码可以快速的用sklearn库进行模型构建,具体可以看我博客中的实战例子,这是之前接单遇到中做的

20200210_logistic回归来预测违约的概率

https://blog.csdn.net/qq_39309652/article/details/104346104

 这期结束了,谢谢大家的支持,要是觉得对你有点帮助,可以点波关注或者点个赞哦,关注会回关的哦。祝大家身体健康,希望疫情早点结束,去见自己想见的人。

发布了77 篇原创文章 · 获赞 23 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_39309652/article/details/104400968