Deep Learning Specialization on Coursera
NLPJob

标签热度

机器学习 coursera 斯坦福大学 公开课 斯坦福 深度学习 自然语言处理 python 数据科学 andrew ng 数学 nlp 数据分析 数据挖掘 神经网络 大数据 计算机科学 英语 deep learning 统计学 算法 课件 数据可视化 机器学习公开课 机器学习笔记 google 机器学习视频 计算机 推荐系统 数据结构 商业 r语言 java 密码学 udacity 金融 免费电子书 电子书 公开课笔记 计算机视觉 商务英语 学术英语 python数据可视化 机器学习课程 机器人 ted 文本挖掘 r 视频 java编程 回归模型 excel 深度学习课程 mysql cousera公开课 统计 大数据公开课 ted公开课 ted演讲 线性回归 mit 概率图模型 领导力 金融市场 tensorflow 学习英语 物联网 大数据专项课程 python入门 大数据课程 英语写作 英语学习 算法课程 强化学习 高级机器学习 kaggle 文本分析 机器学习资料 函数式编程 scala 游戏设计 cousera 机器学习系统 机器人公开课 开源代码 人工智能 普林斯顿大学 machine learning 线性代数 代价函数 软件工程 javascript 伯克利 市场营销 财务会计 沃顿商学院 网页开发 网站开发 web开发 网络安全 python数据科学 商业分析 非对称密码学 对称密码学 应用密码学 大规模数据科学 英语听说 概率 机器学习基石 python机器学习 算法公开课 源代码 数学思维 社交网络分析 微积分公开课 杜克大学 机器学习公开课视频 公开课视频 coursera公开课视频 coursera公开课 贝叶斯 信息论 离散数学 宾夕法尼亚大学 neural networks 伯克利大学 密歇根大学 成本函数 梯度下降 云计算 编译器 自动机 cs101 daphne koller spark 软件 管理 会计 英语交流 商业策略 风险管理 资产管理 地理信息系统 gis 卷积神经网络 面向对象编程 序列模型 移动应用开发 数据库 计算机通信 敏捷开发 高级商务分析 商务分析 商务英语课程 c语言 数据管理 投资 计算原理 计算基础 推荐系统导论 学术英语写作 android应用开发 android开发 android 机器人课程 机器人学 数据科学竞赛 yandex 深度学习公开课 深度学习书籍 数据集 机器学习资源 分布式 微积分 大规模机器学习系统 统计推断 数据科学公开课 游戏 数学思维公开课 机器学习课件 数学公开课 微积分公开课视频 微积分公开课下载 mit微积分 mit公开课 龙星计划 神经网络公开课 coursera视频 斯坦福公开课 windows ios udacity公开课 无人驾驶汽车 人机交互公开课 人机交互 正则化 过拟合 逻辑回归 模型思维 网易公开课 acl net 逻辑 cmu 情感分析 我爱公开课 引言 普林斯顿 经济 saas 52opencourse 逻辑导引 图模型 chirs manning dan jurafsky ppt 时间序列 go语言课程 go语言 工程师 语法 区块链基础 区块链 软件开发 商务基础 运营管理 商务 机器学习实战 数据系统 投资管理 swift 计算机安全与系统管理 系统管理 计算机安全 seo策略 seo工具 seo 组织领导力 css3 html5 会计基础 c sharp 英语沟通 并发 并行 全栈开发 数据仓库 商业智能 投资策略 金融基础 数据工程 python零基础 安全系统 现代密码学 硬件安全 软件安全 网络安全基础 递归神经网络 信息检索 云计算网络 云计算应用 云计算基础 云计算概念 分组交换网络 局域网 创意写作 写作 数学基础 台湾大学 基因序列 生物信息学 斯坦福算法课程 软件架构 软件设计 java程序设计 r语言基础 图论 组合数学 python数据表示 python基础 深度学习专项课程 游戏设计与开发 游戏开发 游戏设计概念 游戏设计艺术 angular 恐龙古生物学 恐龙 古生物学 推荐系统评价 jquery 英语语法 c# 高级算法 算法专项 iot python专项课程 python入门课程 商务英语交流技巧 商务英语交流 python社交网络分析 python文本挖掘 机器学习专项 金融价值 金融决策 金融公开课 数据结构与算法 大数据机器学习 大数据分析 商业与金融建模 金融建模 c++ 学术英语听说 数据分析工具 编程入门 编程 编程基础 算法思维 计算机基础 秘钥管理 hdfs 数据工程师 hive 3d交互设计 3d建模 虚拟现实 vr 洛桑联邦理工学院 函数式编程入门 数据科学课程 数据科学专项课程 学术英语课程 学术英语写作课程 斯坦福算法专项课程 斯坦福算法 python数据分析 英文简历 英文面试 英文写作 贝叶斯方法 商业分析技术 大数据建模 数据获取 数据清洗 文本挖掘课程 聚类分析 python公开课 python课程 主成分分析 深度学习资料 词意消歧 词义消歧 推荐系统入门 python书籍 机器学习算法 数据结构课程 图像处理 贝叶斯方法实战 深度学习源代码 sibyl p2p 机器学习书籍 数据结构资料 凸优化 推荐系统入门资料 数据科学导论 可视化 机器学习开源工具包 jane mcgonigal 公开课社区 挖课 courseminer 文本情感分析 多变量微积分 社会计算 数学分析公开课 概率图模型公开课 百度 吴恩达 香港科技大学 函数式语言 scala公开课 class2go coursera无法连接 coursera打不开 keith devlin 数学思维简介 社交网络 余凯 张潼 机器人视频 robert sedgewick 算法上 多伦多大学 莱斯大学 华盛顿大学 佐治亚理工学院 神经网络视频 矩阵 coursera在线视频

Text Summarization

Keyword Extraction

Text Processing

Word Similarity

Best Coursera Course

Best Coursera Courses

Elastic Patent

+8 投票

斯坦福大学机器学习第四课"多变量线性回归“学习笔记,本次课程主要包括7部分:

1) Multiple features(多维特征)

2) Gradient descent for multiple variables(梯度下降在多变量线性回归中的应用)

3) Gradient descent in practice I: Feature Scaling(梯度下降实践1:特征归一化)

4) Gradient descent in practice II: Learning rate(梯度下降实践2:步长的选择)

5) Features and polynomial regression(特征及多项式回归)

6) Normal equation(正规方程-区别于迭代方法的直接解法)

7) Normal equation and non-invertibility (optional)(正规方程在矩阵不可逆情况下的解决方法)

以下是每一部分的详细解读:

1) Multiple features(多维特征)

第二课中我们谈到的是单变量的情况,单个特征的训练样本,单个特征的表达式,总结起来如下图所示:

单变量线性回归示例-我爱公开课-52opencourse.com

对于多维特征或多个变量而言:以房价预测为例,特征除了“房屋大小外”,还可以增加“房间数、楼层数、房龄”等特征,如下所示:

多维特征房价预测问题-我爱公开课-52opencourse.com

定义:

    n = 特征数目

    \(x^{(i)}\)= 第i个训练样本的所有输入特征,可以认为是一组特征向量

    \(x_j^{(i)}\) = 第i个训练样本第j个特征的值,可以认为是特征向量中的第j个值

对于Hypothesis,不再是单个变量线性回归时的公式:\(h_\theta(x)=\theta_0 + \theta_1 x\)

而是:

\[h_\theta(x)=\theta_0 + \theta_1 x_1 + \theta_2 x_2 + ... + \theta_n x_n\]

为了方便,记\(x_0\) = 1,则多变量线性回归可以记为: 

\[h_\theta(x)=\theta^Tx\]

其中\(\theta\)和x都是向量。

 

2) Gradient descent for multiple variables(梯度下降在多变量线性回归中的应用)

对于Hypothesis: 

\[h_\theta(x)=\theta^Tx=\theta_0 + \theta_1 x_1 + \theta_2 x_2 + ... + \theta_n x_n\]

其中参数:\(\theta_0\), \(\theta_1\),...,\(\theta_n\)可表示为n+1维的向量  \(\theta\)

对于Cost Function: 

\[J(\theta) = J(\theta_0, \theta_1, ... ,\theta_n) = \frac{1}{2m}\sum_{i=1}^m{(h_\theta(x^{(i)}) - y^{(i)})^2}\]

梯度下降算法如下:

多变量线性回归梯度下降算法-我爱公开课-52opencourse.com

对\(J(\theta)\)求导,分别对应的单变量和多变量梯度下降算法如下:

当特征数目为1,也就是n=1时:

单变量线性回归梯度下降-我爱公开课-52opencourse.com

当特征数目大于1也就是n>1时,梯度下降算法如下:

多变量线性回归梯度下降-我爱公开课-52opencourse.com

 

3) Gradient descent in practice I: Feature Scaling(梯度下降实践1:特征归一化)

核心思想:确保特征在相似的尺度里。

例如房价问题:

特征1:房屋的大小(0-2000);

特征2:房间数目(1-5);

特征归一化之一-我爱公开课-52opencourse.com

简单的归一化,除以每组特征的最大值,则:

特征归一化之二-我爱公开课-52opencourse.com

 

目标:使每一个特征值都近似的落在\(-1\leq x_i \leq 1\)的范围内。

举例:因为是近似落在这个范围内,所以只要接近的范围基本上都可以接受,例如:

0<=x1<=3, -2<=x2<=0.5, -3 to 3, -1/3 to 1/3 都ok;

但是:-100 to 100, -0.0001 to 0.0001不Ok。

Mean Normalization(均值归一化):

用\(x_i - \mu_i\)替换\(x_i\)使特征的均值近似为0(但是不对\(x_0=1\)处理),均值归一化的公式是:

\[x_i \leftarrow \frac{x_i - \mu_i} {S_i}\]

其中\(S_i\)可以是特征的取值范围(最大值-最小值),也可以是标准差(standard deviation).

对于房价问题中的两个特征,均值归一化的过程如下:

均值归一化-我爱公开课-52opencourse.com

 

4) Gradient descent in practice II: Learning rate(梯度下降实践2:步长的选择)

对于梯度下降算法:

梯度下降算法-learning rate-我爱公开课-52opencourse.com

需要注意两点:

-"调试”:如何确保梯度下降算法正确的执行;

-如何选择正确的步长(learning rate):  \(\alpha\);

第二点很重要,它也是确保梯度下降收敛的关键点。要确保梯度下降算法正确运行,需要保证 \(J(\theta)\)在每一步迭代中都减小,如果某一步减少的值少于某个很小的值 \(\epsilon\) , 则其收敛。例如:

J_tetha_梯度下降收敛例子-我爱公开课-52opencourse.com

如果梯度下降算法不能正常运行,考虑使用更小的步长\(\alpha\),这里需要注意两点:

1)对于足够小的\(\alpha\),  \(J(\theta)\)能保证在每一步都减小;

2)但是如果\(\alpha\)太小,梯度下降算法收敛的会很慢;

总结:

1)如果\(\alpha\)太小,就会收敛很慢;

2)如果\(\alpha\)太大,就不能保证每一次迭代\(J(\theta)\)都减小,也就不能保证\(J(\theta)\)收敛;

如何选择\(\alpha\)-经验的方法:

..., 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1...

约3倍于前一个数。

5) Features and polynomial regression(特征及多项式回归)

例子-房价预测问题:

房价预测问题-多项式回归-我爱公开课-52opencourse.com

特征\(x_1\)表示frontage(正面的宽度),特征\(x_2\)表示depth(深度)

同时\(x_1, x_2\)也可以用一个特征表示:面积 Area = frontage * depth

即 \(h_\theta(x) = \theta_0 + \theta_1x\) , x表示面积。

多项式回归:

很多时候,线性回归不能很好的拟合给定的样本点,例如:

所以我们选择多项式回归:

多项式回归公式-我爱公开课-52opencourse.com

对于特征的选择,除了n次方外,也可以开根号,事实上也是1/2次方:

多项式回归特征选择-我爱公开课-52opencourse.com

6) Normal equation(正规方程-区别于迭代方法的直接解法)

相对于梯度下降方法,Normal Equation是用分析的方法直接解决\(\theta\).

正规方程的背景:

在微积分里,对于1维的情况,如果\(\theta\) 属于R:

\[J(\theta) = a\theta^2 + b\theta + c\]

求其最小值的方法是令:

\[\frac{d}{d\theta}J(\theta) = ...=0\]

然后得到\(\theta\).

微积分求导-我爱公开课-52opencourse.com

 

同理,在多变量线性回归中,对于\(\theta \in R^{n+1}\),Cost Function是:

cost function-我爱公开课-52opencourse.com

求取\(\theta\)的思路仍然是:

求导-cost function-我爱公开课-52opencourse.com

对于有4组特征(m=4)的房价预测问题:

房价预测问题-我爱公开课-52opencourse.com

其中X 是m * (n+1)矩阵:

X-特征矩阵-我爱公开课-52opencourse.com

y是m维向量:
y_向量-我爱公开课-52opencourse.com

则Normal equation的公式为:

\[\theta = (X^T X)^{-1}X^T y\]

注:这里直接给出了正规方程的公式,没有给出为什么是这样的,如果想知道原因,建议看看MIT线性代数 第4章4.3节“最小二乘法”的相关内容,这里面最关键的一个点是:

“The partial derivatives of \(||Ax - b||^2 \) are zero when \(A^TA x = A^Tb\).

 

举例可见官方的PPT,此处略;

Octave公式非常简洁:pinv(X' * X) * X' * y

对于m个样本,n个特征的问题,以下是梯度下降和正规方程的优缺点:

梯度下降:

需要选择合适的learning rate \(\alpha\);

需要很多轮迭代;

但是即使n很大的时候效果也很好;

Normal Equation:

不需要选择\(\alpha\);

不需要迭代,一次搞定;

但是需要计算\((X^TX)^{-1}\),其时间复杂度是\(O(n^3)\)

如果n很大,就非常慢

 

7) Normal equation and non-invertibility (optional)(正规方程在矩阵不可逆情况下的解决方法)

对于Normal Equation,如果\(X^TX\) 不可逆怎么办?

1) 去掉冗余的特征(线性相关):

例如以平方英尺为单位的面积x1,  和以平方米为单位的面积x2,其是线性相关的:

\(x_1 = (3.28)^2  x_2\)

2) 过多的特征,例如m <= n: 

删掉一些特征,或者使用regularization--之后的课程会专门介绍。

 

参考资料:

以下是第四课“多变量线性回归”的课件资料下载链接,视频可以在Coursera机器学习课程上观看或下载: https://class.coursera.org/ml
PPT   PDF
 
另外关于第三课“线性代数回顾”,由于课程内容相对简单,没有以笔记的形式呈现,而是换了一种写法,具体可参考:  线性代数的学习及相关资源
 
不过大家仍可从以下链接下载官方第三课的相关课件:
PPT   PDF
 
如转载52opencourse上的任何原创文章,请务必注明出处,谢谢!
分类:机器学习 | 用户: (3.2k 分)
修改于 用户:
非常好

登录 或者 注册 后回答这个问题。

...