机器学习分享——逻辑回归推导以及 numpy 的实现

栏目: Python · 发布时间: 6年前

内容简介:什么是逻辑回归? 逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。Logistic 回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)回归模型中,y是一个定性变量,比如y=0或1,logistic方法主要应用于研究某些事件发生的概率

什么是逻辑回归? 逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。

Logistic 回归虽然名字里带“回归”,但是它实际上是一种分类方法,主要用于两分类问题(即输出只有两种,分别代表两个类别)

回归模型中,y是一个定性变量,比如y=0或1,logistic方法主要应用于研究某些事件发生的概率

概念解释

Logistic Regression 推导过程

它的表达式是:

可以发现,经过 sigmoid 函数转换后, 输出值是在 [0, 1] 之间,可以认为输出是概率,下面就来详细的推导:

机器学习分享——逻辑回归推导以及 numpy 的实现

推导

为了计算方便, 我们只讨论二分类.

首先, 逻辑回归进行了一个假设, 两个类别都服从均值不同,方差相同(方便推导)的高斯分布

高斯分布是比较容易处理的分布,根据中心极限定理也知道,最终会收敛于高斯分布。 从信息论的角度上看,当均值和方差已知时(尽管你并不知道确切的均值和方差,但是根据概率论,当样本量足够大时,样本均值和方差以概率1趋向于均值和方差),高斯分布是熵最大的分布,为什么要熵最大?因为最大熵的分布可以平摊你的风险(同一个值会有两个点可以取到, 不确定性很大),这就好比不要把鸡蛋放到同一个篮子里,想想二分查找中,为什么每次都是选取中间点作为查找点?就是为了平摊风险(假设方差相等只是为了计算方便)。

风险

其中, 是把样本预测为0时的风险, 是把样本预测为1时的风险, 是样本实际标签为 j 时,却把它预测为 i 是所带来的风险。

我们认为预测正确并不会带来风险,因此 和 都为0,此外,我们认为当标签为0而预测为1 和 当标签为1而预测为0,这两者所带来的风险是相等的,因此 和 相等,方便起见,我们记为λ。但在一些领域里,比如医学、风控等,这些λ在大多数情况下是不相等的,有时候我们会选择“宁可错杀一一千也不能放过一个”;

那么我们简化后的表达式:

根据最小化风险的原则,我们通常会选择风险较小的。

比如:

这就说明了预测为第 0 类的风险小于预测为第 1 类的风险。

可以得到:

就是说明预测第 1 类的概率小于第 0 类的概率。

我们对不等式两边分别取对数

根据贝叶斯公式:

我们开始假设过,两个类别分别服从均值不等,方差相等的高斯分布,根据高斯分布的公式有:

高斯分布

忽略常数项(方差也是相等的)

C 是常熟,可以使用矩阵的表示。

详细推导

对值取幂,以及等式取等号计算。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

运营笔记

运营笔记

类延昊 / 天津人民版社 / 2016-12-1 / CNY 39.80

运营是入门浅但学问深的行当。一个入门很久的人不见得能在11年内爬到塔尖,同样一个初入龙门的人占据高位也不见得非用11年。 到底该怎么做运营?如何做运营才不至于让自己忙死累死甚至茫然不知所措?如何和用户进行有效沟通?如何把握住处于塔尖20%的核心用户?如何强敌逼阵时快速找到突破口?如何挤破头皮提高转化率? 在这本书里,类类以自己常年战斗在一线摸爬滚打的经验给予了有效而真诚的解答。一起来看看 《运营笔记》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

URL 编码/解码
URL 编码/解码

URL 编码/解码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器