机器学习中,线性回归居然是中学学的那条直线
藏在机器学习入门第一课里的核心干货,不用啃厚教材,用你中学学过的数学就能全搞懂,新手收藏起来少走半个月弯路。
说出来你可能不信,整个机器学习最基础的线性回归,本质上就是初中课本里的一元一次方程y=kx+b。
当年你背的k是斜率,b是截距,套到机器学习里直接换个名字就上岗:x是你输入的特征,k是权重,b是偏置项,最后输出的y就是你要预测的结果。
二维空间里它就是条直线,要是碰到好几十个特征的高维数据,它就升级成了平面甚至超平面,核心逻辑半毛钱没变。
就拿大家最熟的房价预测举例子:
你手里有一堆历史成交数据,90平的房子卖多少钱、120平的卖多少钱,把面积当x,房价当y,找一条最贴合所有点的直线,以后随便给个新的面积,往公式里一套,直接就能算出预测房价。
核心目标从头到尾就一个:找最合适的k和b,让预测出来的数,和真实的房价差得越小越好。
别以为它只能处理单变量的情况,多变量场景它照样能打:比如预测房价除了面积,还能加楼层、学区、到地铁的距离好几个特征,每个特征配个专属的权重,全部加起来照样是线性逻辑。
哪怕你给特征加个平方、立方项,只要把这些高次项当成新的独立特征,它本质上还是线性回归,也就是大家常听的多项式回归。
那怎么才能找到误差最小的那组权重和偏置?全靠损失函数当裁判。
最常用的就是均方误差MSE,把所有预测值和真实值的差平方之后加起来再除以样本数,数值越小说明模型准头越高,我们的目标就是把这个数往0的方向使劲压。
现在主流的求解方法就俩,各有各的适用场景:
第一个是你中学就学过的最小二乘法,放到机器学习里写成矩阵形式,直接一步就能算出精准的解析解,也叫正规方程法。
但它有个致命缺点:数据量一大、特征一多,矩阵运算直接能把内存干爆,只适合小数据集玩。
第二个就是现在工业界用得最多的梯度下降法,专门适配高维、大数据量的场景。
说穿了逻辑也特别简单:你把损失函数想象成一座山,你站在山坡上,顺着最陡的方向一步步往下走,走得越来越慢,最后总能摸到山脚下的最低点,也就是误差最小的最优参数位置。
唯一要注意的就是走到最低点附近的时候容易来回晃,数据量大的话开个GPU加速,效率能翻好几倍。
最后给大家捋捋它的优缺点,新手用的时候别踩坑:
好处是可解释性拉满,每个权重多大,直接就能看出来这个特征对最终结果的影响有多大,运算速度还快。
但它的局限性也很明显:只能处理自变量和因变量本来就有线性关系的数据,对异常值特别敏感,要是几个特征之间高度相关(也就是常说的多重共线性),模型直接就不稳了。
现在工业界用得特别广:房价预测、信贷风险评估、公司销量预估、交通流量测算,全有它的身影,别看它简单,很多复杂算法的底层逻辑都是从它延伸出来的。
你们刚入门机器学习的时候,第一个搞懂的算法是啥?有没有被线性回归的一堆绕口公式整懵过?
