线性回归 linear regression
通过现实生活中的例子,可以帮助理解和体会线性回归。比如某日,某屌丝同事说买了房子,那一般大家关心
的就是房子在哪,哪个小区,多少钱一平方这些信息,因为我们知道,这些信息是"关键信息”(机器学习里的
黑话叫“feature”)。那假设现在要你来评估一套二手房的价格(或者更直接点,你就是一个卖房子的黑中介,
嘿嘿),如果你对房价一无所知(比如说房子是在非洲),那你肯定估算不准,最好就能提供同小区其他房子的报
价;没有的话,旁边小区也行;再没有的话,所在区的房子均价也行;还是没有的话,所在城市房子均价也行
(在北京有套房和在余杭有套房能一样么),因为你知道,这些信息是有“参考价值”的。其次,估算的时候我
们肯定希望提供的信息能尽量详细,因为我们知道房子的朝向,装修好坏,位置(靠近马路还是小区中心)是会
影响房子价格的。
其实我们人脑在估算的过程,就类似一个“机器学习”的过程。
a)首先我们需要“训练数据”,也就是相关的房价数据,当然,数据太少肯定不行,要尽量丰富。有了这些数据,
人脑可以“学习”出房价的一个大体情况。因为我们知道同一小区的同一户型,一般价格是差不多的(特征相近,
目标值-房价也是相近的,不然就没法预测了);房价我们一般按平方算,平方数和房价有“近似”线性的关系。
b)而“训练数据”里面要有啥信息?只给你房子照片肯定不行,肯定是要小区地点,房子大小等等这些关键“特
征”
c)一般我们人肉估算的时候,比较随意,也就估个大概,不会算到小数点后几位;而估算的时候,我们会参照现
有数据,不会让估算跟“训练数据”差得离谱(也就是下面要讲的让损失函数尽量小),不然还要“训练数据”
干嘛。 计算机擅长处理数值计算,把房价估算问题完全可以用数学方法来做。把这里的“人肉估算”数学形式
化,也就是“线性回归”。
1.我们定义线性回归函数(linear regression)为:
然后用 h(x) 来预测 y
最简单的例子,一个特征 size,y 是 Price,把训练数据画在图上,如下图。(举最简单的例子只是帮助理解,
当特征只有一维的时候,画出来是一条直线,多维的时候就是超平面了)