Logistic regression的林林总总
来源:互联网 发布:保险师软件下载 编辑:程序博客网 时间:2024/05/22 16:20
Logistic regression,逻辑回归,很常见的二分类算法,简单好用,不过这看似简单的算法背后,其实可以引申出很多思考,基本的数学表达式如下:
这个公式描述了当给定x时,如何计算Y=1的概率,为什么偏偏是这样一个公式呢?其实也有一些简单的理由,先讲一个最简单的:不管X怎么变化,上述公式的取值都在0~1之间,而在现实世界中,任何事情发生的概率也都在0~1之间,所以就人为地将二者对标起来,至于能不能严丝合缝地对标起来,我们就不那么较真了,毕竟很多真理都是建立在假设之上的~
稍微深入一点,我们也可以计算Y=0的概率,即
二者的比值呢?
R有什么含义呢?R越大,样本为1的概率越大,R越小,样本为1的概率越小,而且还有个专门的名字,叫『几率』,(偶第一次遇到时感觉有点多余啊,用
左边的还有个专门的名字,叫『对数几率』,说白了,就是给几率取了个对数,那么便利在哪儿呢?便利在于概率是有范围的,而对数几率是无范围的,如果我们直接对概率建模,可选的函数有限,而如果对『对数几率』进行建模,可选的函数就多了去了,也就是说,我们的
海阔凭鱼跃,天高任鸟飞,既然如此,那我们选个最简单的
这里又引申出一个问题了,如果真实情况中
另外一种方法也是对特征进行一个转化处理,就是传说中的WOE,WOE跟对数几率有点关系,如下(可以根据贝叶斯公式推导出来):
等号左边就是对数几率,等号右边有2项,第1项是个常数,第2项就是WOE,所以不难发现,对数几率天然与WOE成线性关系,所以我们把X映射成WOE就可以了(注意这一步操作是非线性的),那么WOE怎么算呢?显然是给定Y后的条件概率,举个简单例子(直接截了网上的一张图,bad表示Y=1,good表示Y=0):
不难发现,WOE的递增顺序(对应对数几率的递增顺序)已经变成 18-35、35-50、50以上、10-18、0-10,非线性就是在这里引入的。
不过,目前大部分产品都用第一种方式引入非线性了,因为LR可以增量式训练,在训练过程中自适应Y的漂移和变化,而第二种方式就笨拙了些,导致泛化能力受到了一定的限制。
再总结一点,逻辑回归与线性回归有哪些相似点呢?(除了名字…),一句话:我们用线性回归建模『对数几率』就得到了逻辑回归…(参考公式(4)),不过由于二者概念不同,训练的思路也略有不同,前者是最大似然,后者是最小二乘。
逻辑回归的训练是基于最大似然的原理,简单起见,我们用
注意,上式是
这个跟下面的是等价的:
这么写主要是为了引出正则化,因为正则化的目的是使得
也有很多人会从贝叶斯的角度看待正则化,其实数学上是殊途同归的,以L2正则为例,它等价于假设
这时候最大似然优化的就应该是公式7与公式11的乘积了,即:
对上面
显然,最后一项就是正则项。为什么强制
拉普拉斯分布更陡峭,也就是说只有少数的
给定一堆样本后,我们就是从最小化公式13的角度来找到最好的
这里省去了一些推导,其实也没多少技巧,就是链式法则,重要的是结果很简明。对
- Logistic regression的林林总总
- Logistic Regression的理解
- 简单logistic regression的实现
- Logistic Regression的几个特性
- Logistic Regression的OpenCV代码
- Logistic Regression的一些认识
- 【TensorFlow】TensorFlow 的 Logistic Regression
- Logistic Regression 的简单推导
- logistic regression
- logistic regression
- logistic regression
- Logistic Regression
- Logistic Regression
- logistic regression
- Logistic Regression
- Logistic Regression
- logistic regression
- Logistic regression
- 数字图像处理,图像配准SIFT算法 (Lowe的代码)
- UTM投影
- EditText可编辑与不可编辑。
- 企业什么时候需要融资租赁?
- java线程安全问题之静态变量、实例变量、局部变量
- Logistic regression的林林总总
- web前端第九天
- 斯坦福大学机器学习作业题Problem Set #2 Logistic Regression: Training stability--下篇
- IDEA :插入代码模板(Ctrl+J )
- react-native-router-flux popTo('想pop到的scene') 回退多级不能实现问题
- c++之友元
- Codeforces Gym
- 列表有关
- Unity游戏开发 全局消息传递