逻辑回归主要用于解决分类问题,在现实中有更多的运用,

正常邮件or垃圾邮件

车or行人

涨价or不涨价

用我们EE的例子就是:

高电平or低电平

同时逻辑回归也是后面神经网络到深度学习的基础。

(原来编辑器就有分割线的功能啊……)


一、Logistic Function(逻辑方程)

同线性回归,我们会有一个Hypothesis Function对输入数据进行计算已得到一个输出值。

考虑到分类问题的特点,常用的函数有sigmoid方程(又叫logistic方程)

其函数图像如下

可见:

1、输出区间为(0,1);

2、对于所有输入 z<0, g(z) < 0.5 ; 对所有输入 z>0, g(z) > 0.5。

因此我们可以把输出 g(z) 看作是一种概率,

当输入 z > 0 ,概率 g(z)>50% 时, 假设成立。

( 另有tanh函数,输出区间是(-1,1) )


二、Cost Function代价方程

problem:

在逻辑回归中,由于输入和输出不再是线性关系,

如果我们再使用预测值与实际值的欧式距离的均值作为代价方程,

代价方程将会出现多个局部最优点,

这对梯度下降算法来说真是毁灭性的打击。

如图,左边是不理想的cost function ,右边是理想的cost function

(看到右下角的署名没有? 那才是这些图的真正作者啊,膜拜ing~~)

  解决方法:

为了解决这个问题,在逻辑回归中,我们使用以下方程作为梯度下降的cost function:(*注释1)

当然这么写还真是不美观,码代码的时候还要加一个逻辑判定语句。

这么些就好多了:

这个函数的叫做 softmax(索夫曼)函数 ,所以在有时候我们又可以把用到这种cost function的回归成为softmax回归

对应的偏导计算方法如下:

考虑到视频上面没有加上推导过程,但是貌似有公司面试会面这个的推导,我这里放上我无限难看的手写版:

知道了cost function,知道了偏导之后,让我们一起gradient descent吧!


附: Decision Boundary

在坐标系中把数据标出,并作出Htheta(x)=0.5的函数曲线

曲线将大致将数据按照标签分为两部分,这就是数据的decision boundary。


注释1:在NG的视频中并没有太多讨论为什么使用对数函数。在李航老师的《统计学习》的逻辑回归一章中,我们可以知道在逻辑回归模型中事件几率Y=1(发生概率/不发生概率)是输入x的线性函数(W*x)。即对数方程使逻辑回归模型线性可分。但是后面讲到cost的时候又没讲到两者的的联系,希望网友告知为何。

Deep Learning 学习笔记(4):Logistic Regression 逻辑回归的更多相关文章

  1. Machine Learning 学习笔记 (1) —— 线性回归与逻辑回归

    本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 梯度下降法 (Gradien ...

  2. 吴恩达Machine Learning学习笔记(三)--逻辑回归+正则化

    分类任务 原始方法:通过将线性回归的输出映射到0-1,设定阈值来实现分类任务 改进方法:原始方法的效果在实际应用中表现不好,因为分类任务通常不是线性函数,因此提出了逻辑回归 逻辑回归 假设表示--引入 ...

  3. 【deep learning学习笔记】注释yusugomori的DA代码 --- dA.h

    DA就是“Denoising Autoencoders”的缩写.继续给yusugomori做注释,边注释边学习.看了一些DA的材料,基本上都在前面“转载”了.学习中间总有个疑问:DA和RBM到底啥区别 ...

  4. Coursera DeepLearning.ai Logistic Regression逻辑回归总结

    既<Machine Learning>课程后,Andrew Ng又推出了新一系列的课程<DeepLearning.ai>,注册了一下可以试听7天.之后每个月要$49,想想还是有 ...

  5. 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 6_Logistic Regression 逻辑回归

    Lecture6 Logistic Regression 逻辑回归 6.1 分类问题 Classification6.2 假设表示 Hypothesis Representation6.3 决策边界 ...

  6. 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.h

    继续看yusugomori的代码,看逻辑回归.在DBN(Deep Blief Network)中,下面几层是RBM,最上层就是LR了.关于回归.二类回归.以及逻辑回归,资料就是前面转的几篇.套路就是设 ...

  7. Neural Networks and Deep Learning(week2)Logistic Regression with a Neural Network mindset(实现一个图像识别算法)

    Logistic Regression with a Neural Network mindset You will learn to: Build the general architecture ...

  8. [置顶] Deep Learning 学习笔记

    一.文章来由 好久没写原创博客了,一直处于学习新知识的阶段.来新加坡也有一个星期,搞定签证.入学等杂事之后,今天上午与导师确定了接下来的研究任务,我平时基本也是把博客当作联机版的云笔记~~如果有写的不 ...

  9. 【deep learning学习笔记】注释yusugomori的RBM代码 --- 头文件

    百度了半天yusugomori,也不知道他是谁.不过这位老兄写了deep learning的代码,包括RBM.逻辑回归.DBN.autoencoder等,实现语言包括c.c++.java.python ...

随机推荐

  1. RegularExpressions(正则表达式)

    最近在不少地方用到了正则表达式,一直对这一块不太熟悉,今天写一些关于正则表达式的知识,一来是总结自己学的知识,二来今后忘记了可以及时的复习. 在java中想应用正则表达式带来的好处,必须先了解两个类, ...

  2. GitLab使用总结[转]

    http://blog.csdn.net/huaishu/article/details/50475175 GitLab使用总结

  3. 用phpexcel插件导出excel2003

    ob_end_clean();//清空缓冲区并关闭输出缓冲(清除脏数据). header('Content-Type:application/vnd.ms-execel'); header('Cont ...

  4. MongoDB架构——记得结合前面的文章看,里面的图画的很好

    转自:http://www.ha97.com/4580.html 本文图片来自Ricky Ho的博文MongoDB构架(MongoDB Architecture),这是个一听就感觉很宽泛的话题,但是作 ...

  5. input text 不显示输入的历史记录

    当之前的text框输入了数据后,下次输入有历史记录问题的解决方法 怎么禁止输入框记录输入记录,双击input出现输入过的记录, 有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息的时候,往往 ...

  6. CSS:Tutorial four

    1.CSS Tables To specify table borders in CSS, use the border property. The example below specifies a ...

  7. 剑指offer--28.栈的压入、弹出序列

    时间限制:1秒 空间限制:32768K 热度指数:300132 本题知识点: 栈 算法知识视频讲解 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假 ...

  8. 将从mysql数据库查询的信息,遍历到List<>以及一些随机数的生成

    将从mysql数据库查询的信息,遍历到List<>以及一些随机数的生成. 代码比较乱,但是方法还是对的,大家又需要的选择看,希望对博友 有帮助,欢迎留言分享! public class s ...

  9. About GCC

    GCC used to stand for the GNU C Compiler, but since the compiler supports several other languages as ...

  10. 安装nodejs+npm的体验

    NODEJS.NPM安装配置步骤(WINDOWS版本) 1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://no ...