模型介绍

对于分类问题,其得到的结果值是离散的,所以通常情况下,不适合使用线性回归方法进行模拟。
所以提出Logistic回归模型。
其假设函数如下:
\[
h_θ(x)=g(θ^Tx)
\]
函数g定义如下:
\[
g(z)=\frac{1}{1+e^{-z}}(z∈R)
\]
所以假设函数书写如下:
\[
h_θ(x)=\frac{1}{1+e^{-θ^Tx}}
\]
图像类似如下:

根据图像我们可以看出,当g(z)中的z大于0的时候,其g(z)则大于0.5,则此状态下的可能性则更大。


决策边界

对于假设函数hθ,当确定了其中所有的系数θ,则可以将\(θ^Tx\)绘制出一个用于区分结果值0与1之间的边界。


代价函数

和线性回归相同,代价函数可以用于构造最合适的系数θ。
\[
J(θ)=\frac{1}{m}\sum_{i=1}^{m}{cost(h_θ(x)-y)}
\]
\[
cost(h_θ(x)-y)=\begin{cases}
-log(h_θ(x)) & if & y=1 \\
-log(1-h_θ(x)) & if & y=0
\end{cases}
\]

\[
J(θ)=\frac{1}{m}[\sum_{i=1}^{m}{y^{(i)}logh_θ(x^{(i)})+(1-y^{(i)})log(1-h_θ(x^{(i)}))}]
\]

分析

对于cost函数,在y=1的时候,很明显当\(h_θ(x)\)趋近于1的时候,cost函数接近于0,则代价函数\(J(θ)\)也接近于0,合理;\(h_θ(x)\)趋近于0的时候,cost函数趋近于无穷大,而代价函数\(J(θ)\)也趋于无穷大,这是不合理的。从代价函数本身的意义出发,就是寻找当代价函数\(J(θ)\)最小的时候,就得到最合理的系数θ。


梯度下降

为了获得最小的\(J(θ)\)
给出:
\[
θ_j:=θ_j-α\frac{∂}{∂θ_j}J(θ)
\]
\[
θ_j:=θ_j-α\frac{1}{m}\sum_{i=1}^{m} {(h_θ(x^{(i)})-y^{(i)})x_j^{(i)}}
\]

通过不断迭代得到最终合适的θ。


一对多问题

对于很多分类问题,不只是需要分类为两类0,1,可能需要做更多的分类。

对于解决这类问题可以采用回归分类器,见下图:

对于多个分类,可以选择将需要判断的那个分类定义为正类,其余都定义为负类,执行logistic回归得到一个假设函数\(h_θ^{(i)}\),使用时,选择最为合适的假设函数进行模拟即可。


机器学习笔记(4)Logistic回归的更多相关文章

  1. 吴恩达机器学习笔记 —— 7 Logistic回归

    http://www.cnblogs.com/xing901022/p/9332529.html 本章主要讲解了逻辑回归相关的问题,比如什么是分类?逻辑回归如何定义损失函数?逻辑回归如何求最优解?如何 ...

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

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

  3. 机器学习(4)之Logistic回归

    机器学习(4)之Logistic回归 1. 算法推导 与之前学过的梯度下降等不同,Logistic回归是一类分类问题,而前者是回归问题.回归问题中,尝试预测的变量y是连续的变量,而在分类问题中,y是一 ...

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

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

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

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

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

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

  7. 机器学习实践之Logistic回归

        关于本文说明,本人原博客地址位于http://blog.csdn.net/qq_37608890,本文来自笔者于2017年12月17日 19:18:31所撰写内容(http://blog.cs ...

  8. 机器学习之线性回归---logistic回归---softmax回归

    在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 可以取两个以上的值. Softmax回归模型对于诸如MNIST手写数字分类等问题 ...

  9. 机器学习(1):Logistic回归原理及其实现

    Logistic回归是机器学习中非常经典的一个方法,主要用于解决二分类问题,它是多分类问题softmax的基础,而softmax在深度学习中的网络后端做为常用的分类器,接下来我们将从原理和实现来阐述该 ...

  10. 机器学习实战之Logistic回归

    Logistic回归一.概述 1. Logistic Regression 1.1 线性回归 1.2 Sigmoid函数 1.3 逻辑回归 1.4 LR 与线性回归的区别 2. LR的损失函数 3. ...

随机推荐

  1. Spring MVC中如何解决POST请求中文乱码问题,GET的又如何处理呢

    在web.xml中配置过滤器 GET请求乱码解决: 在Tomcat中service.xml中

  2. 运维与架构—Nginx的优缺点

    Nginx的优点是: 1.工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名.目录结构 它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一 Nginx ...

  3. spark+phoenix

    phoenix作为查询引擎,为了提高查询效率,为phoenix表创建了二级索引,而数据是sparkstreaming通过hbase api直接向hbase插数据.那么问题来了,对于phoenix的二级 ...

  4. Python调用time模块设置当前时间-指定时间

    import datetimeimport time#新建元旦时间#将程序打包def A(): # 设定时间 newyear =datetime.datetime(2033,10,1) #调用当前时间 ...

  5. scala (4) 可变数组和不可变数组

    在scala中数组分为不可变长数组(在immutable包下)和可变长数组(在mutable包下) 不可变长数组指的是长度不可变,但是数组中角标对应的元素的值是可变的 可变数组指的是长度和数组中角标对 ...

  6. python学习之路-基本数据类型1 变量的概念、数字、字符串

    1 什么是数据类型? 每种编程语言都有自己的数据类型,用于标识计算机可以认识的数据,Python中主要的数据类型为字符串,整数,浮点数,列表,元祖,字典,集合七种主要的数据类型,其中以列表,字典为最主 ...

  7. 20155307 实验一《Java开发环境的熟悉》实验报告

    (一)命令行下Java程序开发 题目:实现Fibonacci数列功能,并进行测试 命令行下的程序截图 上传到了码云: 遇到的问题? 可以直接使用Javac,不加环境变量也行,但是文件的名字与类名必须一 ...

  8. 20155323 2016-2017-2 《Java程序设计》第一周学习总结

    20155323 2016-2017-2 <Java程序设计>第一周学习总结 1.浏览教材,根据自己的理解每章提出一个问题 第一章:既然JDK本身附有一个JRE,那么JRE和JDK的区别在 ...

  9. 20155330 实验一《Java开发环境的熟悉》(Windows+IDEA)实验报告

    实验知识点 JVM.JRE.JDK的安装位置与区别: 命令行运行javac:java:javac -cp; java -cp: PATH,CLASSPATH,SOURCEPATH的设定方法与应用: 包 ...

  10. 20145207李祉昂《网络对抗技术》可选实验 shellcode注入与Return-to-libc攻击实验

    1.0 实践内容 Return-to-libc攻击是一种特殊的缓冲区溢出攻击,通常用于攻击有“栈不可执行”保护措施的目标系统.本实验中我们放弃了让漏洞程序执行堆栈中的shellcode,将用syste ...