【原】Andrew Ng斯坦福机器学习(6)——Lecture 6_Logistic Regression

Lecture6 Logistic Regression 逻辑回归

6.1 分类问题 Classification
6.2 假设表示 Hypothesis Representation
6.3 决策边界 Decision Boundary
6.4 代价函数 Cost Function
6.5 简化的代价函数和梯度下降 Simplified Cost Function and Gradient Descent
6.6 高级优化 Advanced Optimization
6.7 多类别分类:一对多  Multiclass Classification_ One-vs-all

虽然逻辑回归名字里有一个回归,但它不是回归算法。而是一种非常强大,甚至可能世界上使用最广泛的一种分类算法。

特征缩放也适用于逻辑回归。

6.1 分类问题 Classification

  参考视频: 6 - 1 - Classification (8 min).mkv

  二值分类问题 binary classification problem 定义如下:  

  

6.2 假设表示 Hypothesis Representation

  参考视频: 6 - 2 - Hypothesis Representation (7 min).mkv

   引入一个新的模型:逻辑回归。该输出变量范围始终在 0和1 之间。 逻辑回归模型的假设是:

  

  ?? 代表特征向量;

  ?? 代表逻辑函数Logistic Function 也叫 Sigmoid Function,其曲线如下:

  给定输入变量x,根据选择的参数Θ,h(x)给出 y=1 的概率。y=0 的概率是 1 - h(x)

6.3 决策边界 Decision Boundary

  参考视频 : 6 - 3 - Decision Boundary (15 min).mkv

  决策边界就是模型中预测为1 和预测为0的区域的分界线。The decision boundary is the line that separates the area where y = 0 and where y = 1. It is created by our hypothesis function.

   线性的决策边界:

  非线性的决策边界:

6.4 代价函数  Cost Function

  参考视频: 6 - 4 - Cost Function (11 min).mkv

  如果沿用线性回归里的代价函数,则会导致J(??) 不是凸函数,引发很多局部最优解。

为了拟合逻辑回归模型的参数 ??,代价函数如下:

   根据上面的公式计算代价,当预测和实际一致时代价为0,反之代价为无穷大。

  y = 1时,h(x) 和 J(Θ) 对应曲线如下:

  y = 0时, h(x) 和 J(Θ) 对应曲线如下:

 即有以下规律:

Cost(hθ(x),y) = 0   if hθ(x)=y

Cost(hθ(x),y)→∞   if y=0 and hθ(x)→1

Cost(hθ(x),y)→∞   if y=1 and hθ(x)→0

6.5 简化的代价函数和梯度下降

  参考视频 : 6 - 5 - Simplified Cost Function and Gradient Descent (10 min).mkv

  将上面两个式子 简化为下面一个式子(当 y 分别等于0或1时,式子只剩下两项中的一项):

  完整的代价函数如下:

  一个向量实现如下:

  梯度下降过程如下:

  使用数学方法推倒上式中 J(Θ) 的导数:

  带入更新算法中,得到下面算法:

  上面这个梯度下降算法 看起来和线性回归一样,但事实上是完全不同的。因为之前 h(x) 是线性函数,而逻辑回归中 h(x) 定义如下:

  一个梯度下降的向量化实现如下

6.6 高级优化 Advanced Optimization

  参考视频 : 6 - 6 - Advanced Optimization (14 min).mkv

  除梯度下降算法以外,还有一些常被用来令代价函数最小的算法。这些算法更加复杂和优越,而且通常不需要人工选择学习率,比梯度下降算法要更加快速。这些有: 共轭梯度 (Conjugate Gradient), 局部优化法 (Broyden fletcher goldfarb shann,BFGS)和有限内存局部优化法 (LBFGS)。

  这些算法有一个智能的内部循环,称为线性搜索(line search)算法,它可以自动尝试不同的学习速率 。只需要给这些算法提供计算导数项和代价函数的方法,就可以返回结果。适用于大型机器学习问题。

  它们太复杂,不应该自己实现,而是调用MATLAB方法。例如一个无约束最小值函数 fminunc 。它会使用众多高级优化算法中的一个,就像加强版的梯度下降法,自动选择学习速率,找到最佳的 Θ 值。

  使用时需要提供代价函数和每个参数的求导,我们自己实现 costFunction 函数,传入参数Θ,可以一次性返回以下两个值:

  例子,调用 fminunc() 函数,用@传入costFunction函数的指针,初始化的 theta,还可以增加 options(GradObj = on 指 “打开梯度目标参数”,即我们会给这个函数提供梯度参数):

6.7 多类别分类:一对多 Multiclass Classification_ One-vs-all

  参考视频: 6 - 7 - Multiclass Classification_ One-vs-all (6 min).mkv

  多分类问题中,y 有 {0,1...n} 一共 n+1 中可能值。方法:

  (1)拆分成  n+1 个二分类问题。

  (2)对每个分类,都预测出一个h(x)值。代表 y是这个类型的可能性。

  (3)最后结果为可能性最大的那个类型。

相关术语

decision boundary 决策边界
loophole 漏洞
nonlinear 非线性
penalize 使不利

原文地址:https://www.cnblogs.com/maxiaodoubao/p/9877303.html

时间: 2024-11-13 08:18:20

【原】Andrew Ng斯坦福机器学习(6)——Lecture 6_Logistic Regression的相关文章

【原】Andrew Ng斯坦福机器学习(5)——Lecture 5 Octave Tutorial—5.5 控制语句: for, while, if 语句

5.5 控制语句: for, while, if 语句 参考视频: 5 - 5 - Control Statements_ for, while, if statements (13 min).mkv 1.for 循环 通过 index 访问列向量 1 >> v = zeros(10,1) 2 v = 3 0 4 0 5 0 6 0 7 0 8 0 9 0 10 0 11 0 12 0 13 >> for i = 1 : 10, 14 v(i) = 2 ^ i; 15 end; 1

【原】Andrew Ng斯坦福机器学习Coursera 选择填空

Week 2 Gradient Descent for Multiple Variables [1]多变量线性模型  代价函数 Answer:AB [2]Feature Scaling 特征缩放 Answer:D [] Answer: [] Answer: [] Answer: [] Answer: [] Answer: [] Answer: [] Answer: [] Answer: [] Answer: [] Answer: [] Answer: [] Answer: [] Answer:

Andrew Ng Machine Learning 专题【Linear Regression】

此文是斯坦福大学,机器学习界 superstar - Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记. 力求简洁,仅代表本人观点,不足之处希望大家探讨. 课程网址:https://www.coursera.org/learn/machine-learning/home/welcome Week 3: Logistic Regression & Regularization 笔记:http://blog.csdn.net/ironyoung/ar

Andrew Ng的机器学习课程1(from coursera, 2014)

第一周:简介机器学习,有监督学习,无监督学习. 1-1 1-2 1-3 1-4 第二周: 2-1 2-2:介绍cost function定义. 2-3:在回归函数是一个经过原点的直线的情况下,演绎cost function最小化的计算. 2-4:在回归函数是一条直线时,通过等高线演绎cost function最小化的计算. 2-5:简介梯度下降算法,但没有介绍偏微分部分. 2-6:以目标函数是一个经过原点的函数为例演绎梯度下降算法. 2-7:结合线性回归假设和梯度下降算法,得到第一个机器学习算法

斯坦福机器学习

---title: 斯坦福机器学习-线性回归photos: - http://7xrw7v.com1.z0.glb.clouddn.com/bb2cf32cadac65e934ab587c5f456329.pngtags: - 斯坦福机器学习date: 2016-09-05 16:34:34--- 摘要: - 单变量线性回归- 代价函数- 梯 度 下 降- 学习率- 多 变 量 线 性 回 归- 特 征 缩 放- 多 项 式 回 归- 正 规 方 程 <!--more--> 不积跬步,无以至千

斯坦福机器学习实现与分析之一(前言)

自去年底开始学习Andrew Ng的机器学习公开课,欲依其课件试着实现部分算法以加深理解,然在此过程中遇到部分问题,或为程序实现,或为算法理解.故而准备将此课程整理,并记录自己的理解,或对或错可共同讨论. 此课程主要包括三部分:监督学习算法.无监督学习算法以及学习理论.监督学习部分讲了回归.生成学习算法与SVM:无监督学习则讲了K-means,MOG,EM,PCA,ICA以及增强学习等算法:学习理论则是讲解算法的评估,模型与特征的选择等方法.此处课程整理的顺序将与原讲义相同. 另外,考虑此处主要

Logistic回归Cost函数和J(θ)的推导----Andrew Ng【machine learning】公开课

最近翻Peter Harrington的<机器学习实战>,看到Logistic回归那一章有点小的疑问. 作者在简单介绍Logistic回归的原理后,立即给出了梯度上升算法的code:从算法到代码跳跃的幅度有点大,作者本人也说了,这里略去了一个简单的数学推导. 那么其实这个过程在Andrew Ng的机器学习公开课里也有讲到.现在回忆起来,大二看Andrew的视频的时候心里是有这么一个疙瘩(Andrew也是跳过了一步推导) 那么这里就来讲一下作者略去了怎样的数学推导,以及,怎么推导. 在此之前,先

斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感

课程设置和内容 视频课程分为20集,每集72-85分钟.实体课程大概一周2次,中间还穿插助教上的习题课,大概一个学期的课程. 内容涉及四大部分,分别是:监督学习(2-8集).学习理论(9集-11集).无监督学习(12-15集).强化学习(16-20集).监督学习和无监督学习,基本上是机器学习的二分法:强化学习位于两者之间:而学习理论则从总体上介绍了如何选择.使用机器学习来解决实际问题,以及调试(比如:误差分析.销蚀分析).调优(比如:模型选择.特征选择)的各种方法和要注意的事项(比如,避免过早优

斯坦福大学Andrew Ng - 机器学习笔记(1) -- 单变量&amp;多变量线性回归

大概用了一个月,Andrew Ng老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结.笔记难免有遗漏和误解,欢迎讨论. 鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢!