李航(统计学习方法第一章)

本文概览统计学习方法的核心概念,探讨监督学习的原理,包括模型、策略与算法三要素,解析正则化与交叉验证的技术细节,以及泛化能力的重要性。深入分析分类、标注与回归问题,并对比生成模型与判别模型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

第一章 统计学习方法概论

内容概要:

  • 内容概括:简要叙述统计学习方法的基本概念

  • 主要内容:监督学习

  • 统计学习方法三要素

    • 模型
    • 策略
    • 算法
  • 正则化

  • 交叉验证

  • 学习的泛化能力

  • 生成模型与判别模型

  • 监督学习方法的应用

    • 分类问题
    • 标注问题
    • 回归问题

1.1 统计学习

  • 统计学习是关于计算机基于构建概率统计模型并运用模型对数据进行预测与分析的一门学科
  • 学习:如果一个系统能够通过执行某个过程改进他的性能,这就是学习
  • 统计学习的对象:数据
  • 目的:预测及分析
  • 方法
    • 监督学习(本书重点)
    • 非监督学习
    • 半监督学习
    • 强化学习

1.2 监督学习

  • 任务:学习一个模型,使得模型能够对任意给定的输入,对其相应的输出做一个好的预测。

1.2.1 基本概念

  • 输入空间与输出空间:将输入与输出所有可能取值的集合分别成为输入与输出空间。
  • 特征空间:每一个具体的输入是一个实例,由特征向量表示,所有特征向量存在的空间称为特征空间。
  • 联合概率分布:P(X,Y)
  • 假设空间:监督学习的目的即学习一个从输入到输出的映射,该映射由模型表示,学习的目的就是找到最好的模型。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间。

1.2.2 问题的形式化

  • 监督学习一般分为学习和预测两个过程。
  •  P^ \,\hat{P}\,P^取最大值时 yN+1 \,y_{N+1}\,yN+1的值
    yN+1 = arg max⁡yN+1 P^(yN+1∣xN+1) y_{N+1}\,=\,{\underset {y_{N+1}}{\operatorname {arg\,max} }}\,\hat{P}(y_{N+1}\mid x_{N+1}) yN+1=yN+1argmaxP^(yN+1xN+1)

1.3 统计学习三要素

方法=模型+策略+算法

1.3.1 模型

  • 要学习的条件概率分布或者决策函数

1.3.2 策略

损失函数:度量模型一次预测的好坏

风险函数:度量平均意义下模型预测的好坏

  • 0-1损失函数:

L(Y,f(X))={1Y≠f(x)0Y=f(x) L(Y,f(X))=\begin{cases} 1 & Y \neq f(x) \\ 0 & Y = f(x) \end{cases} L(Y,f(X))={10Y=f(x)Y=f(x)

  • 平方损失函数:

L(Y,f(X))=(Y−f(X))2 L(Y,f(X))=(Y-f(X))^2 L(Y,f(X))=(Yf(X))2

  • 绝对损失函数:

L(Y,f(X))=∣(Y−f(X))∣ L(Y,f(X))=\mid(Y-f(X))\mid L(Y,f(X))=(Yf(X))

  • 对数损失函数:

L(Y,f(X))=−log⁡P(Y∣X) L(Y,f(X))=-\log P(Y\mid X) L(Y,f(X))=logP(YX)

  • 损失函数值越小,模型就越好,因为模型输入输出(X,Y)是随机变量,遵循联合分布P(X,Y),所以损失函数期望是:
    期望=∫−∞+∞损失函数×概率 dxdyRexp(f)=Ep[L(Y,f(X))]=∫χ×γL(y,f(x))P(x,y)dxdy 期望=\int_{-\infty}^{+\infty}损失函数\times概率\,dxdy \\ R_{exp}(f)=E_p[L(Y,f(X))]=\int_{\chi\times\gamma} L(y,f(x))P(x,y)dxdy =+×dxdyRexp(f)=Ep[L(Y,f(X))]=χ×γL(y,f(x))P(x,y)dxdy

  • Rexp(f)R_{exp}(f)Rexp(f)就是风险函数。即基于联合分布,损失函数的期望就是风险函数。学习的目标就是选择风险函数最小的模型。

  • 给定一个训练数据集,模型f(X)关于训练集的平均损失称为经验风险(经验损失),记作RempR_{emp}Remp
    Remp(f)=1N∑i=1NL(yi,f(xi)) R_{emp}(f)=\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i)) Remp(f)=N1i=1NL(yi,f(xi))

  • 期望风险是模型关于联合分布的期望损失。经验风险是模型关于训练样本的平均损失。由大数定律,当样本的容量N趋于无穷大时,经验风险趋近于期望风险,所以很自然的想用经验风险代替期望风险,但是现实中N很有限甚至很小,所以用经验风险估计期望风险很不理想。所以要对经验风险进行矫正。这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化

经验风险最小化和结构风险最小化

  • 经验风险最小化认为经验风险最小的模型就是最优模型。
    • 样本容量足够时,有很好的学习效果
    • 样本容量不够时,产生过拟合现象
  • 结构风险最小化(为了防止过拟合而提出的)等价于正则化。结构风险在经验风险的基础上再加上罚项(正则化项)。

结构风险=经验风险+罚项Rsrm(f)=1N∑i=1NL(yi,f(xi))+λJ(f)其中λ≥0是系数,J(f)是模型复杂度。模型越复杂,J(f)越大。 结构风险=经验风险+罚项\\ R_{srm}(f)=\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda J(f)\\ 其中\lambda\geq0是系数,J(f)是模型复杂度。模型越复杂,J(f)越大。 =+Rsrm(f)=N1i=1NL(yi,f(xi))+λJ(f)λ0J(f)J(f)

  • 求最优模型,就是求解最优化的问题:

min⁡f∈Γ 1N∑i=1NL(yi,f(xi))+λJ(f) \min _{f\in \Gamma}\, \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda J(f) fΓminN1i=1NL(yi,f(xi))+λJ(f)

1.3.3 算法

  • 算法:用什么样的计算方法求解最优模型。

1.4 模型评估与模型选择

1.4.1 训练误差与测试误差

  • 假定学到模型 Y=f^(x) \,Y=\hat{f}(x)\,Y=f^(x),训练误差是模型 Y=f^(x) \,Y=\hat{f}(x)\,Y=f^(x)关于训练数据集的平均损失:

Remp(f^)=1N∑i=1NL(yi,f^(xi)),N是训练集。 R_{emp}(\hat{f})=\frac{1}{N}\sum_{i=1}^N L(y_i,\hat{f}(x_i)),N是训练集。 Remp(f^)=N1i=1NL(yi,f^(xi)),N

  • 测试误差是模型 关于测试数据集的平均损失:

ϱtest=1N′∑i=1N′L(yi,f^(xi)),N′是测试集。 \varrho _{test}=\frac{1}{N\prime}\sum_{i=1}^{N\prime} L(y_i,\hat{f}(x_i)),N\prime是测试集。 ϱtest=N1i=1NL(yi,f^(xi))N

  • 若采用0-1损失,则测试数据集上的误差率:

etest=1N′∑i=1N′I(yi≠f^(xi)),其中I是指示函数。 e _{test}=\frac{1}{N\prime}\sum_{i=1}^{N\prime} I(y_i\neq\hat{f}(x_i)),其中I是指示函数。 etest=N1i=1NI(yi=f^(xi))I

  • 相应的,测试集上的准确率:

rtest=1N′∑i=1N′I(yi=f^(xi)) r _{test}=\frac{1}{N\prime}\sum_{i=1}^{N\prime} I(y_i=\hat{f}(x_i)) rtest=N1i=1NI(yi=f^(xi))

  • 显然 rtest+etest=1 \,r_{test}+e_{test}=1\,rtest+etest=1
  • 训练误差对于判定给定的问题是不是容易学习有帮助。测试误差反映了学习方法对未知测试集的预测能力。

1.4.2 过拟合与模型选择

  • 假定在假设空间中存在一个“真”模型,但我们不知道“真”模型是哪个,但我们选择的模型应尽可能接近“真”模型。

  • 如果一味的追求训练数据集的预测能力,所选择的模型复杂度往往比“真”模型更高。这种现象就是过拟合。在这里插入图片描述

  • 模型选择方法:正则化与交叉验证。

1.5 正则化与交叉验证

1.5.1 正则化

  • 正则化项具有如下形式:

min⁡f∈Γ1N∑i=1NL(yi,f(xi))+λJ(f);当损失函数是平方损失:L(w)=1N∑i=1N(f(xi;w)−yi)2)+λ2∣∣w∣∣2 \min _{f \in \Gamma} \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i))+\lambda J(f);\\ 当损失函数是平方损失: L(w) = \frac{1}{N}\sum_{i=1}^N (f(x_i;w)-y_i)^2)+\frac{\lambda}{2} \mid\mid w\mid\mid ^2 fΓminN1i=1NL(yi,f(xi))+λJ(f);L(w)=N1i=1N(f(xi;w)yi)2)+2λw2

  • 若第一项经验风险较小,则模型可能较复杂,即第二项较大,正则化的作用就是选择两项都较小的模型。

  • 正则化项可以是参数向量的 Lp \,L_p\,Lp范数。

  • LpL_pLp范数:

∑i=1nxipp \sqrt[p]{\sum_{i=1}^n x_i^p} pi=1nxip

1.5.1 交叉验证

  • 基本想法:重复的使用数据。把给定的数据集进行划分,将划分的数据集组合为训练集和测试集,在此基础上反复训练、测试以及模型选择。
  • 简单交叉验证:将数据集分为两部分,一部分用于训练,一部分用于测试,用训练集在各种条件下训练模型,在测试集上评估各个模型的测试误差,选择误差最小的模型。
  • S折交叉验证:将给出的数据集分为S份互不相交的子集,利用S-1个子集进行训练,余下的子集进行测试。将这一过程对可能的S种选择重复进行,选出S次评估中误差最小的模型。
  • 留一交叉验证:特殊情况,S=N,N是数据集个数。

1.6 泛化能力

  • 泛化能力是指该方法学习到模型对未知数据的预测能力。

1.6.1 泛化误差

  • 若学到的模型为f,则该模型对未知数据预测的误差即泛化误差为:
    Rexp(f)=Ep[L(Y,f(X))]=∫χ×γL(y,f(x))P(x,y)dxdy R_{exp}(f)=E_p[L(Y,f(X))]=\int_{\chi\times\gamma} L(y,f(x))P(x,y)dxdy Rexp(f)=Ep[L(Y,f(X))]=χ×γL(y,f(x))P(x,y)dxdy

1.6.2 泛化误差上界

  • 首先:
    期望风险:R(f)=E[L(Y,f(X))];经验风险:R^(f)=1N∑i=1NL(yi,f(xi)); 期望风险:R(f)=E[L(Y,f(X))];\\ 经验风险:\hat{R}(f)=\frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i)); R(f)=E[L(Y,f(X))];R^(f)=N1i=1NL(yi,f(xi));
  • 定理:对于二分类问题,当假设空间是有限个函数的集合F={f1,f2,...,fd}F=\{f_1,f_2,...,f_d\}F={f1,f2,...,fd}时,对任意的一个函数 f∈F \,f\in F\,fF,至少以概率 1−δ \,1-\delta\,1δ,以下不等式成立:
    R(f)≤R^(f)+ε(d,N,δ)其中,ε(d,N,δ)=12N(log⁡d+log⁡1δ) R(f)\leq \hat{R}(f)+\varepsilon (d,N,\delta)\\ 其中,\varepsilon (d,N,\delta)=\sqrt{\frac{1}{2N}(\log d +\log \frac{1}{\delta})} R(f)R^(f)+ε(d,N,δ)ε(d,N,δ)=2N1(logd+logδ1)
  • Hoeffding不等式:设X1,X2,...,XNX_1,X_2,...,X_NX1,X2,...,XN是独立随机变量,且Xi∈[ai,bi],i=1,2,...,NX_i\in[a_i,b_i],i=1,2,...,NXi[ai,bi],i=1,2,...,NXˉ\bar{X}XˉX1,X2,...,XNX_1,X_2,...,X_NX1,X2,...,XN的经验均值,即Xˉ=1N∑i=1NXi\bar{X}=\frac{1}{N}\sum_{i=1}^NX_iXˉ=N1i=1NXi,则对任意的t>0t>0t>0,以下不等式成立:
    P(Sn−ESn≥t)≤exp(−2t2∑i=1n(bi−ai)2)P(ESn−Sn≥t)≤exp(−2t2∑i=1n(bi−ai)2) P(S_n-ES_n\geq t)\leq exp(\frac{-2t^2}{\sum_{i=1}^n(b_i-a_i)^2})\\ P(ES_n-S_n\geq t)\leq exp(\frac{-2t^2}{\sum_{i=1}^n(b_i-a_i)^2}) P(SnESnt)exp(i=1n(biai)22t2)P(ESnSnt)exp(i=1n(biai)22t2)
  • 可知:

对单个f:P(R(f)−R^(f)≥ε)≤exp(−2Nε2)对所有集合F:P(∃f∈F:R(f)−R^(f)≥ε)≤d exp(−2Nε2)等价的,对任意f∈F,有:P(R(f)−R^(f)<ε)≥1−d exp(−2Nε2)令δ=d exp(−2Nε2)则:P(R(f)<R^(f)+ε)≥1−δ,证毕。 对单个f:P(R(f)-\hat{R}(f)\geq \varepsilon)\leq exp(-2N\varepsilon^2)\\ 对所有集合F:P(\exists f\in F: R(f)-\hat{R}(f)\geq \varepsilon)\leq d \,exp(-2N\varepsilon^2)\\ 等价的,对任意f\in F,有:P(R(f)-\hat{R}(f)< \varepsilon)\geq 1-d\,exp(-2N\varepsilon^2)\\ 令\delta=d\,exp(-2N\varepsilon^2)\\ 则:P(R(f)<\hat{R}(f) +\varepsilon)\geq 1-\delta,证毕。 fP(R(f)R^(f)ε)exp(2Nε2)FP(fF:R(f)R^(f)ε)dexp(2Nε2)fFP(R(f)R^(f)<ε)1dexp(2Nε2)δ=dexp(2Nε2)P(R(f)<R^(f)+ε)1δ

误差上界的理解:
在这里插入图片描述

以上图片:
————————————————
版权声明:本文为CSDN博主「DamianGao」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ghr19961014/article/details/104549797/

1.7 生成模型与判别模型

  • 生成模型

    • 朴素贝叶斯法
    • 隐马尔可夫模型
  • 判别方法

    • K近邻法
    • 感知机
    • 决策树
    • 逻辑斯蒂回归模型
    • 最大熵模型
    • 支持向量机
    • 提升方法
    • 条件随机场

1.8 分类问题

  • TP:正正
  • FN:正负
  • FP:负正
  • TN:负负
  • 精确率:

P=TPTP+FP P=\frac{TP}{TP+FP} P=TP+FPTP

  • 召回率

P=TPTP+FN P=\frac{TP}{TP+FN} P=TP+FNTP

  • 精确率和召回率的调和均值

F1=2TP2TP+FP+FN F_1=\frac{2TP}{2TP+FP+FN} F1=2TP+FP+FN2TP

1.9 标注问题

  • 隐马尔可夫模型
  • 条件随机场

1.10 回归问题

  • 该问题等价于函数拟合
【基于QT的调色板】是一个使用Qt框架开发的色彩选择工具,类似于Windows操作系统中常见的颜色选取器。Qt是一个跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式设备,支持C++和QML语言。这个调色板功能提供了横竖两种渐变模式,用户可以方便地选取所需的颜色值。 在Qt中,调色板(QPalette)是一个关键的类,用于管理应用程序的视觉样式。QPalette包含了一系列的颜色角色,如背景色、前景色、文本色、高亮色等,这些颜色可以根据用户的系统设置或应用程序的需求进行定制。通过自定义QPalette,开发者可以创建具有独特视觉风格的应用程序。 该调色板功能可能使用了QColorDialog,这是一个标准的Qt对话框,允许用户选择颜色。QColorDialog提供了一种简单的方式来获取用户的颜色选择,通常包括一个调色板界面,用户可以通过滑动或点击来选择RGB、HSV或其他色彩模型中的颜色。 横渐变取色可能通过QGradient实现,QGradient允许开发者创建线性或径向的色彩渐变。线性渐变(QLinearGradient)沿直线从一个点到另一个点过渡颜色,而径向渐变(QRadialGradient)则以圆心为中心向外扩散颜色。在调色板中,用户可能可以通过滑动条或鼠标拖动来改变渐变的位置,从而选取不同位置的颜色。 竖渐变取色则可能是通过调整QGradient的方向来实现的,将原本水平的渐变方向改为垂直。这种设计可以提供另一种方式来探索颜色空间,使得选取颜色更为直观和便捷。 在【colorpanelhsb】这个文件名中,我们可以推测这是与HSB(色相、饱和度、亮度)色彩模型相关的代码或资源。HSB模型是另一种常见且直观的颜色表示方式,与RGB或CMYK模型不同,它以人的感知为基础,更容易理解。在这个调色板中,用户可能可以通过调整H、S、B三个参数来选取所需的颜色。 基于QT的调色板是一个利用Qt框架和其提供的色彩管理工具,如QPalette、QColorDialog、QGradient等,构建的交互式颜色选择组件。它不仅提供了横竖渐变的色彩选取方式,还可能支持HSB色彩模型,使得用户在开发图形用户界面时能更加灵活和精准地控制色彩。
标题基于Spring Boot的二手物品交易网站系统研究AI更换标题第1章引言阐述基于Spring Boot开发二手物品交易网站的研究背景、意义、现状及本文方法与创新点。1.1研究背景与意义介绍二手物品交易的市场需求和Spring Boot技术的适用性。1.2国内外研究现状概述当前二手物品交易网站的发展现状和趋势。1.3论文方法与创新点说明本文采用的研究方法和在系统设计中的创新之处。第2章相关理论与技术介绍开发二手物品交易网站所涉及的相关理论和关键技术。2.1Spring Boot框架解释Spring Boot的核心概念和主要特性。2.2数据库技术讨论适用的数据库技术及其在系统中的角色。2.3前端技术阐述与后端配合的前端技术及其在系统中的应用。第3章系统需求分析详细分析二手物品交易网站系统的功能需求和性能需求。3.1功能需求列举系统应实现的主要功能模块。3.2性能需求明确系统应满足的性能指标和安全性要求。第4章系统设计与实现具体描述基于Spring Boot的二手物品交易网站系统的设计和实现过程。4.1系统架构设计给出系统的整体架构设计和各模块间的交互方式。4.2数据库设计详细阐述数据库的结构设计和数据操作流程。4.3界面设计与实现介绍系统的界面设计和用户交互的实现细节。第5章系统测试与优化说明对系统进行测试的方法和性能优化的措施。5.1测试方法与步骤测试环境的搭建、测试数据的准备及测试流程。5.2测试结果分析对测试结果进行详细分析,验证系统是否满足需求。5.3性能优化措施提出针对系统性能瓶颈的优化建议和实施方案。第6章结论与展望总结研究成果,并展望未来可能的研究方向和改进空间。6.1研究结论概括本文基于Spring Boot开发二手物品交易网站的主要发现和成果。6.2展望与改进讨论未来可能的系统改进方向和新的功能拓展。
1. 用户与权限管理模块 角色管理: 学生:查看个人住宿信息、提交报修申请、查看卫生检查结果、请假外出登记 宿管人员:分配宿舍床位、处理报修申请、记录卫生检查结果、登记晚归情况 管理员:维护楼栋与房间信息、管理用户账号、统计住宿数据、发布宿舍通知 用户操作: 登录认证:对接学校统一身份认证(模拟实现,用学号 / 工号作为账号),支持密码重置 信息管理:学生完善个人信息(院系、专业、联系电话),管理员维护所有用户信息 权限控制:不同角色仅可见对应功能(如学生无法修改床位分配信息) 2. 宿舍信息管理模块 楼栋与房间管理: 楼栋信息:名称(如 "1 号宿舍楼")、层数、性别限制(男 / 女 / 混合)、管理员(宿管) 房间信息:房间号(如 "101")、户型(4 人间 / 6 人间)、床位数量、已住人数、可用状态 设施信息:记录房间内设施(如空调、热水器、桌椅)的配置与完好状态 床位管理: 床位编号:为每个床位设置唯一编号(如 "101-1" 表示 101 房间 1 号床) 状态标记:标记床位为 "空闲 / 已分配 / 维修中",支持批量查询空闲床位 历史记录:保存床位的分配变更记录(如从学生 A 调换到学生 B 的时间与原因) 3. 住宿分配与调整模块 住宿分配: 新生分配:管理员导入新生名单后,宿管可按专业集中、性别匹配等规则批量分配床位 手动分配:针对转专业、复学学生,宿管手动指定空闲床位并记录分配时间 分配结果公示:学生登录后可查看自己的宿舍信息(楼栋、房间号、床位号、室友列表) 调整管理: 调宿申请:学生提交调宿原因(如室友矛盾、身体原因),选择意向宿舍(需有空位) 审批流程:宿管审核申请,通过后执行床位调换,更新双方住宿信息 换宿记录:保存调宿历史(申请人、原床位、新床位、审批人、时间) 4. 报修与安全管理模块 报修管理: 报修提交:学生选择宿舍、设施类型(如 "
### 李航统计学习方法》中的马尔科夫链蒙特卡洛方法 #### 定义与背景 马尔科夫链蒙特卡洛(Markov Chain Monte Carlo, MCMC)是一种用于从复杂分布中抽样的算法,在贝叶斯推断和其他领域有着广泛应用。MCMC通过构建一条具有特定平稳分布的马尔科夫链来实现这一目标,使得这条链的状态最终能够反映所期望的概率密度函数[^1]。 #### 基本原理 在李航老师的著作《统计学习方法》第二版第十九章里提到,当直接采样变得不可行时——比如因为联合概率难以解析表达或是维度灾难等原因造成的计算成本过高问题,此时可以采用基于模拟的方法即MCMC来进行近似估计。该过程依赖于构造一个合适的转移矩阵P(x|x'),它决定了下一个样本点的选择方式;而这个选择应当满足细致平衡条件以确保长期运行后的状态分布收敛到所需的π(x)[^2]。 #### Metropolis-Hastings 算法实例 书中还介绍了几种具体的MCMC技术之一:Metropolis-Hastings算法。这是一种通用框架下的接受-拒绝机制,允许我们即使不知道确切的目标分布形式也能有效地进行随机游走并逐步接近真实解。具体来说就是对于当前节点x按照提议分布q(y|x)生成候选新位置y之后,根据一定比率α=min{1,r}决定是否移动过去(r取决于两个位置处未归一化后验值的比例以及反向转换的可能性),以此迭代多次直至获得足够数量的有效样本。 ```python import numpy as np def metropolis_hastings(target_distribution, proposal_function, initial_state, iterations=1000): """Simple implementation of the Metropolis-Hastings algorithm.""" samples = [] current_state = initial_state for _ in range(iterations): proposed_state = proposal_function(current_state) acceptance_ratio = min(1., target_distribution(proposed_state)/target_distribution(current_state)) if np.random.rand() < acceptance_ratio: current_state = proposed_state samples.append(current_state) return np.array(samples) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值