3. Linear Regression with Multiple Variables
前面还有一章主要讲解,基本的Linear Algebra线性代数的知识,都比较简单,这里就直接跳过了。
Speaker: Andrew Ng
1. Multiple featues
训练集的特征变成了多个,就是有多个的输入变量,对应一个
的输出变量,但仍然是线性的关系。

其中columns为 n 类特征,rows为 m 个samples,代表 i 个sample数据,
代表第 i 个sample数据的第 j 个特征的值。
接下来我们定义在多变量下的:
其中针对通常的情况认为为1,这里通过向量表示为:
那么
2. Gradient descent for multiple variable
下面来看一下多变量下梯度下降算法的定义:
Hypothesis :
Parameters : 共n+1个参数
Cost Function :
Gadient Descent :
Repeat {
simultaneously update for every
}
原来单变量的梯度下降算法与现在对变量的梯度下降算法比较,最关键的就是一定要同时进行更新。

3. Gradient descent in practice I : Feature Scaling
这部分主要讲解Feature Scaling特征尺度对于梯度下降算法的影响。

如果对于sample中的不同特征所处的范围差异很大,就像左图所示,那么使用梯度下降算法需要很长的时间才能找到局部最优解。
如果对于sample中的特征尺度进行数据标准化处理,例如把特征值处理到-1到1的范围内,那么梯度下降算法找寻局部最优解的时间就会大大减少。
在PPT中数据标准化的处理方法如下,,其中
是range (max-min) , 或者是
的标准差Standard Deviation.

其他的数据标准化处理搜索可以找到很多,这里
4. Gadient descent in pratice II : Learing rate
梯度下降:
怎样保证梯度下降算法是正确在运行的,如何去选择一个合适的Learning Rate。

梯度下降算法收敛所需要的迭代次数是根据不同的模型而不同,通过绘制代价函数和迭代次数的关系图,或是把代价函数的变化值同阈值作比较,例如0.001,来判断收敛。

梯度下降算法还受到Learnin rate的影响,如果过小,收敛速度会非常慢,需要迭代很多次,如果
过大,迭代可能使代价函数不收敛跳过局部最优值。
通常可以尝试以下的Learning rate: ..., 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1, ...
5. Features and polynomial regression
这里讲解多项式回归。对于线性回归可能并不能应用到所有数据,有些模型可能需要曲线来进行回归。比如Quadratic二次或Cubic三次模型。
例如: 以及下图所示

我们可以令,这样又变成了线性回归模型。当采用梯度下降时候,要记得进行特征尺度变换。
6. Normal equation
Normal equation是从线性代数的角度来求解方程,找到代价函数最小的参数,即求解
即希望,那么我们的训练矩阵为
,训练集结果为
,那么可以进行如下推导:
(两边同乘以
化为方阵)
(两边同乘以
)
即。
这里需要注意的是,可能是奇异矩阵、不可逆矩阵,一般使用Matlab或Octave时候使用pinv伪逆来进行计算。
如果遇到不可逆,我们可以考虑精简特征表示,或者特征太多(m <= n) ,而sample比较少,那么考虑删除特征,或者采用Regularization方式。
下面是对梯度下降算法和Normal equation的方法进行对比:

| Gradient Descent | Normal Equation |
| 需要选择合适的Learning rate | 不需要设置参数 |
| 需要多次迭代Iteration | 一次运算得到结果 |
|
可以适用于特征数量n很大的情况 |
如果特征数量n很大,运算时间代价就会很大, 因为矩阵逆的计算时间复杂度为O(n^3) 通常来说对于n小于10000可以考虑使用Normal Equation |
|
适用于各种类型的模型 |
适用于线性模型,不适合逻辑回归模型或一些其他模型 |
参考:
http://files.cnblogs.com/gyj0715/courseramlnotes.pdf
http://www.cnblogs.com/elaron/archive/2013/05/20/3088894.html
3. Linear Regression with Multiple Variables的更多相关文章
- Linear regression with multiple variables(多特征的线型回归)算法实例_梯度下降解法(Gradient DesentMulti)以及正规方程解法(Normal Equation)
,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, , ...
- Machine Learning – 第2周(Linear Regression with Multiple Variables、Octave/Matlab Tutorial)
Machine Learning – Coursera Octave for Microsoft Windows GNU Octave官网 GNU Octave帮助文档 (有900页的pdf版本) O ...
- 机器学习(三)--------多变量线性回归(Linear Regression with Multiple Variables)
机器学习(三)--------多变量线性回归(Linear Regression with Multiple Variables) 同样是预测房价问题 如果有多个特征值 那么这种情况下 假设h表示 ...
- 【原】Coursera—Andrew Ng机器学习—Week 2 习题—Linear Regression with Multiple Variables 多变量线性回归
Gradient Descent for Multiple Variables [1]多变量线性模型 代价函数 Answer:AB [2]Feature Scaling 特征缩放 Answer:D ...
- 机器学习 (二) 多变量线性回归 Linear Regression with Multiple Variables
文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang 的个人 ...
- 机器学习之多变量线性回归(Linear Regression with multiple variables)
1. Multiple features(多维特征) 在机器学习之单变量线性回归(Linear Regression with One Variable)我们提到过的线性回归中,我们只有一个单一特征量 ...
- ML:多变量代价函数和梯度下降(Linear Regression with Multiple Variables)
代价函数cost function 公式: 其中,变量θ(Rn+1或者R(n+1)*1) 向量化: Octave实现: function J = computeCost(X, y, theta) %C ...
- 机器学习笔记-1 Linear Regression with Multiple Variables(week 2)
1. Multiple Features note:X0 is equal to 1 2. Feature Scaling Idea: make sure features are on a simi ...
- 斯坦福机器学习视频笔记 Week2 多元线性回归 Linear Regression with Multiple Variables
相比于week1中讨论的单变量的线性回归,多元线性回归更具有一般性,应用范围也更大,更贴近实际. Multiple Features 上面就是接上次的例子,将房价预测问题进行扩充,添加多个特征(fea ...
- #Week3 Linear Regression with Multiple Variables
一.Multiple Features 这节课主要引入了一些记号,假设现在有n个特征,那么: 为了便于用矩阵处理,令\(x_0=1\): 参数\(\theta\)是一个(n+1)*1维的向量,任一个训 ...
随机推荐
- LessonStrangeWords7
capacity 容量 measurement n. 度量 per 每一 analog 模拟的 continuous 连续的 one-lane 单车道 external 外部的 asynchronou ...
- wpf 中用 C# 代码创建 PropertyPath ,以对间接目标进行 Storyboard 动画.
如图,一个 Rectangle 一个 Button ,点击按钮时要通过动画完成对 Rectangle填充色的渐变动画. Xaml: 1 <Window 2 x:Class="WpfAp ...
- 诸葛 VS 庞统,拿下 Paxos 共识算法
前言 分布式确实是一个有趣的话题,只要你留心观察,分布式在生活中无处不在. 悟空哥最开始学习分布式是从一篇非常用心写的技术征文开始的,而且这篇文章获得了征文第一名,在此感谢掘金社区提供的平台.想学习的 ...
- 【Linux】用yum来下载rpm,而不安装
方法一:yum yum命令本身就可以用来下载一个RPM包,标准的yum命令提供了--downloadonly(只下载)的选项来达到这个目的. $ sudo yum install --download ...
- 【Linux】saltstack 安装及简单使用
准备三台server,一台为master(10.96.20.113),另两台为minion(10.96.20.117,10.96.20.118) 主机名(master.minion1.minion2) ...
- leetcode 357. 计算各个位数不同的数字个数(DFS,回溯,数学)
题目链接 357. 计算各个位数不同的数字个数 题意: 给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n . 示例: 输入: 2 输出: 91 解释: 答 ...
- ctfshow——web_AK赛
签到_观己 从题目描述中没发现什么有用的信息 发现文件包含 尝试使用PHP伪协议执行命令,发现无法执行 尝试使用远程文件包含,发现也未开启 尝试使用日志注入 记录了UA值,抓包写入一句话木马 使用蚁剑 ...
- Ubuntu创建桌面图标
以火狐为例 创建"~/.local/share/applications/firefox_dev.desktop"文件, 文件内容为: [Desktop Entry] Name=F ...
- 小白也能看懂的ACID与隔离级别
前言 现如今JAVA开发工程师的数量越来越多,但大多数工程师平时做的工作都是简单的CRUD,当你一直处于这种舒适的环境中不追求进步的时候,如果哪一天你突然想要改变环境,换个工作,去与面试官当面聊技术的 ...
- error Unexpected use of comma operator no-sequences解决过程
error Unexpected use of comma operator no-sequences解决过程 报错内容: ERROR in ./pages/course/_id.vue friend ...