Andrew Ng Machine Learning 专题【Linear Regression】
此文是斯坦福大学,机器学习界 superstar — Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记。
力求简洁,仅代表本人观点,不足之处希望大家探讨。
课程网址:https://www.coursera.org/learn/machine-learning/home/welcome
Week 3: Logistic Regression & Regularization 笔记:http://blog.csdn.net/ironyoung/article/details/47398843
Week 2:Linear Regression with Multiple Variables
- Multivariate Linear Regression
- Week 1 讨论仅一个特征,即仅有一个未知量x 影响了目标y 的取值。
假设如今有非常多特征?如今我们有x 1 ,x 2 ...x n 影响了目标y 的取值。
- 此时须要区分的是变量标记规则:
- x i 表示的是第i 个特征
- x (i) 表示的是第i 个样本,一个样本是由多个特征组成的列向量
- 比如:x (2) =[x (2) 1 ,x (2) 2 ,x (2) 3 ,...,x (2) n ] T
- 综上,我们有h θ (x)=θ 0 +θ 1 ∗x 1 +θ 2 ∗x 2 +...+θ n ∗x n 。能够视为。每一个样本都多出一个特征:x 0 =1 ,这样表示有利于之后的矩阵表示
- Week 1 讨论仅一个特征,即仅有一个未知量x 影响了目标y 的取值。
多变量梯度下降法:
样本一共同拥有m个
cost function:J(θ 0 ,θ 1 )=12m ∑ i=1 m (h θ (x (i) )−y (i) ) 2
update:θ j :=θ j −α1m ∑ i=1 m ((h θ (x (i) )−y (i) )∗x (i) j )Feature Scaling(特征缩放)
- 非常easy。就是将每种特征的数据范围限定在同一个数量级。比如x 1 ∈[0,2000],x 2 ∈[1,5] ,这样会导致迭代次数过多。这时候,假设我们找到一种mapping方式,使得两者属于同一个数量级的范围内,能够有效减少迭代次数
- 注意:无法减少单次的迭代时间。可是却能有效地减少迭代次数
- 事实上方法非常多,这有一种:x=x−mean(x)max(x)−min(x) 。当中,mean(x) 表示向量每一个元素的平均值。max(x) 表示向量中最大元素,min(x) 表示向量中最小元素
- Learning Rate
- learning rate 是机器学习中的一个不稳定因素,怎样推断选取的 learning rate 是合适的?我们能够看看下面这幅图:
- 假设以迭代次数为横坐标,cost function 结果为纵坐标。绘制的图像是递减的,说明 learning rate 选择的是恰当的。假设碰到下图所显示的三种情况。那就仅仅有一条路:减小 learning rate
- 可是 learning rate 太小相同会导致一个问题:学习过慢。所以,仅仅能靠试:0.001。0.003,0.01,0.03,0.1,0.3……
- learning rate 是机器学习中的一个不稳定因素,怎样推断选取的 learning rate 是合适的?我们能够看看下面这幅图:
- Polynomial Regression(多项式回归。不同于多变量线性回归)
- 有时候。我们须要自己创造一些“特征”,来拟合一些非线性分布情况
- 比如:h θ (x)=θ 0 +θ 1 ∗x 2 +θ 2 ∗x √ ,看上去仅仅有一个特征x ,但我们全然能够理解为x 2 和x √ 都是单独的新特征
- 以后的课程会详细讲述怎样选择这些特征
- Normal Equation
- 梯度下降法能够用于寻找函数(cost function)的最小值。想一想,初高中的时候我们使用的是什么方法?最小值点的导数为零,然后解方程
- 将导数置为零这样的方法即 Normal Equation。if θ∈R n+1 ,∂∂θ i J(θ)= set 0 for every i .
- 上文提过,添加一个全1分量x 0 后得到x=[x 0 ,x 1 ,x 2 ,x 3 ,...,x n ] T
- 能够得到:xθ=y⇛x T xθ=x T y⇛θ=(x T x) −1 x T y
- matlab编程十分简单:theta=pinv(X ′ ∗X)∗X ′ ∗y;
- Normal Equation 有下面优缺点:
- 不须要 learning rate,也就不须要选择。
- 不须要迭代,不须要考虑收敛的问题;
- 当特征非常多的时候。由于涉及求逆操作,会非常慢(注:方阵才有逆矩阵)
- Octave Tutorial
这一部分十分简单。事实上就是MATLAB的用法。建议不论是否刚開始学习的人都去看看,会有收获。谈到一个问题:假设现有的样本数,小于每一个样本全部的特征数怎么办?去除多余的特征(PCA?)。特征过多,也可能会导致矩阵不可逆的情况(不甚理解)。
下面记录一些认为挺有趣的命令:- ~=:不等于号
- xor(0, 1):异或操作
- rand(m, n):0~1之间的大小为m*n的随机数矩阵;randn:产生均值为0,方差为1的符合正态分布的随机数(有负数)
- length(A):返回A中行、列中更大值
- A(:):将矩阵A变为列向量形式。不论A是向量还是矩阵
- sum(A,1):每列求和得到一个行向量;sum(A,2):每行求和得到一个列向量
- pinv:伪求逆;inv:求逆
- imagesc(A):帅爆!依据矩阵中每一个值绘制各种颜色的方块
- A.^2 ~= A^2,后者是两个矩阵相乘
- Submitting Programming Assignments
事实上看看视频即可了。主要要注意,submit() 时输入的Token,不是Coursera 的password,而是作业的password,在这里:
编程作业答案:https://github.com/cnauroth/machine-learning-class
Andrew Ng Machine Learning 专题【Linear Regression】的更多相关文章
- Andrew Ng Machine Learning 专题【Logistic Regression & Regularization】
此文是斯坦福大学,机器学习界 superstar - Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记. 力求简洁,仅代表本人观点,不足之处希望大家探 ...
- [C2P2] Andrew Ng - Machine Learning
##Linear Regression with One Variable Linear regression predicts a real-valued output based on an in ...
- Machine Learning #Lab1# Linear Regression
Machine Learning Lab1 打算把Andrew Ng教授的#Machine Learning#相关的6个实验一一实现了贴出来- 预计时间长度战线会拉的比較长(毕竟JOS的7级浮屠还没搞 ...
- [C2P3] Andrew Ng - Machine Learning
##Advice for Applying Machine Learning Applying machine learning in practice is not always straightf ...
- CheeseZH: Stanford University: Machine Learning Ex1:Linear Regression
(1) How to comput the Cost function in Univirate/Multivariate Linear Regression; (2) How to comput t ...
- [C2P1] Andrew Ng - Machine Learning
About this Course Machine learning is the science of getting computers to act without being explicit ...
- Andrew Ng机器学习 一: Linear Regression
一:单变量线性回归(Linear regression with one variable) 背景:在某城市开办饭馆,我们有这样的数据集ex1data1.txt,第一列代表某个城市的人口,第二列代表在 ...
- machine learning (2)-linear regression with one variable
machine learning- linear regression with one variable(2) Linear regression with one variable = univa ...
- Andrew Ng Machine learning Introduction
1. 机器学习的定义:Machine learning is programming computers to optimize a performance criterion(优化性能标准) usi ...
随机推荐
- Qt中文本编辑器实现语法高亮功能(Qscitinlla)
Scintilla是一个免费.跨平台.支持语法高亮的编辑控件.它完整支持源代码的编辑和调试,包括语法高亮.错误指示.代码完成(code completion)和调用提示(call tips).能包含标 ...
- fiddler 手机装证书
1: 打开浏览器的地址 输入fiddler 右上方的地址 172.21.14.197:8888 2: 然后点击页面里的 FiddlerRoot certificate 3: 最后验证下 iOS 1 ...
- Centos7下shell脚本添加开机自启动
添加开机自启脚本,注意都需要用绝对路径 psubscribe.sh脚本中的内容: nohup /usr/bin/php -f /data/aliyun51015cn/redisChannel/psub ...
- Linux 下安装软件包的方法
Linux应用软件的安装包有三种: 1) tar包,如software-1.2.3-1.tar.gz.它是使用UNIX系统的打包工具tar打包的. 2) rpm包,如software-1.2.3-1. ...
- java的注解
本文转载自:http://www.cnblogs.com/mandroid/archive/2011/07/18/2109829.html 一.概念 Annontation是Java5开始引入的新特征 ...
- Loj10167 HDU2089 不要62
题目描述 杭州人称那些傻乎乎粘嗒嗒的人为 626262(音:laoer). 杭州交通管理局经常会扩充一些的士车牌照,新近出来一个好消息,以后上牌照,不再含有不吉利的数字了,这样一来,就可以消除个别的士 ...
- 读书笔记_Effective_C++_条款三十九:明智而审慎地使用private继承
private继承的意义在于“be implemented in turns of”,这个与上一条款中说的复合模型的第二层含义是相同的,这也意味着通常我们可以在这两种设计方法之间转换,但书上还是更提倡 ...
- spring---aop(10)---Spring AOP中AspectJ
写在前面 在之前的文章中有写到,Spring在配置中,会存在大量的切面配置.然而在很多情况下,SpringAOP 所提供的切面类真的不是很够用,比如想拦截制定的注解方法,我们就必须扩展DefalutP ...
- RAD Studio 2010~XE8 官方 ISO 下载地址 (2015-03-28更新)
http://bbs.csdn.net/topics/390816856 RAD Studio XE8 目前最新版 v22.0.19027.8951 官方 ISO 文件下载(6.72GB):http: ...
- mysql官网文档调试MYSQL资料 5.7
http://dev.mysql.com/doc/refman/5.7/en/debugging-server.html