逻辑回归
本系列重点在浅显易懂,快速上手。不进行过多的理论讲解:也就是不去深究what,而是关注how。全文围绕以下三个问题展开:
1)长什么样?
2)解决什么问题?
3)怎么实现?
3.1)从数学讲,原理
3.2)从代码上讲,如何掉包实现
长什么样
上节讲了线性回归,解决回归问题的方式。回归问题的y值是连续的,例如:房价。线性回归模型的输出是连续的,值域范围是(-∞,+∞)可以解决回归问题不难理解,但如何用线性回归解决分类问题呢?
因为分类问题(例如预测明天是晴天还是下雨,1表示晴天,0表示下雨)的值域是0或者1。或者说分类问题的值域应该是[0,1]之间的值,表示事情发生的概率,例如0.8,表示明天晴天的概率是0.8,但仍然对接不上线性回归模型(-∞,+∞)的值域范围。
这里就需要引入几率的概念,即:odds=\frac{p}{1-p},odds的取值范围是[0,+∞],再取对数log,即:log(odds)=log(\frac{p}{1-p}),取值范围就是(-∞,+∞)了。所以用线性回归解决分类问题,实际上是,去拟合log(odds)。
即:
$$
θ^Tx=log(odds)=log(\frac{p}{1-p})\\ p=\frac{1}{1+e^{-θ^Tx}},这就是大名鼎鼎的sigmoid函数了
$$
所以逻辑回归,实际上就是再线性回归的基础上,经过一层sigmoid函数,就可以解决分类问题了。
解决什么问题
先看一组数据(一组sklearn中公开的数据集,鸢尾花的种类预测,共有4个特征,最后一列y是花的种类,逻辑回归只能解决二分类问题,所以这里只取y=0或者1两种类型,下面展示了5条数据,实际数据有100条):

文章介绍了逻辑回归的基本原理,它是在线性回归基础上通过sigmoid函数处理,以解决分类问题。逻辑回归通过拟合log(odds)来实现分类,文中给出了数学公式和手写代码实现,并使用sklearn库展示了调包实现逻辑回归的过程。
最低0.47元/天 解锁文章
4万+

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



