Andrew Ng在coursera上的ML课程_知识点笔记_(1)
1.Feature Scaling(特征缩放):

如上图所示,x1是房屋面积,x2是房间个数,若不进行特征缩放,则代价函数J的曲线近似为一个瘦长的椭圆(我暂时这么理解,θ1和θ2分别是x1和x2的权值系数,而x2的特征向量值相较x1很小,则x1变化一个较小的量,在J的同一条相同的圆弧曲线上θ2就要变化一个较大的量,因此成为一个椭圆形式)
而对于左图的椭圆,会加大用梯度下降算法到达最低点的难度,所以我们可以采用右图的特征缩放,是他们都缩放到同一个数量级,这样J的形状近似为一个圆,更容易达到最低点。
总之,使用特征缩放的一个标准就是使各特征量都缩放到[-1,+1]之间(x0=1),而一般经验值是[-3,+3]和[-1/3,+1/3](超出这个范围就要进行考虑)
2.Mean normalization(均值归一化):
用(xi-ui)/si来代替原来的特征向量xi,这里ui是xi的平均值,Si是xi的标准差(用最大值减去最小值即可),最终得到的范围大概在[-0.5,+0.5]
3.关于梯度下降中的学习率α,只要α足够小,则每次迭代后J都会下降,但若是过小,则收敛太慢。过大,则不是每次迭代后都会下降(偶尔会产生收敛缓慢的情况)
工程上可以取一系列的α值从0.001,0.003,0.01,0.03,0.1,0.3,1(也可以加大点范围),然后画出如下的曲线:

横轴是迭代次数,纵轴是J的值,然后从一系列曲线中选择合适的α作为最终的学习率
4.多项式回归:a.选择合适的多项式来拟合数据;b.选择合适的特征量(如视频中原来x1是临街宽度,x2是纵深宽度,作者后来用x1=x1*x2即房屋所占面积和x2=x12等等来表示特征量);
5.Normal Equation(正规方程):
6.关于何时选择梯度下降算法,何时选择正规方程方法?先比较一下两者的优缺点:
(1)梯度下降算法的优点:即使特征变量的数目n很大时,也有较好的效果;
缺点:需要选择学习率;需要迭代很多次;
(2)正规方程算法的优点:不需要选择学习率;不需要迭代;
缺点:由于θ=(XTX)-1XTy中有(XTX)-1这一项,而它是n*n维矩阵,因此当n很大时,正规方程算法的计算量大概是n的三次方,就非常大;
所以选择的时候,当n是上百或者上千时,一般选择正规方程算法,如果上万的话(一般达到一万)就要考虑使用梯度下降算法了。
7.正规方程以及不可逆性(Normal Equation Noninvertibility):
即(XTX)不可逆,原因一般有两个:(1)有多余的特征量;
(2)有过多的特征量;

如上图中,x1是以英尺单位的房屋面积,x2是以平方米为单位的房屋面积,则x1和x2线性相关,它们之间就有一个多余的特征向量;
而第二行中,比如样本个数是m=10,特征向量个数n=100,由于要从10个样本中找出100个特征向量,则很有难度;
Andrew Ng在coursera上的ML课程_知识点笔记_(1)的更多相关文章
- Andrew Ng在coursera上的ML视频 知识点笔记(2)
一.由线性回归导出逻辑回归: 二.“一对多”算法解决多分类问题: 三.“过拟合”和“欠拟合”: (1)对线性回归加入正则项: (2)对逻辑回归加入正则项: (3)加入正则项之后的正规方程:
- 【原】Coursera—Andrew Ng斯坦福机器学习(0)——课程地址和软件下载
斯坦福大学机器学习 课程信息 机器学习是一门研究在非特定编程条件下让计算机采取行动的学科.最近二十年,机器学习为我们带来了自动驾驶汽车.实用的语音识别.高效的网络搜索,让我们对人类基因的解读能力大大提 ...
- coursera上的软件安全课程的课后阅读补充
在coursera选修了一门软件安全的课程.下面是教授列出来的阅读: Week 1 Readings Required reading The only required reading this w ...
- [Machine Learning] Andrew Ng on Coursera (Week 1)
Week 1 的内容主要有: 机器学习的定义 监督式学习和无监督式学习 线性回归和成本函数 梯度下降算法 线性代数回归 主要是了解一下机器学习的基本概念,重点是学习线性回归模型,以及对应的成本函数和梯 ...
- Andrew Ng 的 Machine Learning 课程学习 (week5) Neural Network Learning
这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...
- Andrew Ng 的 Machine Learning 课程学习 (week4) Multi-class Classification and Neural Networks
这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...
- Andrew Ng 的 Machine Learning 课程学习 (week3) Logistic Regression
这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...
- Andrew Ng 的 Machine Learning 课程学习 (week2) Linear Regression
这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...
- (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly Detection&Recommender Systems
这部分内容来源于Andrew NG老师讲解的 machine learning课程,包括异常检测算法以及推荐系统设计.异常检测是一个非监督学习算法,用于发现系统中的异常数据.推荐系统在生活中也是随处可 ...
随机推荐
- sql 删除所有表
sql删除所有表语句: use 数据库名(是要删除表的所在的那个数据库的名称) GO declare @sql varchar(8000) while (select count(*) from sy ...
- grails项目获取前后台的值
grails项目中前台传值给后台: 加入我有a.gsp这个页面,a.gsp中有如下代码: 姓名:<input type="text" name="xing" ...
- 记一周cdqz训练
#include <cstdio> using namespace std; int main(){ puts("转载请注明出处:http://www.cnblogs.com/w ...
- Java学习笔记-Math类
并非所有的类都需要main方法.Math类和JOptionPane类都没有main方法.这些类中所包含的方法主要是为了供其他类使用. package welcome; public class Tes ...
- log4net位置与使用方法
<log4net> <appender name="RollingLogFileAppender" type="log4net.Appender.Rol ...
- 利用vim查看日志,快速定位问题
起因 在一般的情况下,如果开发过程中测试报告了一个问题,我一般会这么做: 1.在自己的开发环境下重试一下测试的操作,看看能不能重现问题.不行转2 2.数据库连接池改成测试库的地址,在自己的开发环境下重 ...
- Sublime Text 3 Emmet插件安装
一.手动安装: 1. Emmet (ex-Zen Coding) for Sublime Text http://emmet.io (1) 下载:https://github.com/serge ...
- Python数据分析笔记目录
速查笔记 使用实例 Pandas-数据导入 (未完成) Pandas-数据探索 基础属性 shape indexs columns values dtype/dtypes 汇总和计算描述统计 coun ...
- js拖拽效果实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 【学习笔记】C语言之词法规则
一.字符 标准并没有规定C环境必须使用特定的字符集,但是它规定了字符集必须包含英语所有的大小写字母,数字0到9,以及下面的字符: ! # % ^ & * ( ) _ – + = / . ? ...