目录
一、从线性模型开始:回归
1.回归模型
(1)基本形式
线性模型基本表示为
其中y为预测变量,在回归问题中可以理解为想要预测的响应变量,如股票未来价格、预测房价、预测个人可能工资等;
x为特征变量,是用于训练模型的核心数据,代表了对问题现实描述的影响因子,如股票价格预测中的股市技术指标、房价影响因素中的房屋面积,楼层数,过往成交价格等、个人工资中个人学历,年龄,性别等。对于现实中的任务,其结果的影响因素可能很多,此处假设存在n个影响因子x;
w为模型参数,可以理解为每个影响因子x对预测值y的重要程度,是权值参数,如股票短期预测中是技术指标更重要,还是宏观因素更重要;影响房价的众多因素中,房屋面积是不是占主要地位;个人工资又是不是大部分由个人学历决定。对于这些问题的回答,将决定对应影响因子前的权值大小。
为误差项,误差项代表了数据的随机性和不可预测性,是数据中的噪音。可能包括测量误差、数据收集过程中的误差,或是模型未能包含的其他变量的影响。
(2)代数形式
线性模型代数表示为
其中, ,
在代数模型中,将误差项加入了特征矩阵中,是为了简化了模型表达,本质上和基本形式是一样的。
2.回归模型损失函数的推导
模型的预测值 和实际样本的观测值 。上述构建的线性回归模型将样本的特征变量 以权重参数 的方式求和,得到模型的预测结果 。实际机器学习中有一个训练模型的过程,此时还需要对预测结果进行评估,这就需要一个“标准答案”,这就是样本的观测实际值 。
为了训练回归的模型参数,需要一个度量训练输出 和实际数据 “差异”的函数,这就是损失函数。损失函数在机器学习中发挥关键作用,就如同我们学习过程中对我们学习现状(做试卷)打分的“老师”一样。
损失函数更像是一个“文科老师”(不同于数学结果只有对错一种评判结果),损失函数的“打分方式”可以有很多,一个好的评分方式对我们学习很重要(比如如果政治主观题只以字数多少作为得分标准显然不合适),因此选择合适的损失函数形式在机器学习过程中很重要。
(1)感性直觉(最小二乘法)
均方误差MSE (Mean Squared Error),是回归任务常用的损失函数。通过回归模型的基本形式可知,模型中存在一个误差项,既是数学模型无法解释实际观测值的部分,也是模型预测值和实际值的差距(欧式距离)。
误差项表示观测值和模型预测值的差异,最小二乘法MSE旨在最小化所有误差项的平方和。这个误差就是下图中样本点到预测线的绿色虚线距离,MSE就是要找到一条这样的线,使得所有样本点到线性直线上对应点的距离和最小。
上述内容用数学表示如下。
在损失函数输入的所有变量中, 都为观测固定,只有参数 可变。取平方是为了防止数值的正负相消。
在实际中,损失函数作为度量模型表现的测度,更关心的是相对值,而不是绝对大小。因此常常对上述所有样本的和再取平均值。下式中 是总共样本的个数。
下图展示了找到最优曲线的一种过程,可以看到和样本点“拟合”程度最高的红色曲线,对应的损失函数MSE取值也最小。因此最小化损失函数以找到最优曲线的方法,至少看上去是十分合理有效的。
(2)理性推导(极大似然估计法)
假设有一批采样的数据点 ,其中,代表特征向量,如 。 是对应与的观测值。
①模型 、观测 和误差
需要再次强调的是,假如构建了线性模型,此时其实存在着两种“ ”值形式——模型预测的 和实际观测的数据 。模型预测 表示,实际观测 由数据采样直接给出。
假设现在已经训练好了一个最优模型来解释数据。我们来看 和 的关系。
再次看模型曲线跟样本点图可知,即使是最优模型,模型预测值和实际观测值之间仍是存在误差的。从图像看出,即使是最优的红线,也不是所有样本点都落在曲线上了。这并不代表我们的模型还没有优化好,而是观测数据中本身就存在噪音。可能是观测统计时出现的微小错误,也可能是因为特征数据 中未包含其他微小影响因素。
这种误差在我们确定模型(特征选取),和采样数据时就已经存在。虽然在训练中和后续预测中这种误差,让我们的模型看起来不那么“完美”,但不代表这种误差值得学习。这种噪声在实际中十分普遍,一个好的模型应对噪声有更好的包容性。
②条件分布视角下的 y
因为存在我们无法衡量的误差项(噪声),因此我们要放弃对实际观测数据 “精确”地拟合观点,噪声是我们不希望机器学习到的内容,学习噪声会导致模型过拟合而失去泛化性。
因为误差项的随机性,观测数据 其实是不确定的,我们收集到的所有数据点 只是一种采样结果。
意识到这一点很重要,这意味着不能仅仅按(X,y)对应坐标平面的一个定点来看待数据间关系了。将特征X和观测实际值y分开看待,将希望预测的 看成一个在给定 下的条件分布中的采样。
如何理解 的条件分布,关于 的分布是什么,分布中对应的参数值又是什么?
③独立同分布假设
在讨论 具体分布前,先必须对独立分布假设做出解释。数据集中的样本都有各自的观测值。机器学习假设所有这些样本的 的采样都是独立且同分布的。
这意味着即使我们有无数个样本 ,独立同分布假设表明每个样本都服从同样的分布,机器学习也只用学习这一个分布。下面分别解释了独立与同分布的具体含义。
独立性:每个采样的 值是独立的,意味着任何一个 的值不会影响其他 的值。这是说每个样本的采样是不能相互关联的,比如说股票预测里,你不能把指数股和成分股的样本点放在一起,因为成分股是指数的一部分,本身就会对指数股价格造成影响。这样的关联采样是不符合独立性假设的。
同分布:每个采样的 值来自同一个分布,拥有相同的概率分布特性(如均值、方差等)。这意味着尽管每个 的具体值可能不同,但它们遵循的规则(分布)是一样的。比如说虽然股票的价格或者房价()有大有小,但它们价格的波动可能都受那么几个指标()影响,不管高低,价格()都是围绕一个规律()附近波动。这个“波动”再次说明,模型的预测不是精确点的拟合。表明在分布的最大处取值最有可能,但也不排除“奇异值”的小概率情况的出现。而机器学习是要找到这个最一般的规律,也是最有可能发生的取值情况去预测未来()。
④误差项的正态分布
在线性模型 中,唯一具有波动性的只有假设的误差项 ,这也是将 看作一个采样结果的来源。同分布假设告诉我们对于所有采样的 ,存在一个通用的 解释了所有可能的产生误差的因素。因此想要知道 的分布,必须先研究误差 的分布。
中心极限定理:误差项服从正态分布。
假设误差项 中包含各种独立因素 ,是小的、独立同分布的随机变量。如果这些因素的数量很大,那么根据中心极限定理, 的分布将趋近于正态分布,无论其内部独立元素 的原始分布是什么。
保证参数无偏估计的条件:误差项服从均值为0的正态分布 。
回到线性回归模型,要保证模型参数 无偏性,意味着模型预测 的期望等于实际观测 的期望。
根据无偏性的假设要求,可以进一步证明了误差项的分布均值为0。
关键假设:由中心极限定理和无偏估计决定,误差项服从均值为零的正态分布。即
⑤ y在X下的条件分布
有了上述准备,现在来看 具体分布。
线性模型中可以将 视为一个常数,因为给定特征向量 ,其模型输出值一定。 是一个均值为零的正态分布。可以根据正态分布的线性组合得知 的分布。
正态分布的线性组合:如果一个随机变量 遵循正态分布,即 ,那么其任何线性组合 (其中 和 是常数)也是遵循正态分布的。其线性组合的正态分布参数为
现在终于知道了 的分布,并且可以计算出其分布均值 。在分布参数均值中还存在一个变量 ,也就是对于每个不同的样本其 的分布也不同,所以这其实是个条件分布。
下图中画出了三个样本可能的分布图像。横坐标代表 的取值,绿色的虚线在x轴的交点对应于 的实际观测值。
对于不同样本的分布,仅仅只是调整均值,然后图像平移,因此如果聚焦于分布,可以得到所有样本的“一个分布”。即不管如何采样,只要是独立的,样本 值一定是在如下分布中采样的。
换一个角度思考,从模型预测未来值来看,只要将分布参数 确定了(这代表模型训练到最优了),就可以知道在当前的新的特征值 下,预测值 最大可能的取值。而给我们最大可能这个判断的自信心来自于之前所有样本训练出来分布。如下图所示。
下图给出了一个具体的数据例子,可以看到对应于坐标系中的样本红点和模型预测绿点,其分布图像为右侧所示。
注意上述右图只描述了一种情况(假设对应的分布),对于左图每一种红色真实样本点和线上绿色预测点,分布图像都会变化,具体来说是图像的左移或右移,即正态分布的方差不变,均值增加或减少(取决于新的点位在示例点的左侧还是右侧)。
⑥给定 X 下 y 的似然
虽然前面工作能画出 y 的大致分布图像,但对最优分布具体的形状还是一无所知。也就是说现在回到了问题的一开始,如何通过样本点训练出这个最优的正态分布模型。最关键的就是这个正态分布的均值 中的模型参数 。在机器学习一开始,我们并不知道最优的模型参数是什么。那么在开始随机的一个参数值 对应的分布,我们该怎么评价这个分布的“好坏”呢?对这个分布的评价,就是我们希望的模型的损失函数。
通过正态分布概率密度函数公式可以计算出这个随机参数 分布中每个 y 取值采样结果的发生概率,即得出 y 的条件似然 。
其中X,y下标 表示当前选择的是哪一个样本。通过等式右侧公式可以知道,将随机得初始参数 一般化到每一个模型的参数 。只要给定的模型的参数 和分布的方差 ,就可以对不同样本的 观测结果,就可以计算出在当前参数分布下,抽样到这个观测结果 的具体概率。
给定x下y的似然:,这是一个条件概率,代表对于一个样本已知 X (特征)下 y (预测值)取值的概率。已知分布得出对应y值发生的可能性叫做概率;未知分布但已知y值发生可能反推分布,此时y值“概率”叫似然。本质上似然就是发生概率。在正态假设下,可用正态分布密度函数计算出具体值。
⑦似然函数估计最优参数W
一个很朴素的想法就是,一个“好”的分布,应该使得抽样的数据集 ,这些观测结果对应当前分布的似然(发生概率)最大。根据概率的乘法公式,对于N个样本同时发生的概率,就使用每个样本发生的概率连乘积起来表示。这种从样本的似然(概率)倒推分布参数()的方法称为极大似然估计法。
通过上述从条件分布中得到的似然概率 ,可以得到每个样本y值的取值概率(给定分布参数下),可以进一步构造出似然函数。将观测到每个独立样本似然概率乘积,即为回归模型的似然函数 。
似然函数:似然函数代表给定分布参数,观测到当前样本情况集合的概率。在回归中每个样本出现的概率用其对应的概率密度函数表示,而整体的样本概率则是一个联合概率,用每个样本的概率密度乘积计算。
上述似然函数为我们提供了一个合适的评估当前参数的分布模型“好坏”的标准,即算出的似然函数越大,代表当前模型参数值越好。那么就可以通过这个似然函数从随机的一个参数值 ,不断优化到我们希望的最优模型参数
从另一个角度来讲,我们不需要随机然后一步步比较出最优的模型参数。因为参数 包含在似然函数里,可以看成似然函数的一个自变量,那么可以直接最大化似然函数,就可以算出最优解 。其中另一个参数 由误差项的分布方差给出。构造似然函数就是在无数个可能的参数取值中搜索出一组参数,使得观测到当前样本集合的联合概率最大(即似然函数取值最大)。
极大似然估计:极大似然估计旨在找到一组输入的参数值,使得观测到当前样本情况联合概率最大,在实践中常用lnx的单调性和性质,将概率连乘转化为求和。
假设已知分布, 为观测数据 ,最大化分布下观测数据发生概率:
解出使得观测发生概率最大的分布参数
对于似然函数推导公式,两边取对数 ,由于对数函数单调递增,所以此操作不影响对最大值的讨论,当取对数的式子取得最大值时,原式也取最大。但新式子通过运算,将连乘积转为求和运算。这是因为似然函数中是概率的乘积,如果概率值都很小,样本很大,那么最终的结果可能会导致“数值的消失”,因此将其转换为求和更合理。
推导后的式子中N(样本数量),x(特征),y(样本值)都固定给出,其中可变参数只有。根据关键假设,,意味着值在实际操作中通常假设为固定值,即分布方差往往由数据本身决定,而不是模型学习的内容。因此上述极大估计式子中可“省略”部分数值固定的字母。
极大似然估计的最终形态上式,同之前最小二乘法得到的损失函数异曲同工。同样可以对其取平均值,得到一模一样的回归模型的损失函数公式。
概率论角度推导损函总结:
- 模型:
- 误差项分布假设:
- y的条件分布:
- y的似然概率:
- 似然函数:
- 极大似然函数估计: