吴恩达机器学习-第一课-第二周

吴恩达机器学习

学习视频参考b站:吴恩达机器学习
本文是参照视频学习的随手笔记,便于后续回顾

多维特征(Multiple Features

多种不同类型的输入X1,X2,X3......

模型

f(x)=w1x1 + w2x2 + w3x3 + w4x4 + b ,加了小箭头的是向量(Vector),可以不加,只是方便辨识
image
点积表示法:
image

符号表示

image

向量化(向量表示/use NumPy

通过使用NumPy中的array数组dot点积来优化代码
image

向量化和非向量化的区别

向量化平行(parallel)执行,非向量化一步一步执行,所以相比之下向量化效率高
image
迭代示例:
image

多元线性回归的梯度下降(Gradient Descent for Multiple Regression

非向量化与向量化的对比:
image
image

正规方程(normal equation)

详解链接正规方程1正规方程2
image
之前我们用梯度下降来求解线性回归问题的最优参数,除此之外我们还可以用正规方程法(Normal Equation)来求解其最优参数。
image

特征缩放(Feature Scaling

范围大的特征值尽量选择小的参数w范围小的特征值尽量选择大的参数w
image
范围小的特征值比范围大的特征值影响程度小(图比较扁)
image

特征缩放方法(如何让不同范围的特征值之间有可比较性)

除最大值法:

image

均值归一化(Mean normalization)

公式:(每一个特征值Xi-特征值平均值μi)/(最大值max-最小值min)
image

Z-score标准化(Z-score normalization)

公式:(每个特征值xi-特征值平均值μi)/标准差σi
image
image
特征值范围不是必须-1~1,只要不是太大或太小都可以
image

如何判断梯度下降是否收敛(Checking Gradient Descent for Convergence)

Method1:通过迭代次数和代价函数的图像变化判断,如果代价函数随着迭代次数增加而减少,那就是收敛的
Method2:设置一个阈值ε像是0.001,如果代价函数的值小于ε,自动判断为收敛
不同学习算法迭代次数有差异
image

如何选择合适的学习率

代价函数增大有两种原因:1.代码错误 2.学习率太大
判断原因:将学习率设置很小,如果还是增大,那就是代码错误
学习率太小会导致迭代次数增多,耗时!
image
可以参考选择下图来选择学习率,每次选择上一次学习率的大约三倍
image

特征工程(Feature Engineering)

示例:房屋价格
比如有两个参数来预测价格,长x1和宽x2,如果你觉得面积能更好预测房屋价格,就可以把面积x3=x1*x2加进去
可以通过变换或组合定义自己的特征!!!,可能会对模型预测有利
image

多项式回归(Polynomial Regression--曲线)

通过构造不同的函数来达到效果,像是二次函数会下降导致房屋大小变大,价格变低(不符合实际),可以选择三次函数或是取平方根,更好的构筑模型
image
image

Summary

本周学习了以下内容:
1.多维特征模型的定义和符号表示
2.代码向量化,向量化与非向量化的区别
3.多元线性回归的梯度下降
4.正规方程
5.特征缩放的三种方法
6.如何判断梯度下降收敛,如何选择合适的学习率,特征工程
7.多项式回归

posted @ 2024-04-07 17:49  猫猫不会吃芋头  阅读(39)  评论(0)    收藏  举报