目录
一、线性回归的起源
线性回归(Linear Regression)模型是机器学习中最简单、最基础的监督学习模型,虽然简单,但却也非常重要,线性回归是很多复杂模型的基础。
线性回归要处理的一类问题是:给定一组输入样本,和每个样本对应的目标值,需要在某一损失准则下,找到(学习到)目标值和输入值的函数关系,这样,当有一个新的样本到达时,可以预测其对应的目标值是多少。
线性回归之所以被称为叫回归,源于线性回归方法最早提出时是发表在《遗传的身高向平均数方向的回归》一文中,其提出者——英国著名的生物学家兼统计学家弗朗西斯•高尔顿在研究父辈和子辈身高的遗传关系时提出了一个直线方程,来拟合被调查父母的平均身高 x 和 子女平均身高 y 之前的关系:
以上y、x的单位都是英寸,换算成米之后即:
也就是说,当父母平均身高为1.7米时,儿女的身高约为1.7339米。而当父母平均身高为1.8米时,儿女的身高约为1.7855米。它反映了一个规律,即儿子的身高,有向他们父辈的平均身高回归的趋势。从此“线形回归”的名称被沿用下来,作为根据一种变量预测另一种变量或多种变量关系的描述方法。
二、线性回归的基本形式
给定由个属性描述的示例
, 其中
是
在第
个属性上的取值,线性模型试图学得一个通过属性的线性组合来进行预测的函数,即:
写成向量形式即:
其中,。其含义可理解为各个特征的权重参数,例如,某个人对相亲对象的好感具象成一个得分值并用线性模型进行学习:
这表明,此人对相亲对象的外貌appearance与举止behaviour更为重视,而对身高height与学历education相对而言重视程度更低。从中可以看出,线性模型具有良好的可解释性,可以清晰地知晓预测值的构成和由来。而在金融风控、医疗健康等领域对于可解释性要求较高,故而在工业实际应用中,线性回归模型十分常见。
三、线性回归的损失计算
线性回归模型的训练就是为了习得式子中的
、
,使输入
得到的输出得分值
接近于真实值
,其关键在于定义损失函数,以衡量预测值与真实值之间的差异。
均方误差是回归任务中最常用的性能度量,即:
因此我们可试图让均方误差最小化,求解、
使损失值最小化的过程,即线性回归模型的最小二乘“参数估计”。直观上看,均方误差对应的是欧几里得距离(即欧氏距离),表示的是预测点到真实点的距离。之所以不用三次方计算损失函数,是因为奇次方计算的损失可以是负数,误差和会相互抵消,而对损失函数求导后其导数恒正,更新参数时会出错。之所以不用四次方甚至更高的偶数次方计算损失函数,是因为计算量大,而且惩罚项过大,会使得模型受噪音影响严重。
利用最小二乘法求、
,为便于讨论,将
、
吸收入向量形式
,将数据集D表示为一个m×(d+1)大小的矩阵
,其中每行对应于一个样本,该行前d个元素对应于样本的d个属性值,最后一个元素恒置为1,即:
将真实值表示为向量形式即,则要求的就是使:
最小时的参数。
Loss对求导得到:
令时可得
的最优解。
当为满秩矩阵或正定矩阵时,可求得
.其中,
是
的逆矩阵。
令,则最终学习到的线性模型为:
在现实任务中,往往不是满秩矩阵,即数据集中的样本属性个数超过样本条数,列数多于行数。此时可以解出多个
,都能得到最小的均方误差。选择哪一个解作为输出,将由学习算法的归纳偏好决定,常见的做法是引入正则化 (regularization) 项。
参考资料:
周志华老师《机器学习》