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. 【BIEE】19_不齐整维和越级维

    不齐整维:没有子节点的维度 越级维:层级维度出现断裂,则称为越级维 下图我们就可以清晰的看出: 首先,我们将表导入到资料库做好与事实表的关联后并建立相应维 以下是按照一般维度创建维后的结果 创建完成之 ...

  2. 【Nginx】核心模块ngx_events_module

    核心模块ngx_events_module是一个专门用于管理事件模块的模块. 它的实现非常easy.以下是该模块的定义: ngx_module_t ngx_events_module = { NGX_ ...

  3. 轻量级代码生成器-OnlyCoder 第一篇

    程序猿利器:代码生成器,使用代码生成器已经好几年了,增删改查各种生成,从UI到DATA层均生成过.之前有使用过动软的,T4模板等....  T4生成实体还是没有问题的,但是生成MVC视图就有点烦杂了, ...

  4. Windows RabbitMQ 添加用户、设置角色和权限 (包含无法添加的错误处理)

    添加账号密码 rabbitmqctl.bat add_user test 123456 添加角色 rabbitmqctl.bat set_user_tags test administrator 授权 ...

  5. HTTP协议--cookie、session、缓存与代理

    1 Cookie和 Session Cookie和 Session都为了用来保存状态信息,都是保存客户端状态的机制,它们都是为了解决 HTTP无状态的问题而所做的努力. Session可以用 Cook ...

  6. 轻松学习JavaScript十四:JavaScript的RegExp对象(正則表達式)

    一RegExp对象概述 RegExp对象表示正則表達式,RegExp是正則表達式的缩写.它是对字符串运行模式匹配的强大工具. RegExp 对象用于规定在文本中检索的内容. 当您检索某个文本时.能够使 ...

  7. 通过 P3P规范让IE跨域接受第三方cookie session

    所谓第三方 cookie,就是说你访问网页 A,却接收到域名 B 的 cookie 设定指令.这可能是由于网页 A 请求或链接了 B 的网页,比如上面提到的 iframe 以及 jsonp. 我查到了 ...

  8. iOS SDK具体解释之NSCopying协议

    原创blog,转载请注明出处 http://blog.csdn.net/hello_hwc?viewmode=contents 欢迎关注我的iOS SDK具体解释专栏 http://blog.csdn ...

  9. java - day12 - InteraceTest

    接口的实现.继承等 package test.interfacedemo; import test.interfacedemo.Inter; public class InterfaceDemo { ...

  10. Window安装Anaconda后,conda不是内部或者外部命令

    今天在安装Theano的时候,需要看一下,anaconda已经安装了哪些包.使用命令如下,在控制台,cmd回车输入即可: conda list 但是,显示出错,“conda不是内部或者外部命令”,第一 ...