李宏毅机器学习笔记——回归

回归笔记

  • 回归
    • 使用场景
    • 预测步骤
      • 第一步——确定模型的集合
      • 第二步——模型好坏的判断
      • 第三步——梯度下降
    • 改进模型

回归

使用场景

股票预测
输入:历史股票价格等
输出:明日或以后股票的价格或平均值

自动驾驶
输入:场景信息、信号
输出:方向盘角度

推荐系统
输入:使用者信息、商品信息
输出:购买可能性

课内使用案例
预测宝可梦进化后的战斗力(CP)
输入:进化前的CP,种类,HP,重量,高度

预测步骤

第一步——确定模型的集合

线性模型: y = b + Σ w i x i y = b + \Sigma w_ix_i y=b+Σwixi
其中 w i w_i wi是权重, x i x_i xi是特征, b b b是偏差。

第二步——模型好坏的判断

x i x^i xi表示第i个样本的特征, y ^ i \hat y^i y^i表示第i个样本的真值。
定义Loss Function,输入一个模型,输出模型的好坏程度。
L ( f ) = L ( w , b ) = Σ n = 1 10 ( y ^ n − ( b + w ⋅ x c p n ) ) 2 L(f) = L(w, b) = \Sigma^{10}_{n=1}(\hat y^n - (b+w·x^n_{cp}))^2 L(f)=L(w,b)=Σn=110(y^n(b+wxcpn))2
L ( f ) L(f) L(f)越小,表示模型误差越小,模型越好。
于是找到最好的模型:
f ∗ = a r g m i n f L ( f ) f^* = argmin_fL(f) f=argminfL(f),
w ∗ , b ∗ = a r g m i n w , b L ( w , b ) w^*,b^*=argmin_{w,b}L(w,b) w,b=argminw,bL(w,b)

第三步——梯度下降

先考虑loss function的一个参数w:

  • 随机选择一个初值 w 0 w^0 w0
  • 计算 d L d w ∣ w = w 0 \frac{\mathrm{d}L}{\mathrm{d}w}|_{w=w^0} dwdLw=w0,更新参数 w 1 = w 0 − η d L d w ∣ w = w 0 w^1=w^0-\eta\frac{\mathrm{d}L}{\mathrm{d}w}|_{w=w^0} w1=w0ηdwdLw=w0。其中 η \eta η为学习率,控制参数更新的快慢。
  • 重复上一步骤,直至不再更新或者更新的差值小于某个值。

如何考虑两个参数:

  • 随机选择一个初值 w 0 , b 0 w^0,b^0 w0,b0
  • 计算 ∂ L ∂ w ∣ w = w 0 , b = b 0 \frac{\partial L}{\partial w}|_{w=w^0,b=b^0} wLw=w0,b=b0 ∂ L ∂ b ∣ w = w 0 , b = b 0 \frac{\partial L}{\partial b}|_{w=w^0,b=b^0} bLw=w0,b=b0,更新参数 w 1 = w 0 − η ∂ L ∂ w ∣ w = w 0 , b = b 0 w^1=w^0-\eta\frac{\partial L}{\partial w}|_{w=w^0,b=b^0} w1=w0ηwLw=w0,b=b0 b 1 = b 0 − η ∂ L ∂ b ∣ w = w 0 , b = b 0 b^1=b^0-\eta\frac{\partial L}{\partial b}|_{w=w^0,b=b^0} b1=b0ηbLw=w0,b=b0
  • 重复上一步骤

李宏毅机器学习笔记——回归_第1张图片担心的地方:有可能陷入局部极小值。
但对于线性回归来说,loss function是一个凸函数,只有一个极值点也是最小点。

之后利用测试样本来带入模型,查看测试误差来检测模型的准确程度。

改进模型

  1. 增加模型特征数
    可以选择另一种更为复杂的模型,例如在原模型中引入特征的二次项或者三次项等等。但更复杂的模型不代表更精确,参数越多,模型在测试集上的表现可能越差,即过拟合。所以要考虑模型的泛化能力(或者有些场景需要合理解释模型的参数)。
    李宏毅机器学习笔记——回归_第2张图片
  2. 增加训练集样本
    查看模型是否还准确。若不准确,则要考虑修改模型(重新计算参数;或者可以考虑增加特征数量,或者修改特征描述方式)
  3. 正则化
    在loss function中增加一项: λ Σ ( w i ) 2 \lambda\Sigma(w_i)^2 λΣ(wi)2,对越不接近0的参数进行惩罚(可以减少噪声的影响,使曲线变得平滑,但不希望过于平滑)。
    李宏毅机器学习笔记——回归_第3张图片在做正则化时可以不考虑 b b b值,因为 b b b只影响上下平移,不影响平滑程度。

你可能感兴趣的:(李宏毅老师的《机器学习》,机器学习,回归)