吴恩达机器学习笔记总结
作为机器学习经典入门课程,吴恩达的Machine Learning课程必定有它重要的一席之位。在19年我也在coursera(链接在此)上修习这门课程并领取了证书,前两个星期又去翻看了之前的笔记和黄海广博士翻译整理的笔记,重新根据自己的理解和关注的知识整理了一版简洁版笔记,方便以后快速回顾。
文章目录
第一周
引言
机器学习是什么:
卡内基梅隆大学Tom这么定义机器学习:一个程序被认为能从经验E中学习,解决任务T,达到性能度量值P,
当且仅当,有了经验E后,经过P评判,程序处理T时的性能有所提升。
机器学习 可分为监督学习和无监督学习:
监督学习:给学习算法一个包含“正确答案”的数据集,并根据给定标签学习数据中的模式
无监督学习:无监督学习中的数据集没有任何标签,希望从中找到某种结构
单变量线性回归(Linear Regression with One Variable)
-
模型表示
本次机器学习课程中相关符号定义:
m代表训练集中实例的数量
x代表特征/输入变量
y代表目标变量/输出变量
( x , y ) (x, y) (x,y)代表训练集中的实例
( x i , y i ) (x_i, y_i) (xi,yi)代表第 i i i个观察实例
从训练集数据和标签数据,根据学习算法得到一个从 X X X到 Y Y Y的函数映射 h h h. -
代价函数/cost function
回归模型的代价函数如下,目标选择使得代价函数最小的模型参数:
J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0, \theta_1) = \frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=m1i=1∑m(hθ(x(i))−y(i))2
单变量线性回归模型表示: 模型假设/Hypothesis : h θ = θ 0 + θ 1 x h_{\theta}=\theta_0+\theta_1x hθ=θ0+θ1x
参数/Parameters: θ 0 , θ 1 \theta_0, \theta_1 θ0,θ1
损失函数/Cost Function: J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0, \theta_1) = \frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=m1∑i=1m(hθ(x(i))−y(i))2
优化目标/Goal: m i n i m i z e θ 0 , θ 1 J ( θ 0 , θ 1 ) minimize_{\theta_0, \theta_1} J(\theta_0, \theta_1) minimizeθ0,θ1J(θ0,θ1)
参数选择过程:
随着迭代训练,损失函数变小,模型估计值悦来越逼近真实值:
-
梯度下降/Gradient Descent
梯度下降是一个用来求函数最小值的算法,背后思想是,开始随机选择一个参数的组合 ( a 0 , a 1 , . . . , a n ) (a_0, a_1, ...,a_n) (a0,a1,...,an),计算代价函数,然后寻找下一个让代价函数值下降最多的参数组合,不断迭代,直到代价函数收敛或达到最大迭代数。
批量梯度下降算法的公式为:
repeat until convergence{
θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) f o r j = 0 a n d j = 1 \theta_j := \theta_j - \alpha \frac{\partial}{\partial \theta_j}J(\theta_0, \theta_1)\ \ \ for\ j=0\ and j=1 θj:=θj−α∂θj∂J(θ0,θ1) for j=0 andj=1}, α \alpha α为学习率。梯度下家算法迭代过程:随着迭代次数增加,接近局部最低点时,偏导数越来越接近零,梯度下降移动幅度也越来越小。
线性回归梯度下降:
结合梯度下降和线性回归模型:
repeat until convergence{
θ j : = θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) ( f o r j = 1 a n d j = 0 ) \theta_j := \theta_j-\alpha\frac{\partial}{\partial \theta_j}J(\theta_0, \theta_1)\ \ (for \ j=1 \ and j=0) θj:=θj−α∂θj∂J(θ0,θ1) (for j=1 andj=0)}线性回归模型:
h θ = θ 0 + θ 1 x J ( θ ) = 1 2 m ∑ i = 1 m ( h θ x ( i ) ) − y ( i ) ) 2 ∂ ∂ θ j = ∂ ∂ θ j 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 j = 0 时 , ∂ ∂ θ 0 J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) j = 1 时 : ∂ ∂ θ 1 J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( ( h θ ( x ( i ) ) − y ( i ) ) x ( i ) ) h_{\theta}=\theta_0+\theta_1x \\ J(\theta)=\frac{1}{2m}\sum_{i=1}^m(h_\theta x^{(i)})-y^{(i)})^2\\ \frac{\partial}{\partial \theta_j}=\frac{\partial}{\partial \theta_j}\frac{1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 \\ j=0时, \frac{\partial}{\partial \theta_0}J(\theta_0, \theta_1)=\frac{1}{2m}\sum_{i=1}^m (h_\theta(x_{(i)})-y_{(i)}) \\ j=1时: \frac{\partial}{\partial \theta_1}J(\theta_0,\theta_1)=\frac{1}{m}\sum_{i=1}^m ((h_{\theta}(x^{(i)})-y^{(i)})x^{(i)}) hθ=θ0+θ1xJ(θ)=2m1i=1∑m(hθx(i))−y(i))2∂θj∂=∂θj∂2m1i=1∑m(hθ(x(i))−y(i))2j=0时,∂θ0∂J(θ0,θ1)=2m1i=1∑m(hθ(x(i))−y(i))j=1时:∂θ1∂J(θ0,θ1)=m1i=1∑m((hθ(x(i))−y(i))x(i))
则有线性回归梯度下降:repeat{
θ 0 : = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) θ 1 : = θ 1 − α 1 m ∑ i = 1 m ( ( h θ ( x ( i ) ) − y ( i ) ) x ( i ) ) \theta_0 := \theta_0 - \alpha\frac{1}{m}\sum_{i=1}{m}(h_{\theta}(x^{(i)})-y^{(i)}) \\ \theta_1 := \theta_1 - \alpha\frac{1}{m}\sum_{i=1}{m}((h_{\theta}(x^{(i)})-y^{(i)})x^{(i)}) θ0:=θ0−αm1i=1∑m(hθ(x(i))−y(i))θ1:=θ1−αm1i=1∑m((hθ(x(i))−y(i))x(i)) }
第2周
多变量线性回归
-
对于多变量特征:
多变量模型假设为 h ( x ) = a 0 + a 1 x 1 + a 2 x 2 + . . . + a n + x n h(x)=a_0+a_1x_1+a_2x_2+...+a_n+x_n h(x)=a0+a1x1+a2x2+...+an+xn
模型参数为 n + 1 n+1 n+1维的向量,特征矩阵 X X X的维度是 m × ( n + 1 ) m \times (n+1) m×(n+1) -
代价函数:
J ( θ 0 , θ 1 , . . . , θ n ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta_0, \theta_1,...,\theta_n)=\frac{1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y_{(i)})^2 J(θ0,θ1,...,θn)=2m1∑i=1m(hθ(x(i))−y(i))2
-
梯度下降公式:
repeat{
θ j : = θ j − α ∂ ∂ θ j ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 \theta_j := \theta_j-\alpha\frac{\partial}{\partial \theta_j}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 θj:=θj−α∂θj∂i=1∑m(hθ(x(i))−y(i))2}
梯度下降前可通过特征缩放,即将所有特征的尺度缩放到-1到1之间,加快收敛。
-
学习率选择:
可视化迭代次数与代价函数的图来判断算法在何时趋于收敛;
通常可考虑尝试学习率:0.01,0.03,0.1,0.3,1,3,10
-
特征和多项式回归:
线性回归并不适用于所有数据,可通过计算特征二次方、三次方等将模型转化为线性回归模型。 -
正规方程
正规方程通过求解偏导方程来找出使得代价函数最小的参数: ∂ ∂ θ j J ( θ j ) = 0 \frac{\partial}{\partial \theta_j}J(\theta_j)=0 ∂θj∂J(θj)=0
利用正规方程解出向模型参数,正规方程不需要迭代求解,一次性即可得出最优解,但特征数 n n n较大则运算代价很大。
θ = ( X T X ) − 1 X T y \theta = (X^TX)^{-1}X^Ty θ=(XTX)−1XTy
第3周
逻辑回归 Logistic Regression
-
分类问题
预测的变量y是离散的值,根据标签数可分为二分类和多分类:
二分类:因变量属于两个类,1/0,即正类或负类
多分类:因变量有三个或以上类别,如动物分类,猫、狗、兔子等
-
逻辑回归假设
h θ ( x ) = g ( θ T X ) h_{\theta}(x) = g(\theta^TX) hθ(x)=g(θTX)
h h h为模型假设,X为特征向量,g为逻辑函数,也称sigmoid函数,是一个S形非线性映射函数,公式为: g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1,图像如下:当 h θ > = 0.5 h_{\theta}>=0.5 hθ>=0.5时,预测 y = 1 y=1 y=1;当 h θ < 0.5 h_{\theta}<0.5 hθ<0.5时,预测 y = 0 y=0 y=0
-
判定边界
假设有模型 h ( x ) = g ( a 0 + a 1 x 1 + a 2 x 2 ) h(x)=g(a_0+a_1x_1+a_2x_2) h(x)=g(a0+a1x1+a2x2),
参数向量为[-3, 1, 1],则当 − 3 + x 1 + x 2 > = 0 时 -3+x_1+x_2>=0时 −3+x1+x2>=0时,预测 y = 1 y=1 y=1
决策边界为: − 3 + x 1 + x 2 = 0 -3+x_1+x_2=0 −3+x1+x