Logistic回归

优缺点 适用范围
优点:计算代价不高,易于理解和实现。 缺点:容易欠拟合,分类精度可能不高。 适用于:数值型和标称型数据。 仅用于二分类

原理:

每个特征都乘以一个回归系数>>将结果相加>>总和代入到Sigmoid函数,得到范围在(0,1)中的数值>>预测分类结果\(\hat{y}\)。即\(Z= w_{0}x_{0} + w_{1}x_{1} + \ldots + w_{n}x_{n} = \sum_{i = 0}^{n}{w_{i}x_{i} =w^{T}x}\),代入Sigmoid函数即可。

两个类别的分割点是\(Z=0\),即直线\(w_{0}x_{0}+w_{1}x_{1}+\ldots +w_{n}x_{n}=0\)。

\[\sigma\left( Z \right) = \frac{1}{1 + e^{- Z} }\ \ \rightarrow \ \ y^{'} = \frac{1}{1 + e^{- \mathbf{w}^{T}\mathbf{x} } }\text{\ \ }\ \frac{1}{1 + e^{g\left( x \right)} }
\]

若用\(y’\)表示分类为1的概率,\(P\left( y = 1 \middle| x,w \right) =
y'\),则分类为0的概率为\(P\left( y = 0 \middle| x,w \right) = 1 - y'\)。

极大似然概率为\(L\left( w \right) = \prod_{i =
1}^{m}{ { {(y}_{i}^{'})}^{y_{i} }\left( 1 - y_{i}^{'} \right)^{1 - y_{i} } }\),

取对数后为\(\mathbf{l}\left( \mathbf{w} \right)\mathbf{=}\sum_{\mathbf{i =
1} }^{\mathbf{m} }{\mathbf{(}\mathbf{y}_{\mathbf{i} }\log\left(
\mathbf{y}^{\mathbf{'} } \right)\mathbf{+ (1
-}\mathbf{y}_{\mathbf{i} }\mathbf{)log(1
-}\mathbf{y}_{\mathbf{i} }^{\mathbf{'} }\mathbf{)} }\mathbf{)}\),迭代式为

\(\mathbf{w}_{\mathbf{j} }\mathbf{: =}\mathbf{w}_{\mathbf{j} }\mathbf{+
\alpha}\frac{\mathbf{\partial} }{\mathbf{\partial}\mathbf{w}_{\mathbf{j} } }\mathbf{l(w)}\)

\[\frac{\partial}{\partial w_{j} }l\left( w \right) = \sum_{i = 1}^{m}{\left( y_{i}\frac{1}{y_{i}^{'} } + \left( 1 - y_{i} \right)\frac{1}{1 - y_{i}^{'} } \right)\frac{\partial}{\partial w_{j} }y_{i}^{'}\ } = \sum_{i = 1}^{m}{\left( y_{i}\frac{1}{y_{i}^{'} } + \left( 1 - y_{i} \right)\frac{1}{1 - y_{i}^{'} } \right)y_{i}^{'}\left( 1 - y_{i}^{'} \right)\frac{\partial}{\partial w_{j} }\mathbf{w}^{T}\mathbf{x}\ }
\]

\[= \sum_{i = 1}^{m}{\left( y_{i}\left( 1 - y_{i}^{'} \right) + \left( 1 - y_{i} \right)y_{i}^{'} \right)x_{i,j} } = \sum_{\mathbf{i = 1} }^{\mathbf{m} }{\mathbf{(}\mathbf{y}_{\mathbf{i} }\mathbf{-}\mathbf{y}_{\mathbf{i} }^{\mathbf{'} }\mathbf{)} }\mathbf{x}_{\mathbf{i,j} }
\]

其中用到了 记\(f\left( x \right) = \frac{1}{1 +
e^{g(x)} }\),则\(\frac{\partial}{\partial x}f\left( x \right) = f\left( x
\right)\left( 1 - f\left( x \right) \right)\frac{\partial}{\partial x}g(x)\)

现有一数据集trainMat,记作矩阵X,则\(error = \mathbf{\text{labelMat} } -
\sigma(\mathbf{X} \times \mathbf{w})\)为预测值与实际值的差。

极大似然概率就是要回归的最大值\(l(w)\),并不在代码中体现,迭代式为

\[w_{j} w_{j} + \alpha\frac{\partial}{\partial w_{j} }l\left( w \right) = w_{j} + \alpha \bullet \sum_{\mathbf{i = 1} }^{\mathbf{m} }{\mathbf{(}\mathbf{y}_{\mathbf{i} }\mathbf{-}\mathbf{y}_{\mathbf{i} }^{\mathbf{'} }\mathbf{)} }\mathbf{x}_{\mathbf{i,j} }
\]

\[\mathbf{w = w +}\alpha\mathbf{\bullet}\mathbf{x}^{\mathbf{T} }\mathbf{\times error}
\]

梯度上升算法伪代码:

  每个回归系数初始化为1
重复R次
计算整个数据集的梯度
使用alpha×gradient更新回归系数的向量
返回回归系数

随机梯度上升算法伪代码:

每个回归系数初始化为1
对数据集中每个样本
计算该样本的梯度
使用alpha×gradient更新回归系数的值
返回回归系数值

知识点:最大似然估计法-本质就是求联合概率的最大值

二项分布的似然函数(某次实验:投n次硬币有m次正面)

\[L\left( \theta \right) = C_{n}^{m}\theta^{m}\left( 1 - \theta \right)^{n - m}
\]

二项分布用通俗点的话来说,就是描述了抛10次硬币的结果的概率,其中,“花”出现的概率为\(\theta\)。如{4,5,5,2,7,4}就是6次实验的结果,每个数字表示抛10次硬币出现了几次“花”。

用\(x_{1},x_{2},\ldots,x_{n}\)表示实验结果,则因为每次实验都是独立的,所以似然函数可以写作(得到这个似然函数很简单,独立事件的联合概率,直接相乘就可以得到):

\[L\left( \theta \right) = f\left( x_{1} \middle| \theta \right)f\left( x_{2} \middle| \theta \right)\ldots f\left( x_{n} \middle| \theta \right)
\]

其中\(f\left( x_{n} \middle| \theta\right)\)表示同一参数下的实验结果,也可认为是条件概率。

用python画的图

机器学习实战笔记-5-Logistic回归的更多相关文章

  1. 机器学习实战笔记5(logistic回归)

    1:简单概念描写叙述 如果如今有一些数据点,我们用一条直线对这些点进行拟合(改线称为最佳拟合直线),这个拟合过程就称为回归.训练分类器就是为了寻找最佳拟合參数,使用的是最优化算法. 基于sigmoid ...

  2. 《机器学习实战》-逻辑(Logistic)回归

    目录 Logistic 回归 本章内容 回归算法 Logistic 回归的一般过程 Logistic的优缺点 基于 Logistic 回归和 Sigmoid 函数的分类 Sigmoid 函数 Logi ...

  3. 机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归

    机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归 关键字:Logistic回归.python.源码解析.测试作者:米仓山下时间:2018- ...

  4. 机器学习实战笔记-k-近邻算法

    机器学习实战笔记-k-近邻算法 目录 1. k-近邻算法概述 2. 示例:使用k-近邻算法改进约会网站的配对效果 3. 示例:手写识别系统 4. 小结 本章介绍了<机器学习实战>这本书中的 ...

  5. 机器学习实战 - 读书笔记(05) - Logistic回归

    解释 Logistic回归用于寻找最优化算法. 最优化算法可以解决最XX问题,比如如何在最短时间内从A点到达B点?如何投入最少工作量却获得最大的效益?如何设计发动机使得油耗最少而功率最大? 我们可以看 ...

  6. 机器学习实战读书笔记(五)Logistic回归

    Logistic回归的一般过程 1.收集数据:采用任意方法收集 2.准备数据:由于需要进行距离计算,因此要求数据类型为数值型.另外,结构化数据格式则最佳 3.分析数据:采用任意方法对数据进行分析 4. ...

  7. 机器学习实战笔记(Python实现)-04-Logistic回归

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  8. 机器学习实战笔记(Python实现)-08-线性回归

    --------------------------------------------------------------------------------------- 本系列文章为<机器 ...

  9. 机器学习实战笔记(Python实现)-09-树回归

    ---------------------------------------------------------------------------------------- 本系列文章为<机 ...

随机推荐

  1. [BZOJ2716] [Violet 3]天使玩偶(CDQ分治)

    [BZOJ2716] [Violet 3]天使玩偶(CDQ分治) 题面 Ayu 在七年前曾经收到过一个天使玩偶,当时她把它当作时间囊埋在了地下.而七年后 的今天,Ayu 却忘了她把天使玩偶埋在了哪里, ...

  2. java 多态 (知识点不完整)

    1.多态的条件 1.要有继承 2.方法重写 3.父类引用指向子类对象 多态中成员访问 1.   访问成员变量:  编译看左边,运行也看左边 f.num = 10 因为这里是父类的,看是父类Father ...

  3. keep-alive 被 beforeRouteEnter 骗了

    大家中秋假期快乐,假期分享一些实战文章给大家,原创不易,欢迎转发,一起学习 现在大家基本都在单页应用里面使用了 keep-alive 来缓存不活动的组件实例,而不是销毁它们. 如果你还没有使用,可以看 ...

  4. js如何获取到select的option值???

    1.获得选项option的值 var obj = document.getElementByIdx_x(”testSelect”); //定位id var index = obj.selectedIn ...

  5. Python中yield和return两者之间区别

    在任何函数都有返回值,一般都是想到return 关键词,在函数生成器中有个关键词 yield 也可以做返回值,在函数没调用之前,是不会输出任何东西的 1,return 用法 def stu(): re ...

  6. Python 3实现网页爬虫

    1 什么是网页爬虫 网络爬虫( 网页蜘蛛,网络机器人,网页追逐者,自动索引,模拟程序)是一种按照一定的规则自动地抓取互联网信息的程序或者脚本,从互联网上抓取对于我们有价值的信息.Tips:自动提取网页 ...

  7. 简述vue中v-if和v-show的区别

    vue中的 v-if 和 v-show 二者都可以动态的控制元素的隐藏和显示,但是他们控制的原理是不同的 v-if v-if 控制元素显示或隐藏是把dom元素整个的渲染或者删除,如果删除,也就是页面中 ...

  8. Spark2.0集成Hive操作的相关配置与注意事项

    前言 已完成安装Apache Hive,具体安装步骤请参照,Linux基于Hadoop2.8.0集群安装配置Hive2.1.1及基础操作 补充说明 Hive中metastore(元数据存储)的三种方式 ...

  9. MySQL重复数据中限定操作n条

    对于一个表,有时可能里面有很多重复的条,比如: +-----------+---------+| coupon_id | user_id |+-----------+---------+| 8 | 1 ...

  10. Github熟悉一

    Code/代码 Commits/提交 Issues/问题 Packages/包装 Marketplace/市场 Topics/话题 Wikis/维基百科 Users/用户 Pull requests/ ...