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. php中的 file_get_contents(‘php://input’)用法

    php中的 file_get_contents('php://input')用法: file_get_contents 获取php页面中input内容的值: eg: php: 页面提交了usernam ...

  2. atitit.MyEclipse10 中添加svn插件故障排除

    atitit.MyEclipse10 中添加svn插件故障排除 删除\configuration \org.eclipse.update 不行... 二. 在configuration下的config ...

  3. #1214 - The used table type doesn't support FULLTEXT indexes解决办法

    #1214 - The used table type doesn't support FULLTEXT indexes报此错误的原因是:InnoDB不支持FULLTEXT类型的索引. 网上的解决办法 ...

  4. 也谈隐藏盘符等windows 的管理员的策略实现

    网上的文章都知道在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer 文件夹下有控制隐藏驱动器 ...

  5. shell实现洗牌随机

    洗牌问题: 洗一副扑克,有什么好办法?既能洗得均匀,又能洗得快?即相对于一个文件来说怎样 高效率的实现乱序排列? 关于洗牌问题,其实已经有了一个很好的shell解法,这里另外给三个基于AWK的方法, ...

  6. Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程)(转载)

    win7(win10也适用)系统安装GPU/CPU版tensorflow Win10 Anaconda下TensorFlow-GPU环境搭建详细教程(包含CUDA+cuDNN安装过程) 目录 2.配置 ...

  7. Yarn源码分析之MRAppMaster上MapReduce作业处理总流程(一)

    我们知道,如果想要在Yarn上运行MapReduce作业,仅需实现一个ApplicationMaster组件即可,而MRAppMaster正是MapReduce在Yarn上ApplicationMas ...

  8. linux虚拟文件系统vfs

    linux可以挂载不同的文件系统(EXT2,FAT,NTFS),用同一的样式呈现给用户,读写操作用起来都一样,这是怎样做到的呢? linux内核在各种不同的文件系统格式上做了一个抽象层,使得文件.目录 ...

  9. BitMap、Geo、HyperLogLog

    前言 Reids 在 Web 应用的开发中使用非常广泛,几乎所有的后端技术都会有涉及到 Redis 的使用.Redis 种除了常见的字符串 String.字典 Hash.列表 List.集合 Set. ...

  10. [已解决]window下Can't connect to MySQL server on 'localhost' (10061)与无法启动MYSQL服务”1067 进程意外终止”

    查了一圈,发现都解决不了我的问题,查了 window 系统日志,提示缺少了某些文件,文件怎么丢的我也不知道,以下是解决办法. -- 我的 mysql 版本为 5.6.x 压缩包版本,我的 mysql ...