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 ...
随机推荐
- PinYin4JUtils
import java.util.Arrays; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin ...
- 【spark】示例:求极值
我们有这样的数据 1.建立SparkContext读取数据 (1)建立sc (2)通过sc.textFile()读取数据创建Rdd 2.过滤数据 通过filter(line => line.tr ...
- 018对象——对象 get_class get_declared_classes get_declared_interfaces
<?php /** * 对象 get_class get_declared_classes get_declared_interfaces */ //get_class() 获得对象的类名,区分 ...
- shell与正则表达式
作业一:整理正则表达式博客 已整理完.作业二:grep作业(正则表达式及字符处理) 目标文件/etc/passwd,使用grep命令或egrep 1.显示出所有含有root的行:[root@bogon ...
- LeetCode OJ:Sqrt(x)(平方根)
Implement int sqrt(int x). Compute and return the square root of x. 简单的二分法,注意mid应该选为long,否则容易溢出: cla ...
- UICollectionView-网格视图
1. UICollectionView 网格视图,除了提供与UITableView同样的功能显示一组顺序显示的数据,还支持多列的布局. 2. UICollectionView 使用 > 设置Co ...
- 【dlbook】数学基础
[代数] Moore-Penrose 伪逆 [概率信息论] 自信息,香农熵,衡量两个分布的差异:kl散度 \ 交叉熵 [数值] 溢出: softmax计算的时候要关注上溢和下溢,如果所有X都相等且为很 ...
- PostgreSQL java读取bytes字段
写入bytea: File img = new File("/tmp/eclipse.png"); fin = new FileInputStream(img); con = Dr ...
- 一个 token 控件
用于以分词形式显示某个对象的多个标签,比如: 用法 将 TagsView.h/.m 文件拷贝到你的项目文件夹,在需要用到该控件的地方导入 TagsView.h 头文件. IB 中的工作 拖一个 UIV ...
- 学习nodejs部分基础内容入门小结
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Node.js 的包管理器 n ...