关于逻辑回归的sigmoid函数

来源:9-2 逻辑回归的损失函数

weixin_慕村8280326

2021-09-19

老师,为什么预测值可以通过sigmoid函数变成分类的概率?这个值的转换具有可解释性吗?

写回答

1回答

liuyubobobo

2021-09-19

看一下这个问题是否可以回答你的问题:https://coding.imooc.com/learn/questiondetail/46426.html


继续加油!:)


==========


这个关联是人为赋予的。我们相当于将两个类别定义成 1 和 0,使用 sigmoid 函数,将任意一个数值,都可以映射到 [0, 1] 之间。逻辑回归相当于是在说,sigmoid(theta * x) 的结果越接近 1,我们越倾向于将 x 分为 1 所代表的的这一类;sigmoid(theta * x) 的结果越接近 0,我们越倾向于将 x 分为 0 所代表的的这一类。这相当于是将 sigmoid(theta * x) 解释为将 x 分为 1 这一类的概率。


这样做背后能否找到数学依据?有一些。比如这样做满足最大似然估计的结果(我给的连接中有进一步的资料来源)。


但是,有一定的数学依据不代表 100% 的正确。这在统计学界非常常见。比如对一组数据的解读有若干种正确的统计分析方式,但他们的得到结果可能不尽相同,取哪一种?这一方面是见仁见智的,另一方面,也是和具体的领域,甚至具体的业务情况相关的。这也就是我给的链接中说的:sigmoid 函数是存在争议的。


我们是通过一系列假设,认为 sigmoid 函数可以表达概率。但它是不是一定就是那个概率?当然不一定,否则的话,1)求概率也太简单了;2)逻辑回归就是世界上最好的分类算法了。


有没有可能有比 sigmoid 更好的函数?但实际上,单纯从数学表达式的角度,sigmoid 已经足够好了。在这个领域,对这个问题的进一步探索,已经不是找到更好的一个数学函数了,因为更好的函数形式,很有可能是不能用一个统一的式子表达出来的。


实际上,很多非参数学习算法本身做的就是这件事情。比如神经网络,你可以将整个神经网络想成是一个函数,它也能求解出一个将 x 划分成 1 的概率,从而判断出将 x 划分成哪一类更好。但是,这个函数究竟是什么样子的?我们是无法用数学表达出来的。(理论也能表达出来,但是,一个 2 * 2 的神经网络对应的函数,已经复杂得可以上天了)。 


继续加油!:)

0
2
liuyubobobo
回复
weixin_慕村8280326
我补充在了原回答中。继续加油!:)
2021-09-20
共2条回复

Python3入门机器学习 经典算法与应用  

Python3+sklearn,兼顾原理、算法底层实现和框架使用。

5893 学习 · 2454 问题

查看课程