吴恩达机器学习笔记 第一至五章

课程链接吴恩达机器学习 - 网易云课堂
 

第一章 绪论:初识机器学习

机器学习(Machine Learning)

  1. 在没有明确设置的情况下使计算机具有学习能力的研究领域
  2. 计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P,通过P测定在T上的表现因经验E而提高

监督学习(Supervised Learning):数据集中包含“正确答案”
无监督学习(Unsupervised Learning):数据集中不包含有标签或全部带有相同标签
回归问题(Regression):预测连续的数值输出
分类问题(Classification):预测离散的数值输出
 

第二章 单变量线性回归(Univariate Linear Regression )

回归模型mm表示训练样本数,xx为输入变量即特征,yy为输出变量即目标,(x,y)(x,y)表示一个训练样本,(x(i),y(i))(x^{(i)},y^{(i)})表示第ii个训练样本,则假设函数(hypothesis) 为:
hθ(x)=θ0+θ1x {h_\theta }(x) = {\theta _0} + {\theta _1}x
其中,θ0,θ1{\theta _0},{\theta _1}为参数。在训练时应选择合理的θ0,θ1{\theta _0},{\theta _1}使得对于任意的xx都能够准确地预测yy的值。

代价函数(Cost Function)-平方误差函数(Square Error Cost Function):
J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2 J\left( {{\theta _0},{\theta _1}} \right) = \frac{1}{{2m}}\sum\limits_{i = 1}^m {{{\left( {{h_\theta }\left( {{x^{\left( i \right)}}} \right) - {y^{\left( i \right)}}} \right)}^2}}
训练以设定的θ0,θ1{\theta _0},{\theta _1}开始,不断改变θ0,θ1{\theta _0},{\theta _1}以达到minimizeθ0,θ1J(θ0,θ1)\mathop {{\rm{minimize}}}\limits_{{\theta _0},{\theta _1}} J\left( {{\theta _0},{\theta _1}} \right)

吴恩达机器学习笔记 第一至五章

梯度下降算法(Gradient Descent Algorithm):重复下面的公式直到收敛
θj:=θjαθjJ(θ0,θ1)    (for  j=0  and  j=1) {\theta _j}: = {\theta _j} - \alpha \frac{\partial }{{\partial {\theta _j}}}J\left( {{\theta _0},{\theta _1}} \right){\rm{ }}\ \ \ \ \left( {{\rm{for\ \ }}j = 0\ \ {\rm{ and\ \ }}j = 1} \right)
其中,α\alpha代表学习率。并且在更新时,θ0,θ1{\theta _0},{\theta _1}需要进行同步更新。使用梯度下降算法时,选用不同的θ0,θ1{\theta _0},{\theta _1}初始值,可能会得到不同的局部收敛点。

吴恩达机器学习笔记 第一至五章吴恩达机器学习笔记 第一至五章

对于学习率的选择,如果α\alpha选择的过小,则梯度下降速率则会过于缓慢,而α\alpha选择的过大,则会出现不收敛的情况,当选择合适的学习率后,梯度下降的步伐会随着最优点的接近而逐步变小。

吴恩达机器学习笔记 第一至五章吴恩达机器学习笔记 第一至五章吴恩达机器学习笔记 第一至五章

Batch 梯度下降:“batch”的含义为每一步的梯度下降使用了所有的训练样本

 

第三章 线性代数回顾

第四章 配置

 

第五章 多变量线性回归

定义nn为特征数量,x(i){x^{\left( i \right)}}为输入的第ith{i^{th}}个特征向量,xj(i)x_j^{\left( i \right)}为输入的第ith{i^{th}}个特征向量中的第jj个值。为了标记简便,定义x0=1{x_0} = 1
x=[x0x1x2xn]Rn+1θ=[θ0θ1θ2θn]Rn+1 x=\left[ \begin{array}{c}{x_{0}} \\ {x_{1}} \\ {x_{2}} \\ {\vdots} \\ {x_{n}}\end{array}\right] \in \mathbb{R}^{n+1} \quad \theta=\left[ \begin{array}{c}{\theta_{0}} \\ {\theta_{1}} \\ {\theta_{2}} \\ {\vdots} \\ {\theta_{n}}\end{array}\right] \in \mathbb{R}^{n+1}
则多元线性回归的假设函数为:
hθ(x)=θ0x0+θ1x1++θnxn=θTx {h_\theta }\left( x \right) = {\theta _0}{x_0} + {\theta _1}{x_1} + \cdots + {\theta _n}{x_n} = {\theta ^T}x
代价函数:
J(θ)=12mi=1m(hθ(x(i))y(i))2 J\left( {{\theta}} \right) = \frac{1}{{2m}}\sum\limits_{i = 1}^m {{{\left( {{h_\theta }\left( {{x^{\left( i \right)}}} \right) - {y^{\left( i \right)}}} \right)}^2}}
梯度下降:
θj:=θjαθjJ(θ0, ,θn)       (for  j=0, ,n)θj:=θjα1mi=1m(hθ(x(i))y(i))xj(i)    (for  j=0, ,n) {\theta _j}: = {\theta _j} - \alpha \frac{\partial }{{\partial {\theta _j}}}J\left( {{\theta _0}, \cdots ,{\theta _n}} \right){\rm{ }}\ \ \ \ \ \ \ \left( {{\rm{for\ \ }}j = 0, \cdots ,n} \right)\\ {\theta _j}: = {\theta _j} - \alpha \frac{1}{m}\sum\limits_{i = 1}^m {\left( {{h_\theta }\left( {{x^{\left( i \right)}}} \right) - {y^{\left( i \right)}}} \right)} x_j^{\left( i \right)}\ \ \ \ \left( {{\rm{for\ \ }}j = 0, \cdots ,n} \right)
特征缩放(Feature Scaling): 确保特征值在相近的范围内,以使得梯度下降算法更快的收敛。

吴恩达机器学习笔记 第一至五章

均值归一化(Mean normalization): 使用xiμi{x_i} - {\mu _i}代替xi{x_i}使得特征值具有近似零均值(除了x0=1{x_0} = 1)
xi=xiμisi {x_i} = \frac{{{x_i} - {\mu _i}}}{{{s_i}}}

学习率(Learning rate)的选择: 如果学习率过小,则可能出现收敛速度过慢的情况;如果学习率过大,则可能出现不收敛的情况。

吴恩达机器学习笔记 第一至五章

对于多特征预测的问题,可以合理的将特征进行组合,创建新的特征,可能会得到更好的模型。

多项式回归(Polynomial Regression): 可以选择不同的多项式去更好的拟合数据

吴恩达机器学习笔记 第一至五章

hθ(x)=θ0+θ1x1+θ2x2+θ3x3=θ0+θ1(size)+θ2(size)2+θ3(size)3x1=(size)x2=(size)2x3=(size)3or       hθ(x)=θ0+θ1(size)+θ2(size) \begin{aligned} h_{\theta}(x) &=\theta_{0}+\theta_{1} x_{1}+\theta_{2} x_{2}+\theta_{3} x_{3} \\ &=\theta_{0}+\theta_{1}(s i z e)+\theta_{2}(s i z e)^{2}+\theta_{3}(s i z e)^{3} \\ {x_{1}}&={(size)} \\ {x_{2}}&={({size})^{2}} \\ {x_{3}}&={{(size)} ^{3}} \\ or\ \ \ \ \ \ \ h_{\theta}(x)&=\theta_{0}+\theta_{1}(s i z e)+\theta_{2} \sqrt{(s i z e)} \end{aligned}

正规方程(Normal Equation): 一种直接求得θ\theta的解析解法

θ=(XTX)1XTy \theta=\left(X^{T} X\right)^{-1} X^{T} y​

当数据集中包含有多余的特征,或者特征数量过多而样本过少时,则会出现矩阵不可逆的情况,这时候在计算时用伪逆替换即可得到正确的结果。(伪逆与逆的区别)

对于正规方程,他不需要选择学习率,也不需要多次的迭代,但当特征nn的数量较大时,梯度下降法仍然可以很好的工作而正规方程因为需要计算矩阵的逆,因此会变得特别慢。