菜鸟的机器学习笔记-day2- 回归

版权声明:本文为博主原创文章,博客地址:https://blog.csdn.net/lianjoke0,未经博主允许不得转载。 https://blog.csdn.net/lianjoke0/article/details/82354771

Regression: Output a scalar

回归算法就是通过测试数据训练出f*,实验数据通过f*可以预测数合理的数值结果。

常用的场景有:股市预测领域,道琼斯工业指数预测;无人驾驶领域,在某种情形下汽车方向盘的偏转角度;营销领域,客户是否购买预测;Pokemon游戏中宠物进化后的CP值预测等等。

以Pokemon游戏为例

step 1 假设模型为线性模型:y = b + \sum w_i x_i ,其中b: biasw_i:weightx_i:x_{cp},x_{hp},x_w,x_h.....

step 2 函数优劣评判标准Loss Function,L(f) = \sum^{10}_{n=1} ( \hat{y}^n - f(x{_{cp}}^{n}))^{2} <=> L(w,b) = \sum^{10}_{n=1} ( \hat{y}^n - (b + w\cdot x{_{cp}}^{n}))^{2}

step 3 找到最优的函数f*f* = \arg \min_f L(f) <=> w*, b* = \arg \min_f L(w,b) = \arg \min_{w,b} \sum^{10}_{n=1} ( \hat{y}^n - (b + w\cdot x{_{cp}}^{n}))^{2}

Gradient Descent:梯度下降法

可以通过梯度下降法解决计算问题,通过对w和b分别求偏微分,逐步演进,最终得到最优函数的w和b的值,从而得到f*

L(w,b) = \sum^{10}_{n=1} ( \hat{y}^n - (b + w\cdot x{_{cp}}^{n}))^{2}

\frac{\partial L}{\partial w} = \sum^{10}_{n=1} 2 ( \hat{y}^n - (b + w\cdot x{_{cp}}^{n})) (-x{_{cp}}^{n})

\frac{\partial L}{\partial w} = \sum^{10}_{n=1} 2 ( \hat{y}^n - (b + w\cdot x{_{cp}}^{n})) (-1)

梯度下降算法的局限性,世上没有万能的方法,梯度下降算法在某些情况下会失灵,会陷入鞍点和局部最小。但一般情况下梯度下降算法还是有用的。

 尝试其他的线性模型

  1. y = b + w\cdot x_{cp}

  2. y = b + w_1\cdot x_{cp} + w_2 \cdot x_{cp}^2

  3. y = b + w_1\cdot x_{cp} + w_2 \cdot x_{cp}^2 + w_3 \cdot x_{cp}^3

  4. y = b + w_1\cdot x_{cp} + w_2 \cdot x_{cp}^2 + w_3 \cdot x_{cp}^3 + w_4 \cdot x_{cp}^4

  5. y = b + w_1\cdot x_{cp} + w_2 \cdot x_{cp}^2 + w_3 \cdot x_{cp}^3 + w_4 \cdot x_{cp}^4 + w_5 \cdot x_{cp}^5

但是根据结果测试数据的结果发现,并没有越来越好,出现了过度拟合(overfitting),网上有一张图很形象的说明了什么是过拟合和欠拟合。

解决欠拟合或过拟合的思路

1、增减模型的参数维度。如利用线性回归预测房屋价格的例子中,增加“卧室数量”,“停车位数量”,“花园面积”等维度以解决欠拟合,或相应的减少维度去解决过拟合。

2、增减多项式维度,比如将加入高阶多项式来更好地拟合曲线,用以解决欠拟合,或者降阶去处理过拟合。

3、调整Regularization Parameter。在不改变模型参数维度和多项式维度的情况下,单纯的调整Regularization Parameter同样可以有效改变模型对数据的拟合程度。

对Loss Function进行正则化,可以使得函数更加的平滑,这样的函数更有可能是最优的。

L(w,b) = \sum_{n} ( \hat{y}^n - (b + \sum w_i x_i))^{2} + \lambda \sum (w_i)^2

猜你喜欢

转载自blog.csdn.net/lianjoke0/article/details/82354771
今日推荐