机器学习之逻辑回归(logistic回归)
前言
以下内容是个人学习之后的感悟,转载请注明出处~
逻辑回归
一、为什么使用logistic回归
一般来说,回归不用在分类问题上,因为回归是连续型模型,而且受噪声影响比较大。
Why? 为什么回归一般不用在分类上?其实,很多初学者都会提出这个问题。然而,文字的解释往往不能说服我们,接下来
用图示的方式为大家讲解。
以最简单的分类为例,当y≥0.5时,输出“1”;当y<0.5时,输出“0”。下面左图,数据样本较好,线性回归模型在y=0.5处的橘色分界线
刚好在“0”、“1”两类样本的分界线处,完美地完成分类。然而,现实情况往往没有这么乐观,下面有图中出现了一个额外的样本,所谓的噪
声点,会使训练完毕的线性回归模型准确度变差。从右图中可以做直观地看到,线性回归模型在y=0.5处的粉色分界线将一个“1”类样本分类到
了“0”类样本集中,此时就出现了判断失误。
所以线性回归一般不用在分类问题上,如果非要用于分类,可以使用logistic回归。
逻辑回归为什么可以用在分类上?why?
原因很简单,逻辑回归本质上是线性回归,只是在特征到结果的映射中加入了一层函数映射,即先把特征线性求和θTx,设为z,然后使用函
数g(z)作为假设函数来预测。g(z)可以将连续值映射到0和1上。如下图所示,当z≥0时,输出为1;当z<0时,输出为0。这样可以实现很好的分类。
具体实现请看下文~
二、logistic回归
- 假设函数:
- 初始代价函数:
(细心的童鞋会发现,这里的代价函数与线性回归模型中的J(θ0,θ1)不一样,其实就是整体误差和平均误差的区别。)
显然,由于S型函数的存在,代价函数是非凸函数,无法使用梯度下降法来求极小值。这就需要转换为下面的简易代价函数。
- 简易代价函数:
说实话,这一步,我也不知道是怎么推导的,有哪位大神知道的话,请不吝赐教~
然而,要想使用梯度下降法,还需要转换为J(θ)代价函数
- J(θ)代价函数(凸函数):
- 使用方法:
1、采用梯度下降法,不断迭代下列公式,直到收敛,求出θ。
其推导过程如下:
细心的童鞋可能会注意到,逻辑回归和线性回归在梯度下降法中使用的迭代公式竟然一样。其实不然,不同点在于
迭代公式中的hθ(x):
逻辑回归:
线性回归:
2、判断θTx的大小来分类。
“y=1”,当θTx≥0
“y=0”,当θTx<0
(很容易发现θTx=0是分类的决策边界)
三、多分类逻辑回归
使用逻辑回归算法进行多分类时,可以设其中一类为1,其他都为0,建立一个分类器,以此类推,遍历全部类别,建立N个分类器。
如下表所示,总共3个类别,因此设立3个分类器,每个分类器的样本训练由上文中的二分类步骤完成。
三角形设为1,其他设为0。作为分类器1,即hθ(1)(x) | ||
正方形设为1,其他设为0。作为分类器2,即hθ(2)(x) | ||
红十字设为1,其他设为0。作为分类器3,即hθ(3)(x) |
每个分类器训练完毕后,取一个新的x数据,代入3个分类器中,哪个求出的h值最大,则这个分类器可信度最高,此分类器的“1”类别
就是此x的类别。
以上是全部内容,如果有什么地方不对,请在下面留言,谢谢~
机器学习之逻辑回归(logistic回归)的更多相关文章
- 机器学习实战笔记5(logistic回归)
1:简单概念描写叙述 如果如今有一些数据点,我们用一条直线对这些点进行拟合(改线称为最佳拟合直线),这个拟合过程就称为回归.训练分类器就是为了寻找最佳拟合參数,使用的是最优化算法. 基于sigmoid ...
- 机器学习算法( 五、Logistic回归算法)
一.概述 这会是激动人心的一章,因为我们将首次接触到最优化算法.仔细想想就会发现,其实我们日常生活中遇到过很多最优化问题,比如如何在最短时间内从A点到达B点?如何投入最少工作量却获得最大的效益?如何设 ...
- 机器学习(六)— logistic回归
最近一直在看机器学习相关的算法,今天学习logistic回归,在对算法进行了简单分析编程实现之后,通过实例进行验证. 一 logistic概述 个人理解的回归就是发现变量之间的关系,也就是求回归系数, ...
- 机器学习之线性回归以及Logistic回归
1.线性回归 回归的目的是预测数值型数据的目标值.目标值的计算是通过一个线性方程得到的,这个方程称为回归方程,各未知量(特征)前的系数为回归系数,求这些系数的过程就是回归. 对于普通线性回归使用的损失 ...
- python机器学习实现逻辑斯蒂回归
逻辑斯蒂回归 关注公众号"轻松学编程"了解更多. [关键词]Logistics函数,最大似然估计,梯度下降法 1.Logistics回归的原理 利用Logistics回归进行分类的 ...
- <机器学习实战>读书笔记--logistic回归
1. 利用logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类. 2.sigmoid函数的分类 Sigmoid函数公式定义 3.梯度上升法 基本思想:要找 ...
- 【机器学习】分类算法——Logistic回归
一.LR分类器(Logistic Regression Classifier) 在分类情形下,经过学习后的LR分类器是一组权值w0,w1, -, wn,当测试样本的数据输入时,这组权值与测试数据按照线 ...
- Softmax回归——logistic回归模型在多分类问题上的推广
Softmax回归 Contents [hide] 1 简介 2 代价函数 3 Softmax回归模型参数化的特点 4 权重衰减 5 Softmax回归与Logistic 回归的关系 6 Softma ...
- Logistic回归(逻辑回归)和softmax回归
一.Logistic回归 Logistic回归(Logistic Regression,简称LR)是一种常用的处理二类分类问题的模型. 在二类分类问题中,把因变量y可能属于的两个类分别称为负类和正类, ...
- [机器学习实战-Logistic回归]使用Logistic回归预测各种实例
目录 本实验代码已经传到gitee上,请点击查收! 一.实验目的 二.实验内容与设计思想 实验内容 设计思想 三.实验使用环境 四.实验步骤和调试过程 4.1 基于Logistic回归和Sigmoid ...
随机推荐
- Linux C高级编程——网络编程基础(1)
Linux高级编程--BSD socket的网络编程 宗旨:技术的学习是有限的,分享的精神是无限的. 一网络通信基础 TCP/IP协议簇基础:之所以称TCP/IP是一个协议簇,是由于TCP/IP包括T ...
- ios文件系统文件目录操作
对于一个运行在iPhone得app,它只能访问自己根目录下得一些文件(所谓sandbox). 一个app发布到iPhone上后,目录结构如下: 1.其中获取 app root 可以用 NSHomeDi ...
- Android开源git40个App源代码
(JamsMusicPlayer)非常棒的音乐播放器(new) (F8)日程安排的软件 (Conversations)基于XMPP的应用 (Bitocle)能够在手机上查看自己github ...
- caffe搭建----Visual Studio 2015+CUDA8.0+CUDNN5配置Caffe-windows(BLVC)
原文来源: 来源:Angle_Cal 2016-12-19 17:32 本博主修改于2017-09-12. 版权所有,转载请注明出处. BLVC版本的Caffe-windows已经支持Vis ...
- JavaScript通过正则随机生成电话号码
没有接口,就只能自己模拟Json数据了 恰好需要模拟一些电话号码,我又懒得自己随便写, 不如写一个小功能就用来实现随机生成电话号码 <!DOCTYPE html> <html lan ...
- python的id()函数的一个小方面(转载)
>>> a = 2 >>> b = 2 >>> id(a) 21132060 >>> id(b) 21132060 >&g ...
- 升级到Scriptcase 8.0的注意事项
Scriptcase的最新版本号v8.0已经正式公布了,因为国外下载较慢,我们在百度云盘创建了下载地址: http://pan.baidu.com/s/1qWwh6bi (Windows可运行文件)大 ...
- poj 1286 Necklace of Beads poj 2409 Let it Bead HDU 3923 Invoker <组合数学>
链接:http://poj.org/problem?id=1286 http://poj.org/problem?id=2409 #include <cstdio> #include &l ...
- 活动推荐 | 听说 PHP 是最好的语言 - 和 OneAPM 一起參与上海 PHPCon 技术盛宴吧
2015年7月11日,第三届 PHP 大会就要和各位 PHPer 正式见面了.本年度,由 Think 技术社区主办,OneAPM 赞助的 PHPCon2015 是为全部热爱技术的 PHPer 提供的最 ...
- 【Effective C++】构造/析构/赋值运算
条款05:了解C++默默编写并调用哪些函数 默认构造函数.拷贝构造函数.拷贝赋值函数.析构函数构成了一个类的脊梁,只有良好的处理这些函数的定义才能保证类的设计良好性. 当我们没有人为的定义上面的几个函 ...