21-城里人套路深之用python实现逻辑回归算法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了21-城里人套路深之用python实现逻辑回归算法相关的知识,希望对你有一定的参考价值。

如果和一个人交流时,他的思想像弹幕一样飘散在空中,将是怎样的一种景象?我想大概会毫不犹豫的点关闭的。生活为啥不能简单明了?因为太直白了令人乏味。保留一些不确定性反而扑朔迷离,引人入胜。我们学习了线性回归,对于损失函数及权重更新公式理解起来毫无压力,这是具体直白的好处。然而遇到抽象晦涩的逻辑回归,它的损失函数及权重更新公式就经历了从p(取值范围0~1)->p/(1-p)(取值范围0~+oo)->z=log(p/(1-p))(取值范围-oo~+oo)->p=1/1+e^(-z)->极大似然函数->log似然->log似然对于权重求导等一系列诡异而不失合理的变化。第一感觉是套路好深,变幻莫测到难以掌握。然而多看几遍,再给高数一次机会,会发现这些公式并不那么面目可憎。有时困难是在想象中逐渐长大的。

 

逻辑回归是用于分类的一个强大算法,广泛应用于银行贷款、广告精准投放等领域。关于它的基础知识可以参考:

1、回归XY | 数据江湖:回归五式之第二式(逻辑回归)https://mp.weixin.qq.com/s/MRlH5hdPRYNBem53xQBJNQ

2、零基础掌握极大似然估计

https://mp.weixin.qq.com/s/Zur3PgwtYvVs9ZTOKwTbYg

3、逻辑回归原理及实现(含最大似然函数及权重更新公式推导)

http://www.cnblogs.com/sxron/p/5489214.html

 

该搬的砖一块都不能少啊,否则有一天,看似巍峨高耸的大楼轰然倒塌,那时,成功学和鸡汤都帮不了你啦……

 

为了帮助理解,下面首先用代码画出sigmoid函数,也即1/1+e^(-z):

 

技术分享

技术分享

 

逻辑回归的损失函数可以看作log似然函数加上负号:

技术分享

技术分享

 

损失函数关于Φ(z)的作图代码如下:

 

技术分享

技术分享

 

下面在Python中实现了逻辑回归算法:

技术分享

 

技术分享

技术分享

技术分享

技术分享

技术分享

 

乍见之欢不如久处不厌,希望大家能守住内心的淡泊宁静,在虚无的生命中找到永恒不变的意义。下周学习如何用scikit-learn完成分类任务,敬请期待:)

以上是关于21-城里人套路深之用python实现逻辑回归算法的主要内容,如果未能解决你的问题,请参考以下文章

机器学习算法整理逻辑回归 python实现

逻辑回归 算法推导与基于Python的实现详解

Python实现机器学习算法:逻辑回归

逻辑回归的原理和python实现

python逻辑回归(logistic regression LR) 底层代码实现 BGD梯度下降算法 softmax多分类

局部加权之逻辑回归 - Python实现