【ShareAi】机器学习 —— 回归Regression

机器学习 —— 回归Regression

Stock Market Forecast(股票市场预测)

  • Input:过去十年股票起伏信息、股票相关公司的并购资料

  • Output:预测未来股票市场指数平均值(Dow Jones Industrial Average)

Self-driving Car(无人驾驶)

  • Input:汽车各种传感器所采集的数据,如超声波距离传感器、激光雷达、图像摄像头等

  • Output:方向盘角度或者目前车辆行驶速度

Recommendation(推荐系统)

  • Input:使用者A的购买习惯,商品B的特性

  • Output:使用者A购买商品B的可能性

预测Pokeman的CP(Combat Power)指标

  • Input:进化前的CP值、HP、Type、Weight、Height等特性

  • Output:进化后的CP值

模型步骤(以预测Pokeman的CP指标为例)

  • Step1:模型搭建(线性模型 y=w*x+b,w为权重,b为偏置)

Training Data:x表示原始CP值,y表示进化后CP值

  • Step2:模型Function评估(Loss Function)

    Loss Function:input为某一个function,output为该function的好坏

  • Step3:Best Function(从Function set中选出最好的一个Function,即选择损失函数值最小)

如何找出Best Function?Gradient Descent

  • 穷举法:遍历曲线所有值,找到L(w)最小值即为最优解(效率非常低)

  • 梯度下降:

    • Step1:随机选取一个初始值\(w_0\)
    • Step2:求解w=\(w_0\)时Loss的微分
      • 当斜率为负值时,w向右增大值
      • 当斜率为正值时,w向左减小值
    • Step3:设置学习率(Learning Rate)
    • 不断重复执行Step2和Step3,直到找到最小值(局部最小值)
  • 梯度下降法图演示过程

    • 图中等高线对应每个Loss值,由外往里值越来越小
    • 红色箭头为对应位置等高线的法线方向

训练结果如何?

计算训练数据集的平均误差来验证模型好坏,该模型在training data的平均误差为31.9

计算测试数据集的平均误差来验证模型好坏,该模型在testing data的平均误差为35.0

因为best function是在training data上找到的,所以在testing data的平均误差要比在训练数据集的平均误差大一点

引入更复杂的模型:一元N次线性模型

一元二次线性方程:y = b + \(w_1\)\(x_1\) + \(w_2\)(\(x_2\))2

training data的平均误差为15.4,testing data 的平均误差为18.4

过拟合问题

拟合问题判断标准

训练集表现 测试集表现 结论
不好 过拟合
不好 不好 欠拟合

数据集在不同一元N次线性方程中的平均误差(分别为一次、二次、三次、四次、五次)

training data的平均误差:31.9、15.4、15.3、14.9、12.8

testing data 的平均误差:35.0、18.4、18.1、28.8、232.1

可以看到,当使用更高次方(更复杂)的模型时,在训练集上的表现越来越优秀,但在测试集上的效果却越来越差,这就是出现了过拟合问题

说明,越复杂的模型在training data上可以有比较好的结果,但在testing data上并不总是可以带来更好的表现

步骤优化

当我们数据集足够大时,我们发现更深的特征,不同种类Pokemon在进化前是相同CP值,但进化后CP值甚至可以相差2倍,即不同Pokemon种类会影响其进化后CP值的结果

  • Back to Step1:重新设计Model的Function

    • 每个物种都有一个function,而且每个function的w权重和b偏置值都不一样

    • 我们将每个物种对应的function合并为一个function线性方程,即y = b + \(\sum\)\(w_i\)\(x_i\)

    • 通过以上图,我们发现使用新模型,training data和testing data的平均误差值都有一定程度的下降

  • Back to Step1:引入更多维度的参数(Height、Weight、HP等)

    • 通过实验可以发现,引入多个特征值后,模型出现过拟合现象
  • Back to Step2:Regularization(归一化),可能会以增大训练误差为代价来减小测试误差,以达到去过拟合效果

    • 保留所有的特征变量,但会减小特征变量的数量级
posted @ 2022-01-12 23:05  .ivan  阅读(77)  评论(0编辑  收藏  举报