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

正常邮件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. C# 语言版本

    (摘自:维基百科)https://en.wikipedia.org/wiki/C_Sharp_(programming_language) Versions Version Language spec ...

  2. 移动国家号(MCC)

    定义移动国家号 Mobile Country Code (MCC)由三位十进制数组成,它表明移动用户(或系统)归属的国家. 格式移动国家号(MCC)由三个十进制数组成,编码范围为十进制的000-999 ...

  3. DOCKER实战案例

    操作系统:[root@yz6205 ~]# docker search busyboxNAME DESCRIPTION STARS OFFICIAL AUTOMATEDbusybox Busybox ...

  4. Codeforces Round #394 (Div. 2) B. Dasha and friends

    B. Dasha and friends time limit per test:2 seconds memory limit per test:256 megabytes input:standar ...

  5. vs2013出现错误提示error C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s

    这个问题是vs准备弃用strcpy带来的,因为觉得他不太安全 可以尝试在main函数前面加上#pragma warning(disable:4996)即可解决这个问题

  6. 【数据库】python访问mysql

    import MySQLdb 所有的数据库遵循相同的python database API 需要建立connection对象连接数据库,之后建立cursor对象处理数据. conn = MySQLdb ...

  7. canvas - 柱子效果

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...

  8. 深入浅出Eclipse Modeling Framework (EMF)

    Eclipse Modeling Framework (EMF),简单的说,就是Eclipse提供的一套建模框架,可以用EMF建立自己的UML模型,设计模型的XML格式或编写模型的java代码.EMF ...

  9. 关于iframe和div窗口中ajax请求200状态时执行的回调问题

    上一篇说了在ajax回调里面处理iframe窗口的刷新问题,这一篇记录一下遇到的一个分别在iframe和div窗口中ajax请求200状态时执行的回调问题. 我们先来看一下ajax请求的写法(这里使用 ...

  10. SpringMVC札集(02)——SpringMVC入门完整详细示例(下)

    自定义View系列教程00–推翻自己和过往,重学自定义View 自定义View系列教程01–常用工具介绍 自定义View系列教程02–onMeasure源码详尽分析 自定义View系列教程03–onL ...