吴恩达机器学习-第一周
学习视频参考b站:吴恩达机器学习
本文是参照视频学习的随手笔记,便于后续回顾。
机器学习定义
Field of study that gives computers the ability to learn without being explicitly programmed.--Arthur Samuel(1959)
编译了跳棋程序,程序自己下棋迭代。
Question
Answer:Would have made it worse.
监督学习(Supervised learning)
监督学习定义
从给定的训练数据集中学习出一个函数(模型参数),当新的数据到来时,可以根据这个函数预测结果。(输入数据X经过训练函数->得到结果)
两类主要类型监督学习算法:Regression、Classification
应用示例:
回归(Regression--Predict a numver infinitely many possible outputs)
房价预测(拟合不同的函数,预测到不同结果)
分类(Classification--Predict categories small number of possible outpus)
乳腺癌探测
一个输入(肿瘤大小)
两个输入(患者年龄,肿瘤大小)
甚至多个输入等......
两种算法对比
无监督学习(Unsupervised learning)
无监督学习主要的三种算法:
1.聚类算法(Clustering--Takes data without labels and tries to automatically group them into clusters)
2.欺诈监测(Anomaly detection--Find unusual data points)
3.降维(Dimensionality reduction--Compress data using fewer numvers)
无监督学习定义
1.Data only comes with inputs x,but not output labels y.Algorithm has to find structure in the data.
2.输入数据没有被标记,也没有确定的结果。样本数据类别未知,需要根据样本间的相似性对样本集进行分类
非监督学习目标不是告诉计算机怎么做,而是让它(计算机)自己去学习怎样做事情
聚类算法(Clustering--Takes data without labels and tries to automatically group them into clusters)
1.谷歌新闻
寻找相似文章分成一组
2.基因微阵列
根据表现不同的基因来给不同人群分组
3.消费者群体
Question
Answer: second & third
线性回归(Linear Regression--One variable)
房价预测(回归模型)
训练集与图表相对应
x为输入,y为输出,上标表示第几行的数据。
训练集通过学习算法预测结果,线性函数如f(x)=wx+b.
代价函数公式
线性回归函数中w,b不同值时,所表示的图像不同
如何选择精确的w和b的值来构建线性回归函数?---成本函数
除2是为了让结果更简洁,可以不除。
代价函数与w,b的关系(Linear regression)
输入数据一定,当b为0时,f(x)=wx,w不断变化,代价函数与w的关系(图像):
case1: w为1时
case2: w为0.5时
case3: w为0时
选代价函数最小是最优解
f(x)=wx+b,w、b不断变化,成本函数与其关系。
预测房价模型(示例)
只有w的一维U型图(like a soup)
包含w和b的二维碗状图(3D曲面图)
其他表示方法(二维):
等高线图
可视化举例(example)
case1: w,b不是很适合
case2: w,b适合
碗的底部成本函数比较小(但有个能有多个低谷,你所选的不一定是最小)
梯度下降(Gradient Descent)
Outline & Define
1: Start with some w,b
2: Keep changing w,b to reduce J(w,b)
3: Until we settle at or near a minimum
定义: 梯度下降是迭代法的一种,可以用于求解最小二乘问题 (线性和非线性都可以)
通过求目标函数的导数来寻找目标函数最小化
Example
代价函数图像如果不是U型(弓型)的,可能会有多个最小值
像是下图,经过不同的路线会得到不同的局部最小值(local minimum)
梯度下降算法的实现&理解
α大小决定迈步的大小,导数决定迈步的方向
w,b更新方式:
w迭代变化同时,代价函数也随之变化
学习率α
学习率太小或太大
太小将会花费很多时间,太大可能会会离最小值越来越远(过冲Overshoot,发散diverge)
到达局部最小值时,参数不再变化,梯度下降不再生效(因为导数一直是0)
固定学习率(fixed learning rate)
学习率不变,但随着代价函数接近局部最小值,导数会越来越小,更新数据差值变小,导致梯度下降的步伐变小,最终到达局部最小值点
线性回归的梯度下降
微积分求出梯度下降迭代公式
迭代w,b并保证w,b是同步更新的
线性回归图像是凸函数(碗型),选择合适的学习率,总会到达全局最小值(唯一)
梯度下降的实际应用(运行)
从蓝色点开始,迭代到浅绿色结束
以上称为批量梯度下降("Batch" gradient descent--Each step of gradient descent uses all the training examples),每一步梯度下降都使用全部的训练数据