机器学习到底是在干什么?(简单理解版本)
sky落笔
编辑于 2024年01月01日 17:54
收录于文集
共3篇
机器学习是怎么学的

Question

对于刚学机器学习的小伙伴,最难的点就是对机器学习有个大致的认知(尤其是做应用层面研究的小伙伴),即机器学习到底是在干什么?看完很多教程和视频后,我个人对机器学习大致有个简单的理解的总结(也许不对)。

Answer

这里以回归为例。

在回归任务中,我们经常想找到一个方程,如y = ax + b,能够很好地拟合特征(x)和标签(y)的关系。而这种关系的好坏经常用MSE或者R2(MSE和R2可以相互转换)来衡量。这里的MSE(MSE = mean((y_prediction - y_true) ** 2))就是我们的损失函数(loss function或者叫cost function),MSE越小代表拟合程度越好(暂不考虑过拟合)。也就是说,我们想让参数a,b变化能够使得MSE尽可能小,而MSE和参数a,b是通过y_prediction关联的。也就是我们可以得到MSE和参数a,b的方程(MSE = f(a ,b))。最理想的情况下,我们想让MSE最小,此时通过最小二乘就能求得最小MSE值的情况下参数a和b的值。到此我们还未涉及到任何机器学习的内容。

以上说的情况是在我们数据量和特征数比较小的情况。但是当我们的数据量和特征数变得很大。理想情况下我们用最小二乘也是能求得最小MSE值的情况下参数a和b的值,但是,但是,但是,这样需要大量的计算资源(如最小二乘结果中的数据矩阵可能没有逆,有逆的话求逆耗费大量计算资源)。此时机器学习就隆重登场了!!!

因为我们构造的loss function或者叫cost function,它一般都是凸函数,方便求偏导,此时我们可以让机器迭代通过梯度下降的方法,让参数a,b逐渐逼近于让MSE(loss function)值的最小情况下参数a和b(最理想的状态)。这就是机器学习的作用。

Conclusion

机器学习就是让方程参数去逼近于正常计算最小损失参数状态下的参数值。(简单理解,勿喷)