回归分析
回归分析(Regression analysis)是统计学的一个概念,用来估计各个变量之间的关系。
机器学习中常见的回归分析类型有:
- Linear Regression 线性回归
- Logistic Regression逻辑回归
机器学习中的回归分析大体可以用
y=f(x)
来表示,即给定输入量
x
,得出输出结果
李宏毅教授的课上讲了一个比较有意思的例子——根据Pokemon的已有参数(如cp、生命值、身高、体重)等,预测Pokemon进化后的cp值。
整个回归分析分为三个步骤:
- 通过建立Model,定义function set
- 定义什么样的function是好的
- 从function set中选出最好的function
下面分别进行阐述
1. 通过建立Model,定义function set
课程中采用了经典的linear model,这也是一个入门级的model:
其中 xi 代表Pokemon的属性, wi 是权重, b 是bias,事实上每一组不同的
2. 定义什么样的function是好的
首先考虑
3. 从function set中选出最好的function
从function set中选出
L(f)
最小的function即为最好的function,其中
w
与
其中 θ 代表需要优化的参数, η 代表每一次进行参数更新的步长, ∇L 代表函数 L 的梯度(对各个参数进行偏微分组成的向量)。在本例中,
最后得出的拟合结果为
模型的选择
Overfitting
之前我们只考虑了
w
是标量的情况,在
那么就有
此时拟合结果为
更进一步
当多项式的次数过高时,会存在 过拟合(Overfitting)的问题。在过拟合时,模型过度拟合训练样本,失去一般性,从而在训练样本上面的误差很小,但是在检测样本上面的误差很大。如下图所示,在多项式的次数增大的时候,Training data上面的误差不断减小,然而Testing data上面的误差先减小,后急剧增大。
hidden factors
除了进化之前的 xcp 值,进化之后的 xcp 值还可能受Pokemon的种类、高度、重量等影响,这些参数都可以用来redesign model。
regularization
为了让模型拟合的曲线更加平滑,我们可以让模型的参数尽可能变小。为此可以在Loss function中加入参数大小的影响因子,如下公式
更加平滑的function受参数的影响较小。(If some noises corrupt input when testing, a smoother function has less influence)
总结
本文主要介绍了回归分析以及建模步骤,涉及到的新概念有Gradient decent、Overfitting、Regularization等。