Deep Learning 学习笔记(4):Logistic Regression 逻辑回归
逻辑回归主要用于解决分类问题,在现实中有更多的运用,
正常邮件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 逻辑回归的更多相关文章
- Machine Learning 学习笔记 (1) —— 线性回归与逻辑回归
本系列文章允许转载,转载请保留全文! [请先阅读][说明&总目录]http://www.cnblogs.com/tbcaaa8/p/4415055.html 1. 梯度下降法 (Gradien ...
- 吴恩达Machine Learning学习笔记(三)--逻辑回归+正则化
分类任务 原始方法:通过将线性回归的输出映射到0-1,设定阈值来实现分类任务 改进方法:原始方法的效果在实际应用中表现不好,因为分类任务通常不是线性函数,因此提出了逻辑回归 逻辑回归 假设表示--引入 ...
- 【deep learning学习笔记】注释yusugomori的DA代码 --- dA.h
DA就是“Denoising Autoencoders”的缩写.继续给yusugomori做注释,边注释边学习.看了一些DA的材料,基本上都在前面“转载”了.学习中间总有个疑问:DA和RBM到底啥区别 ...
- Coursera DeepLearning.ai Logistic Regression逻辑回归总结
既<Machine Learning>课程后,Andrew Ng又推出了新一系列的课程<DeepLearning.ai>,注册了一下可以试听7天.之后每个月要$49,想想还是有 ...
- 【原】Coursera—Andrew Ng机器学习—课程笔记 Lecture 6_Logistic Regression 逻辑回归
Lecture6 Logistic Regression 逻辑回归 6.1 分类问题 Classification6.2 假设表示 Hypothesis Representation6.3 决策边界 ...
- 【deep learning学习笔记】注释yusugomori的LR代码 --- LogisticRegression.h
继续看yusugomori的代码,看逻辑回归.在DBN(Deep Blief Network)中,下面几层是RBM,最上层就是LR了.关于回归.二类回归.以及逻辑回归,资料就是前面转的几篇.套路就是设 ...
- 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 ...
- [置顶]
Deep Learning 学习笔记
一.文章来由 好久没写原创博客了,一直处于学习新知识的阶段.来新加坡也有一个星期,搞定签证.入学等杂事之后,今天上午与导师确定了接下来的研究任务,我平时基本也是把博客当作联机版的云笔记~~如果有写的不 ...
- 【deep learning学习笔记】注释yusugomori的RBM代码 --- 头文件
百度了半天yusugomori,也不知道他是谁.不过这位老兄写了deep learning的代码,包括RBM.逻辑回归.DBN.autoencoder等,实现语言包括c.c++.java.python ...
随机推荐
- RegularExpressions(正则表达式)
最近在不少地方用到了正则表达式,一直对这一块不太熟悉,今天写一些关于正则表达式的知识,一来是总结自己学的知识,二来今后忘记了可以及时的复习. 在java中想应用正则表达式带来的好处,必须先了解两个类, ...
- GitLab使用总结[转]
http://blog.csdn.net/huaishu/article/details/50475175 GitLab使用总结
- 用phpexcel插件导出excel2003
ob_end_clean();//清空缓冲区并关闭输出缓冲(清除脏数据). header('Content-Type:application/vnd.ms-execel'); header('Cont ...
- MongoDB架构——记得结合前面的文章看,里面的图画的很好
转自:http://www.ha97.com/4580.html 本文图片来自Ricky Ho的博文MongoDB构架(MongoDB Architecture),这是个一听就感觉很宽泛的话题,但是作 ...
- input text 不显示输入的历史记录
当之前的text框输入了数据后,下次输入有历史记录问题的解决方法 怎么禁止输入框记录输入记录,双击input出现输入过的记录, 有过表单设计经验的朋友肯定知道,当我们在浏览器中输入表单信息的时候,往往 ...
- CSS:Tutorial four
1.CSS Tables To specify table borders in CSS, use the border property. The example below specifies a ...
- 剑指offer--28.栈的压入、弹出序列
时间限制:1秒 空间限制:32768K 热度指数:300132 本题知识点: 栈 算法知识视频讲解 题目描述 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序.假 ...
- 将从mysql数据库查询的信息,遍历到List<>以及一些随机数的生成
将从mysql数据库查询的信息,遍历到List<>以及一些随机数的生成. 代码比较乱,但是方法还是对的,大家又需要的选择看,希望对博友 有帮助,欢迎留言分享! public class s ...
- About GCC
GCC used to stand for the GNU C Compiler, but since the compiler supports several other languages as ...
- 安装nodejs+npm的体验
NODEJS.NPM安装配置步骤(WINDOWS版本) 1.windows下的NodeJS安装是比较方便的(v0.6.0版本之后,支持windows native),只需要登陆官网(http://no ...