数据挖掘校招面经二
得物 数据挖掘
一、线性回归 y = ax 中参数 a 如何计算
1.1. a 是待学习参数
在线性回归中,a 是模型的权重(或斜率),需要通过数据来学习其最优值。学习的目标是找到 a 的值,使得模型的预测值 y^=ax\hat{y} = axy^=ax 尽可能接近真实值 y 。
1.2. 最小二乘法
在线性回归中,通常使用最小二乘法来学习 a 。最小二乘法的目标是最小化误差平方和(即真实值 y 和预测值 y^\hat{y}y^ 之间的差异):
误差平方和=∑i=1n(yi−axi)2 \text{误差平方和} = \sum_{i=1}^{n} (y_i - a x_i)^2 误差平方和=i=1∑n(yi−axi)2
通过最小化这个目标函数,可以找到 aaa 的最优值。
1.2.1. 数据准备
假设有 n 个数据点 (xi,yi)(x_i, y_i)(xi,yi),其中 i=1,2,…,ni = 1, 2, \dots, ni=1,2,…,n。
1.2.2. 最小二乘法
通过最小化误差平方和来求解 aaa,即:
误差平方和=∑i=1n(yi−axi)2 \text{误差平方和} = \sum_{i=1}^{n} (y_i - a x_i)^2 误差平方和=i=1∑n(yi−axi)2
1.2.3. 求导并令导数为零
对误差平方和关于 aaa 求导,并令导数为零:
dda(∑i=1n(yi−axi)2)=0 \frac{d}{da} \left( \sum_{i=1}^{n} (y_i - a x_i)^2 \right) = 0 dad(i=1∑n(yi−axi)2)=0
展开并简化:
−2∑i=1nxi(yi−axi)=0 -2 \sum_{i=1}^{n} x_i (y_i - a x_i) = 0 −2i=1∑nxi(yi−axi)=0
∑i=1nxiyi−a∑i=1nxi2=0 \sum_{i=1}^{n} x_i y_i - a \sum_{i=1}^{n} x_i^2 = 0 i=1∑nxiyi−ai=1∑nxi2=0
1.2.4. 解方程求 aaa
将方程整理为:
a=∑i=1nxiyi∑i=1nxi2 a = \frac{\sum_{i=1}^{n} x_i y_i}{\sum_{i=1}^{n} x_i^2} a=∑i=1nxi2∑i=1nxiyi
1.2.5. 最终公式
因此,系数 a 的计算公式为:
a=∑i=1nxiyi∑i=1nxi2 a = \frac{\sum_{i=1}^{n} x_i y_i}{\sum_{i=1}^{n} x_i^2} a=∑i=1nxi2∑i=1nxiyi
二、最大似然估计(Maximum Likelihood Estimation, MLE)
见【搜广推校招面经十六】:交叉熵可以通过MLE推导
最大似然估计是一种用于估计统计模型参数的方法,它通过寻找能使观察到的数据出现概率最大的参数值来确定模型的参数。在简单线性回归模型 y=axy = axy=ax(无截距项)中,我们可以使用MLE来估计斜率 aaa 的值。
通过最大化对数似然函数,我们可以获得与最小二乘法相同的参数估计结果。这不仅验证了最小二乘法的有效性,还展示了MLE作为一种【通用方法】的强大之处。
2.1. 基本概念
- 给定一组独立同分布(i.i.d.)的数据点 (x1,y1),(x2,y2),...,(xn,yn)(x_1, y_1), (x_2, y_2), ..., (x_n, y_n)(x1,y1),(x2,y2),...,(xn,yn),假设这些数据点符合某个特定的概率分布(例如正态分布),MLE的目标是找到最有可能生成这些观测数据的参数值。
- 对于线性回归模型 y=axy = axy=ax,我们通常假设误差项服从正态分布 N(0,σ2)N(0, \sigma^2)N(0,σ2)。这意味着每个观测值 yiy_iyi 可以被看作是从正态分布 N(axi,σ2)N(ax_i, \sigma^2)N(axi,σ2) 中抽取的样本。
2. 计算斜率 aaa
步骤
-
定义似然函数: 对于给定的参数 aaa 和 σ2\sigma^2σ2,似然函数 L(a,σ2)L(a, \sigma^2)L(a,σ2) 是所有观测值同时发生的联合概率密度。
如果假设误差项服从正态分布,则似然函数可以写为:
L(a,σ2)=∏i=1n12πσ2exp(−(yi−axi)22σ2) L(a, \sigma^2) = \prod_{i=1}^{n} \frac{1}{\sqrt{2\pi\sigma^2}} \exp\left(-\frac{(y_i - ax_i)^2}{2\sigma^2}\right) L(a,σ2)=i=1∏n2πσ21exp(−2σ2(yi−axi)2) -
取对数似然函数: 为了简化计算,通常取似然函数的自然对数,得到对数似然函数 lnL(a,σ2)\ln L(a, \sigma^2)lnL(a,σ2):
lnL(a,σ2)=−n2ln(2π)−n2ln(σ2)−12σ2∑i=1n(yi−axi)2 \ln L(a, \sigma^2) = -\frac{n}{2}\ln(2\pi) - \frac{n}{2}\ln(\sigma^2) - \frac{1}{2\sigma^2}\sum_{i=1}^{n}(y_i - ax_i)^2 lnL(a,σ2)=−2nln(2π)−2nln(σ2)−2σ21i=1∑n(yi−axi)2 -
最大化对数似然函数: 要找到使得对数似然函数最大的 aaa 值,可以通过对 aaa 求导并令导数等于零来求解。注意到对 σ2\sigma^2σ2 的优化不影响 aaa 的估计(因为 σ2\sigma^2σ2 在对 aaa 求导时会被消去),所以我们主要关注与 aaa 相关的部分:
∂lnL∂a=1σ2∑i=1nxi(yi−axi)=0 \frac{\partial \ln L}{\partial a} = \frac{1}{\sigma^2} \sum_{i=1}^{n} x_i(y_i - ax_i) = 0 ∂a∂lnL=σ21i=1∑nxi(yi−axi)=0解这个方程可得:
∑i=1nxiyi=a∑i=1nxi2 \sum_{i=1}^{n} x_i y_i = a \sum_{i=1}^{n} x_i^2 i=1∑nxiyi=ai=1∑nxi2因此,斜率 aaa 的最大似然估计为:
a=∑i=1nxiyi∑i=1nxi2 a = \frac{\sum_{i=1}^{n} x_i y_i}{\sum_{i=1}^{n} x_i^2} a=∑i=1nxi2∑i=1nxiyi
三、mse的缺点?
均方误差(Mean Squared Error, MSE)是回归分析中常用的损失函数之一,用于衡量预测值与真实值之间的差异。MSE=1n∑i=1n(yi−y^i)2\text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2MSE=n1i=1∑n(yi−y^i)2
3.1. 对异常值敏感
- MSE通过平方误差来惩罚预测错误,这意味着较大的误差会被平方放大,从而对异常值(outliers)特别敏感。
- 如果数据集中存在异常值,那么MSE可能会给出一个非常高的误差值,导致模型过度关注这些异常点,而不是整体数据的趋势。
3.2. 不适用于概率分布不对称的情况
- 在某些情况下,预测误差的概率分布可能是不对称的。例如,在金融风险评估中,低估可能带来的损失通常比高估更为严重。MSE假设所有方向上的误差都是等价的,因此它不适合处理那些需要不同对待正负误差的应用场景。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)