Regression

机器学习的步骤主要分为三步:找模型——评估模型——找到最好的模型

找模型

假设采用线性模型\(y=b+\sum w_{i} x_{i}\),\(x_i\)是输入的各种attribute被称为feature

评估模型

知道模型是否好坏需要定义Loss function,来衡量一组参数的好坏

\[\mathrm{L}(w, b)=\sum_{n=1}^{10}\left(\hat{y}^{n}-\left(b+w \cdot x_{c p}^{n}\right)\right)^{2} \]

找到最好的模型

\[\begin{aligned} &f^{*}=\arg \min _{f} L(f) \\ &w^{*}, b^{*}=\arg \min _{w, b} L(w, b) \\ &\quad=\arg \min _{w, b} \sum_{n=1}^{10}\left(\hat{y}^{n}-\left(b+w \cdot x_{c p}^{n}\right)\right)^{2} \end{aligned} \]

其中arg表示取自变量(输入)

Gradient Descent的适用前提是函数可微分,Gradient Descent的解决步骤:

  • 随机选取一个初始值\(W^0\)
  • 计算函数在\(W^0\)处的微分值(函数为凸函数),\(w^{1} \leftarrow w^{0}-\left.\eta \frac{d L}{d w}\right|_{w=w^{0}}\)(\(\eta\)是学习率,learning rate)
    • 微分值为负,需要增加自变量的取值
    • 微分值为正,需要减小自变量的取值
  • 计算函数在\(W^1\)处的微分值,重复上述步骤直到微分值为0

复杂的model在train data上可以得到更好的结果,但不一定在testing data上得到更好的效果,这种现象就是Overfitting

Regularization

解决过拟合问题,修改Loss function为\(L=\sum_{n}\left(\hat{y}^{n}-\left(b+\sum w_{i} x_{i}\right)\right)^{2} {+\lambda \sum\left(w_{i}\right)^{2}}\)

期望输出的参数越接近0,输出对输入改变越不灵敏,Loss function越平滑

上一篇:QT输出打印信息至txt文件中


下一篇:es6 生成器函数参数