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课程,包括异常检测算法以及推荐系统设计.异常检测是一个非监督学习算法,用于发现系统中的异常数据.推荐系统在生活中也是随处可 ...
随机推荐
- YYKit学习系列 ---- 开篇
准备花半年时间系统学习YYKit, 学习过程会放入"YYKit学习系列"这个分类, 喜欢YYKit的可以随时留意我的文章, 一起学习!!!
- 贝塔阶段html及pdf模块测试
这次虽然工作内容是将c#的html及pdf处理程序移植到java中,但是由于重新编写代码使得先前的工作成果得不到利用,于是将其编写为dll,再在java端调用. 这使得在java端即便每个分支都到达, ...
- UVa 524 Prime Ring Problem(回溯法)
传送门 Description A ring is composed of n (even number) circles as shown in diagram. Put natural numbe ...
- Shell入门
前言 日常用Python多一些,不过很多时候shell脚本更简单实用一些,所以有必要熟悉一下shell脚本.当然shell有他特定的一些场景,比方说我曾经改过一个vpn断线自动重连的脚本,简单实用. ...
- p/invoke 碎片-- 对字符串的处理
字符串在内存中的的几种风格 字符串作为参数和返回值 参考 字符串在内存中的几种风格 所谓的风格,也就是字符串在内存中的存在形式.如何存放的,占据内存的大小,还有存放顺序等.在不同的编程语言和不同的平台 ...
- Python学习目录
日期 科目 状态 知识点 2016.12.10 subprocess OK 执行外部shell命令 2016.12.11 threading ? 线程池,Lock,适合IO密集型应用,信号量? 201 ...
- Java基础:三目运算符
三目运算符 (表达式1)?(表达式2):(表达式3),计算方法是这样的:表达式1是一个逻辑表达式,如果其值为true,则整个表达式的值为表达式2的值,否则为表达式3的值.
- .NET Framework(.config)的配置文件架构
配置文件是标准的XML文件..NET Framework定义了一组实现配置设置的元素.本节描述计算机配置文件.应用程序配置文件和安全配置文件的配置架构.如果希望直接编辑配置文件,您需要熟悉XML.XM ...
- 1. web前端开发分享-css,js入门篇
关注前端这么多年,没有大的成就,就入门期间积累了不少技巧与心得,跟大家分享一下,不一定都适合每个人,毕竟人与人的教育背景与成长环境心理活动都有差别,但就别人的心得再结合自己的特点,然后探索适合自己的学 ...
- 改变win7驱动图标
一.背景 自己做的USB设备是HID设备,注册到设备管理器中就是"HID Compliant device",显得很业余,然后想去改变这个图标和名称,也就有了此篇文章 二.正文 还 ...