Multiple Features

上一章中,hθ(x) = θ0 + θ1x,表示只有一个 feature。现在,有多个 features,所以 hθ(x) = θ0 + θ1x1 + θ2x2 + ... + θjxj。
为了标记的方便,增加 x= 1

用向量表示

这里的 X 表示单行 Xi。如果是表示所有的 hθ(x),就会 X * θ(X 表示所有 x 的值)

Gradient Descent For Multiple Features 也是同理,扩展到 j 个,就不再赘述。

Gradient Descent in Practice - Feature Scaling

逻辑是:确保所有的 features 在同一尺度。尺度理解为相差不超过 10 倍或者百倍。

Features 的范围越小,总的可能性就越小,计算速度就能加快。

Dividing by the range

通过 feature/range 使每个 feature 大概在 [-1, 1] 的范围内

下题是一个例子:

Mean normalization

将值变为接近 0。除了 x0,因为 x的值为 1。

mu1 是 average value of x1 in trainning sets;

S是 x1 的范围大小,比如卧室是 [0, 5],那么范围为 5 - 0 = 5。也可以设置成标准差(在练习中就是这个)

需要将 x0 排除。

确保 gradient descent 工作正确

如上图,这个图像是正确的,随着循环次数的增加,J(θ) 主键减小。超过一定循环次数之后,J(θ) 曲线趋于平缓。可以根据图像得出什么时候停止,或者当每次循环,J(θ) 的变化小于 ε 时停止。

图像上升

说明 α 取值大了,应该减小。上图的图像另一种观看方式:

如果 α 足够小,那么能缓慢但完全覆盖。

如果 α 太大:在每次循环时,可能不会减少从而不能完全覆盖。

可以由程序来自动选择,后面会提到。

Features and polynomial regression

可以使用自定义的 features 而不是完全照搬已存在的 features。比如房子有长宽两个属性,我们可以创建一个新属性--面积。然后,表达式变成

,但是这个曲线是先减小后增大的,与实际数据不符(面积越大,总价越高)。所以调整为

(可以调整表达式直到符合数据为止)。

Normal equation

Gradient Descent 随着循环次数增加,逐步逼近最小值。如图:

Normal equation 是通过方法直接计算出 θ

导数为 0 时最小

然后解出 θ0 到 θn

求解 θ 的方程

Matrix 概念见 Machine Learning - week 1

什么时候用 Gradient Descent 或者 Normal Equation

当 n 较大时,右边的会很慢,因为计算  是 O(n3)

当 n 小的时候,右边会更快,因为它是直接得出结果,不需要 iterations 或者 feature scaling。

如果  是 non-invertible?

1. Redundant features (are not linearly independent).

E.g. x1 = size in feet2; x2 = size in m2

2. Too many features(e.g. m <= n)

比如 m = 10, n = 100,意思是你只有 10 个数据,但有 100 个 features,显然,数据不足以覆盖所有的 features。

可以删除一些 features(只保留与数据相关的 features)或者使用 regularization。

习题

1. 

不知道如何同时使用两种方法,这两种方法是否是顺序相关的?

使用 Dividing by the range

range = max - min = 8836 - 4761 = 4075

vector / range 后变为

1.9438
1.2721
2.1683
1.1683

对上述使用 mean normalization

avg = 1.6382

range =  2.1683 - 1.1683 = 1

x2(4) = (1.1683 - 1.6382) / 1 = -0.46990 保留两位小数为 -0.47

5. 

上面提到了“Features 的范围越小,总的可能性就越小,计算速度就能加快。”(多选题也可以单选)

Octave Tutorial

介绍了 Octave 的常用语法。

Vectorization

使用 vectorization 会比 for loop 更加高效。

例子

更复杂的例子

怎样把 delta vectorized 还没有理解。整体思想了解了。

Octave arithmetic operators 有一些不符合你的直觉。

比如 ^ 与 .^

X =

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

octave:80> X .^ 2

ans =

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

1   1   1   1   1   1   1

octave:81> X ^ 2

ans =

7   7   7   7   7   7   7

7   7   7   7   7   7   7

7   7   7   7   7   7   7

7   7   7   7   7   7   7

7   7   7   7   7   7   7

7   7   7   7   7   7   7

7   7   7   7   7   7   7

Machine Learning - week 2 - Multivariate Linear Regression的更多相关文章

  1. machine learning(14) --Regularization:Regularized linear regression

    machine learning(13) --Regularization:Regularized linear regression Gradient descent without regular ...

  2. Andrew Ng 的 Machine Learning 课程学习 (week2) Linear Regression

    这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...

  3. Machine Learning 学习笔记2 - linear regression with one variable(单变量线性回归)

    一.Model representation(模型表示) 1.1 训练集 由训练样例(training example)组成的集合就是训练集(training set), 如下图所示, 其中(x,y) ...

  4. [Machine Learning] 单变量线性回归(Linear Regression with One Variable) - 线性回归-代价函数-梯度下降法-学习率

    单变量线性回归(Linear Regression with One Variable) 什么是线性回归?线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方 ...

  5. Multivariate Linear Regression

    Multiple Features Linear regression with multiple variables is also known as "multivariate line ...

  6. Note for video Machine Learning and Data Mining——Linear Model

    Here is the note for lecture three. the linear model Linear model is a basic and important model in ...

  7. 转载 Deep learning:三(Multivariance Linear Regression练习)

    前言: 本文主要是来练习多变量线性回归问题(其实本文也就3个变量),参考资料见网页:http://openclassroom.stanford.edu/MainFolder/DocumentPage. ...

  8. Andrew Ng 的 Machine Learning 课程学习 (week3) Logistic Regression

    这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...

  9. Machine Learning in Action(4) Logistic Regression

    从这节算是开始进入“正规”的机器学习了吧,之所以“正规”因为它开始要建立价值函数(cost function),接着优化价值函数求出权重,然后测试验证.这整套的流程是机器学习必经环节.今天要学习的话题 ...

随机推荐

  1. hdu 5294 Tricks Device 最短路建图+最小割

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=5294 Tricks Device Time Limit: 2000/1000 MS (Java/Other ...

  2. nginx只允许域名访问,禁止ip访问

    背景:为什么要禁止ip访问页面呢?这样做是为了避免其他人把未备案的域名解析到自己的服务器IP,而导致服务器被断网,我们可以通过禁止使用ip访问的方法,防止此类事情的发生. 解决方法:这里介绍修改配置文 ...

  3. Pattern Recognition and Machine Learning 模式识别与机器学习

    模式识别(PR)领域:     关注的是利⽤计算机算法⾃动发现数据中的规律,以及使⽤这些规律采取将数据分类等⾏动. 聚类:目标是发现数据中相似样本的分组. 反馈学习:是在给定的条件下,找到合适的动作, ...

  4. 【private HibernateTemplate template;】 的作用

    [private HibernateTemplate template;] 的作用 这个是在spring中定义了一个bean,它是org.springframework.orm.hibernate3. ...

  5. 你被美国监控了,美国监控丑闻——"棱镜项目"事件

    http://www.ittime.com.cn/index.php?m=content&c=index&a=show&catid=29&id=3795 “棱镜”项目所 ...

  6. STM32 通用T2、T3、T4、T5定时器详解

    定时器初始化配置 void TIM3_Configuration(void)//1MS { TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure; TIM_DeI ...

  7. sqlserver获取当月、年的第一天和最后一天

    -- 当月第一天select dateadd(month, datediff(month, 0, getdate()), 0) -- 当月最后一天(思路:下月的第一天减去一天)select datea ...

  8. [k8s]openshiftv1.5.1安装笔记

    centos7安装 net.ifnames=0 biosdevname=0 初始化系统 yum install wget -y wget -O /etc/yum.repos.d/CentOS-Base ...

  9. 图像视频编码和FFmpeg(2)-----YUV格式介绍和应用

    本文不讲FFmpeg,而是讲YUV图像格式.因为摄像头拍摄出来的原始图像一般都是YUV格式.在FFmpeg中,视频是通过多张YUV图像而得到. YUV图像格式是什么,这个可以看一下维基百科.这个超链接 ...

  10. css制作的各种图形

    1.六角形的制作: 代码: #star-six{ height:0; width:0; border-bottom:100px solid red; border-left: 50px solid t ...