当前位置: 首页 > article >正文

数据挖掘校招面经二

得物 数据挖掘

一、线性回归 y = ax 中参数 a 如何计算

1.1. a 是待学习参数

在线性回归中,a 是模型的权重(或斜率),需要通过数据来学习其最优值。学习的目标是找到 a 的值,使得模型的预测值 y ^ = a x \hat{y} = ax y^=ax 尽可能接近真实值 y 。

1.2. 最小二乘法

在线性回归中,通常使用最小二乘法来学习 a 。最小二乘法的目标是最小化误差平方和(即真实值 y 和预测值 y ^ \hat{y} y^ 之间的差异):
误差平方和 = ∑ i = 1 n ( y i − a x i ) 2 \text{误差平方和} = \sum_{i=1}^{n} (y_i - a x_i)^2 误差平方和=i=1n(yiaxi)2
通过最小化这个目标函数,可以找到 a a a 的最优值。

1.2.1. 数据准备

假设有 n 个数据点 ( x i , y i ) (x_i, y_i) (xi,yi),其中 i = 1 , 2 , … , n i = 1, 2, \dots, n i=1,2,,n

1.2.2. 最小二乘法

通过最小化误差平方和来求解 a a a,即:
误差平方和 = ∑ i = 1 n ( y i − a x i ) 2 \text{误差平方和} = \sum_{i=1}^{n} (y_i - a x_i)^2 误差平方和=i=1n(yiaxi)2

1.2.3. 求导并令导数为零

对误差平方和关于 a a a 求导,并令导数为零:
d d a ( ∑ i = 1 n ( y i − a x i ) 2 ) = 0 \frac{d}{da} \left( \sum_{i=1}^{n} (y_i - a x_i)^2 \right) = 0 dad(i=1n(yiaxi)2)=0

展开并简化:
− 2 ∑ i = 1 n x i ( y i − a x i ) = 0 -2 \sum_{i=1}^{n} x_i (y_i - a x_i) = 0 2i=1nxi(yiaxi)=0
∑ i = 1 n x i y i − a ∑ i = 1 n x i 2 = 0 \sum_{i=1}^{n} x_i y_i - a \sum_{i=1}^{n} x_i^2 = 0 i=1nxiyiai=1nxi2=0

1.2.4. 解方程求 a a a

将方程整理为:
a = ∑ i = 1 n x i y i ∑ i = 1 n x i 2 a = \frac{\sum_{i=1}^{n} x_i y_i}{\sum_{i=1}^{n} x_i^2} a=i=1nxi2i=1nxiyi

1.2.5. 最终公式

因此,系数 a 的计算公式为:
a = ∑ i = 1 n x i y i ∑ i = 1 n x i 2 a = \frac{\sum_{i=1}^{n} x_i y_i}{\sum_{i=1}^{n} x_i^2} a=i=1nxi2i=1nxiyi

二、最大似然估计(Maximum Likelihood Estimation, MLE)

见【搜广推校招面经十六】:交叉熵可以通过MLE推导
最大似然估计是一种用于估计统计模型参数的方法,它通过寻找能使观察到的数据出现概率最大的参数值来确定模型的参数。在简单线性回归模型 y = a x y = ax y=ax(无截距项)中,我们可以使用MLE来估计斜率 a a a 的值。
通过最大化对数似然函数,我们可以获得与最小二乘法相同的参数估计结果。这不仅验证了最小二乘法的有效性,还展示了MLE作为一种【通用方法】的强大之处。

2.1. 基本概念

  1. 给定一组独立同分布(i.i.d.)的数据点 ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) (x_1, y_1), (x_2, y_2), ..., (x_n, y_n) (x1,y1),(x2,y2),...,(xn,yn),假设这些数据点符合某个特定的概率分布(例如正态分布),MLE的目标是找到最有可能生成这些观测数据的参数值。
  2. 对于线性回归模型 y = a x y = ax y=ax,我们通常假设误差项服从正态分布 N ( 0 , σ 2 ) N(0, \sigma^2) N(0,σ2)。这意味着每个观测值 y i y_i yi 可以被看作是从正态分布 N ( a x i , σ 2 ) N(ax_i, \sigma^2) N(axi,σ2) 中抽取的样本。

2. 计算斜率 a a a

步骤

  1. 定义似然函数: 对于给定的参数 a a a σ 2 \sigma^2 σ2,似然函数 L ( a , σ 2 ) L(a, \sigma^2) L(a,σ2) 是所有观测值同时发生的联合概率密度。

    如果假设误差项服从正态分布,则似然函数可以写为:
    L ( a , σ 2 ) = ∏ i = 1 n 1 2 π σ 2 exp ⁡ ( − ( y i − a x i ) 2 2 σ 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=1n2πσ2 1exp(2σ2(yiaxi)2)

  2. 取对数似然函数: 为了简化计算,通常取似然函数的自然对数,得到对数似然函数 ln ⁡ L ( a , σ 2 ) \ln L(a, \sigma^2) lnL(a,σ2)
    ln ⁡ L ( a , σ 2 ) = − n 2 ln ⁡ ( 2 π ) − n 2 ln ⁡ ( σ 2 ) − 1 2 σ 2 ∑ i = 1 n ( y i − a x i ) 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=1n(yiaxi)2

  3. 最大化对数似然函数: 要找到使得对数似然函数最大的 a a a 值,可以通过对 a a a 求导并令导数等于零来求解。注意到对 σ 2 \sigma^2 σ2 的优化不影响 a a a 的估计(因为 σ 2 \sigma^2 σ2 在对 a a a 求导时会被消去),所以我们主要关注与 a a a 相关的部分:
    ∂ ln ⁡ L ∂ a = 1 σ 2 ∑ i = 1 n x i ( y i − a x i ) = 0 \frac{\partial \ln L}{\partial a} = \frac{1}{\sigma^2} \sum_{i=1}^{n} x_i(y_i - ax_i) = 0 alnL=σ21i=1nxi(yiaxi)=0

    解这个方程可得:
    ∑ i = 1 n x i y i = a ∑ i = 1 n x i 2 \sum_{i=1}^{n} x_i y_i = a \sum_{i=1}^{n} x_i^2 i=1nxiyi=ai=1nxi2

    因此,斜率 a a a 的最大似然估计为:
    a = ∑ i = 1 n x i y i ∑ i = 1 n x i 2 a = \frac{\sum_{i=1}^{n} x_i y_i}{\sum_{i=1}^{n} x_i^2} a=i=1nxi2i=1nxiyi

三、mse的缺点?

均方误差(Mean Squared Error, MSE)是回归分析中常用的损失函数之一,用于衡量预测值与真实值之间的差异。 MSE = 1 n ∑ i = 1 n ( y i − y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1i=1n(yiy^i)2

3.1. 对异常值敏感

  • MSE通过平方误差来惩罚预测错误,这意味着较大的误差会被平方放大,从而对异常值(outliers)特别敏感。
  • 如果数据集中存在异常值,那么MSE可能会给出一个非常高的误差值,导致模型过度关注这些异常点,而不是整体数据的趋势。

3.2. 不适用于概率分布不对称的情况

  • 在某些情况下,预测误差的概率分布可能是不对称的。例如,在金融风险评估中,低估可能带来的损失通常比高估更为严重。MSE假设所有方向上的误差都是等价的,因此它不适合处理那些需要不同对待正负误差的应用场景。

http://www.kler.cn/a/573234.html

相关文章:

  • HarmonyOS 中 Navigation 组件的应用困境与应对策略
  • Checkpoint 模型与Stable Diffusion XL(SDXL)模型的区别
  • 使用 Deepseek + kimi 快速生成PPT
  • 盛铂科技SCP4000射频微波功率计与SPP5000系列脉冲峰值 USB功率计 区别
  • SPL 和 SQL 能不能融合在一起?
  • 低空经济中,软件服务业 和 物联网(IoT) 的融合尝试
  • 与中国联通技术共建:通过obdiag分析OceanBase DDL中的报错场景
  • C语言:51单片机 结构体系(带最小系统设计图)
  • Ubuntu 上设置 iptables 规则开机自启
  • 【大模型基础_毛玉仁】1.1 基于统计方法的语言模型
  • Gradle 配置 Lombok 项目并发布到私有 Maven 仓库的完整指南
  • 备忘录模式(Memento Pattern)
  • 读写分离架构下的一致性挑战
  • Unity3D主程入职90天工作计划
  • PHP 将图片url,写入到文件夹中,导出到zip下载到桌面
  • SpringBoot Actuator
  • 4. Prometheus监控数据持久化
  • Spring Boot中对接Twilio以实现发送验证码和验证短信码
  • Redis 篇
  • flask 安装后不能识别