数据挖掘校招面经二

得物 数据挖掘

一、线性回归 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假设所有方向上的误差都是等价的,因此它不适合处理那些需要不同对待正负误差的应用场景。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/981787.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式硬件发展历程

微型计算机架构:CPURAM存储设备 以前常把CPU称为MPU,但现在随着发展,分为两条道路: 一、发展历程 1、集成 然后把CPURAMFlash其他模块集成在一起,就称为MCU也称单片机,他们Flash和RAM比较小,运行裸机程…

Java进阶:Zookeeper相关笔记

概要总结: ●Zookeeper是一个开源的分布式协调服务,需要下载并部署在服务器上(使用cmd启动,windows与linux都可用)。 ●zookeeper一般用来实现诸如数据订阅/发布、负载均衡、命名服务、集群管理、分布式锁和分布式队列等功能。 ●有多台服…

Java spring客户端操作Redis

目录 一、创建项目引入依赖 二、controller层编写 (1)String类型相关操作测试: (2)List类型相关操作测试: (3)Set类型相关操作测试: (4)Has…

TMS320F28P550SJ9学习笔记1:CCS导入工程以及测试连接单片机仿真器

学习记录如何用 CCS导入工程以及测试连接单片机仿真器 以下为我的CCS 以及驱动库C2000ware 的版本 CCS版本: Code Composer Studio 12.8.1 C2000ware :C2000Ware_5_04_00_00 目录 CCS导入工程: 创建工程: 添加工程: C…

【Java学习】String类变量

面向对象系列七 一、String类似复刻变量 1.似复刻变量 1.1结构 1.2常量池检查 1.3构造方法 1.4""形式 1.5引用 2、字符数组 2.1不可变性 2.2常创性 二、String类变量里的方法 1.获取 1.1引用获取: 1.2字符获取: 1.3数组获取 1.…

3.1、密码学基础

目录 密码学概念与法律密码安全分析密码体制分类 - 私钥密码/对称密码体制密码体制分类 - 公钥密码/非对称密码体制密码体制分类 - 混合密码体制 密码学概念与法律 密码学主要是由密码编码以及密码分析两个部分组成,密码编码就是加密,密码分析就是把我们…

【问题解决】Jenkins使用File的exists()方法判断文件存在,一直提示不存在的问题

小剧场 最近为了给项目组提供一个能给Java程序替换前端、后端的增量的流水线,继续写上了声明式流水线。 替换增量是根据JSON配置文件去增量目录里去取再替换到对应位置的,替换前需要判断增量文件是否存在。 判断文件是否存在?作为一个老Ja…

Vue中实现大文件的切片并发下载和下载进度展示

Vue中实现大文件的切片下载 切片下载需要后端提供两个接口,第一个接口用来获取当前下载文件的总切片数,第二个接口用来获取具体某一个切片的内容。 界面展示 数据流展示 代码 接口 // 切片下载-获取文件的总切片数 export function getChunkDownload…

Hive-数据倾斜优化

数据倾斜的原因 1)key分布不均匀,本质上就是业务数据有可能会存在倾斜 2)某些SQL语句本身就有数据倾斜 关键词 情形 后果 Join A、其中一个表较小,但是key集中; B、两张表都是大表,key不均 分发到…

java通过lombok自动生成getter/setter方法、无参构造器、toString方法

文章目录 在IDEA打开允许注解在类名上面使用Data注解 在IDEA打开允许注解 打开设置 在类名上面使用Data注解 按住AltEnter键 等依赖下载完成后上面会新增一行import lombok.Data; 完整代码如下: package com.itheima.extendss;import lombok.AllArgsConstru…

RabbitMQ 2025/3/5

高性能异步通信组件。 同步调用 以支付为例: 可见容易发生雪崩。 异步调用 以支付为例: 支付服务当甩手掌柜了,不管后面的几个服务的结果。只管库库发,后面那几个服务想取的时候就取,因为消息代理里可以一直装&#x…

Element UI-Select选择器结合树形控件终极版

Element UI Select选择器控件结合树形控件实现单选和多选&#xff0c;并且通过v-model的方式实现节点的双向绑定&#xff0c;封装成vue组件&#xff0c;文件名为electricity-meter-tree.vue&#xff0c;其代码如下&#xff1a; <template><div><el-select:valu…

9.RabbitMQ消息的可靠性

九、消息的可靠性 1、生产者确认 9.1.1、Confirm模式简介 可能因为网络或者Broker的问题导致①失败,而此时应该让生产者知道消息是否正确发送到了Broker的exchange中&#xff1b; 有两种解决方案&#xff1a; 第一种是开启Confirm(确认)模式&#xff1b;(异步) 第二种是开…

探秘基带算法:从原理到5G时代的通信变革【四】Polar 编解码(二)

文章目录 2.3.3 极化编码巴氏参数与信道可靠性比特混合生成矩阵编码举例 2.3.4 极化译码最小单元译码串行抵消译码&#xff08;SC译码&#xff09;算法SCL译码算法 2.3.5 总结**Polar 码的优势****Polar 码的主要问题****Polar 码的应用前景** 2.3.6 **参考文档** 本博客为系列…

【我的 PWN 学习手札】House of Emma

House of Emma 参考文献 第七届“湖湘杯” House _OF _Emma | 设计思路与解析-安全KER - 安全资讯平台 文章 - house of emma 心得体会 - 先知社区 前一篇博客【我的 PWN 学习手札】House of Kiwi-CSDN博客的利用手法有两个关键点&#xff0c;其一是利用__malloc_assert进入…

【单片机通信技术】STM32 HAL库 SPI主从机通过串口发送数据

一、说明 使用STM32F103C8T6最小系统板&#xff0c;让板载SPI1与SPI2通信&#xff0c;通过串口收发数据。本文章说明了在配置与编写时遇到的一些问题&#xff0c;以及详细说明如何使用cubeMAX进行代码编写。 二、CubeMAX配置 1.时钟配置选择外部高速时钟 2.系统模式与时钟配…

IDEA 使用codeGPT+deepseek

一、环境准备 1、IDEA 版本要求 安装之前确保 IDEA 处于 2023.x 及以上的较新版本。 2、Python 环境 安装 Python 3.8 或更高版本 为了确保 DeepSeek 助手能够顺利运行&#xff0c;您需要在操作系统中预先配置 Python 环境。具体来说&#xff0c;您需要安装 Python 3.8 或更高…

Vue 3 实现富文本内容导出 Word 文档:前端直出方案与优化实践

本文将深入讲解如何通过纯前端方案将富文本内容直接导出为符合中文排版规范的 Word 文档&#xff0c;对比传统服务端生成方案&#xff0c;本方案可降低服务器压力 80% 以上&#xff0c;同时支持即时下载功能。 一、功能全景图 该方案实现以下核心能力&#xff1a; ✅ 纯前端 W…

数据可视化设计-FineBI

数据可视化设计-FineBI 5.1 FineBI概述 5.1.1 FineBI简介 FineBI 是帆软软件有限公司推出的一款商业智能&#xff08;Business Intelligence&#xff09;产品。 FineBI 是新一代大数据分析的 BI 工具&#xff0c;旨在帮助企业的业务人员充分了解和利用他们的数据。FineBI 凭…

一篇文章讲解清楚ARM9芯片启动流程

SAM9X60 ARM9 boot启动流程关键词介绍&#xff1a; 第一级bootloader - 也叫boot ROM&#xff0c;是集成在MPU内部的ROM里面 它的主要功能是执行对MPU的基本初始化和配置&#xff0c;查找并将第二级bootloader从外部NVM中读取出来并放到MPU内部的SRAM. 可以让MPU强制停留在第一…