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

【统计学习|书籍阅读】第一章 统计学习方法概论 p1-p24

文章目录

  • 1.1 统计学习
  • 1.2 监督学习
    • 1.2.1 基本概念
    • 1.2.2 问题的形式化
  • 1.3 统计学习三要素
    • 1.3.1 模型
    • 1.3.2 策略
    • 1.3.3 算法
  • 1.4 模型评估与模型选择
    • 1.4.1 训练误差与测试误差
    • 1.4.2 过拟合与模型选择
  • 1.5 正则化与交叉验证
    • 1.5.2 交叉验证
  • 1.6 泛化能力
  • 1.7 生成模型与判别模型
  • 1.8 分类问题
  • 1.9 标注问题
  • 1.10 回归问题

1.1 统计学习

统计学习的对象:数据。
统计学习的目标:考虑学习什么样的模型和如何学习模型,以使模型能对数据进行准确的预测与分析,同时也要考虑尽可能提高学习效率。
实现统计学习方法的步骤:

  1. 得到一个有限的训练数据集合
  2. 确定包含所有可能的模型的假设空间,即学习模型的集合
  3. 确定模型选择的准则,即学习的策略
  4. 实现求解最优模型的算法,即学习的算法
  5. 通过学习方法选择最优模型
  6. 利用学习的最优模型对新数据进行预测或分类

1.2 监督学习

统计学习包括监督学习、非监督学习、半监督学习、强化学习。主要讨论监督学习。

1.2.1 基本概念

输入空间、特征空间、输出空间

  • 输入变量和输出变量均为连续变量的预测问题称为回归问题
  • 输出变量为有限个离散变量的预测问题为分类问题
  • 输入变量和输出变量均为变量序列的预测问题称为标注问题

联合概率分布
假设空间

1.2.2 问题的形式化

在这里插入图片描述

1.3 统计学习三要素

方法=模型+策略+算法

1.3.1 模型

在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。
模型的假设空间包含所有可能的条件概率分布或决策函数。

1.3.2 策略

有了模型的假设空间,统计学习(机器学习)接着需要考虑的是按照什么样的准则学习或者选择最优的模型。统计学习的目标在于从假设空间中选取最优模型。


首先引入损失函数与风险函数的概念。损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。

损失函数(loss function)
在这里插入图片描述
风险函数(risk function):
在这里插入图片描述


经验风险最小化:
是解决优化问题(ERM):
在这里插入图片描述
经营风险最小化容易出现过拟合,而结构风险最小化是为了防止过拟合而提出的策略。

结构风险最小化:
结构风险最小化等价于正则化。在经验风险的基础上增加表示模型复杂度的正则化项或罚项。

在这里插入图片描述
在这里插入图片描述

所以,监督学习问题就变成了经验风险或结构风险的最优化问题,这时经验风险和结构风险是最优化的目标函数。

1.3.3 算法

算法指的是学习模型的具体计算方法。统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后考虑需要用什么样的计算方法求解最优模型。

1.4 模型评估与模型选择

1.4.1 训练误差与测试误差

训练误差:可判定是不是一个容易学习的问题
测试误差:反应学习方法对未知测试数据集的预测能力

1.4.2 过拟合与模型选择

过拟合:指学习时选择的模型所包含的参数过多,以至于出现这一模型对已知数据预测得很好,但对于未知数据预测得很差。
模型选择旨在避免过拟合并提高模型的预测能力。

1.5 正则化与交叉验证

模型选择的典型方法是正则化。正则化是结构风险最小化策略的实现,在经验风险的基础上增加表示模型复杂度的正则化项或罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值越大。比如,正则化项可以是模型参数向量的范数。

在这里插入图片描述

在这里插入图片描述

1.5.2 交叉验证

交叉验证的基本思想是重复地使用数据;把给定的数据进行切分,将切分的数据集组合为训练集和测试集,在此基础上反复地进行训练、测试以及模型选择。

简单交叉验证: 70%的训练集,30%的测试集;然后用训练集在各种条件下(不同参数个数)训练模型,从而得到不同的模型;在测试集上评价各个模型误差,选出测试误差最小的模型。

K折交叉验证: 随机地将已给数据切分为K个互不相交的大小相同的子集;然后利用K-1个子集的数据训练模型,利用余下的子集测试模型;将这一过程对可能的K种选择重复进行;最后选出K次评测中平均测试误差最小的模型。

留一交叉验证: K折交叉验证的特殊情形是S=N,称为留一交叉验证。N为给定数据集的容量。

1.6 泛化能力

泛化能力:指由该方法学习到的模型对未知数据的预测能力。
现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力,但该种评价依赖于测试数据集的,因为测试数据集有限,很有可能得到的评价结果不可靠,所以试图从理论上对学习方法的泛化能力进行分析。

在这里插入图片描述

1.7 生成模型与判别模型

监督学习方法可以分为生成方法和判别方法,所学到的模型分别称为生成模型和判别模型。
生成方法: 由数据学习联合概率分布,然后求出条件概率分布作为预测模型,即生成模型: P ( Y ∣ X ) = P ( X , Y ) P ( X ) P(Y|X)=\frac{P(X,Y)}{P(X)} P(YX)=P(X)P(X,Y)
之所以称为生成方法,是因为模型表示了给定输入X产生输出Y的生成关系。

典型的生成模型有:朴素贝叶斯法和隐马尔可夫模型。

判别方法: 由数据直接学习决策函数 f ( X ) f(X) f(X)或者条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)作为预测的模型,即判别模型。

典型的判别模型有:k近邻法、感知机、决策树、逻辑回归模型、最大熵模型、支持向量机、提升方法和条件随机场。

1.8 分类问题

评价分类器的性能指标一般是准确率。
准确率:正确分类的样本数/总样本数
二分类问题常用的评价指标是精确率和召回率

在这里插入图片描述

1.9 标注问题

标注问题是分类问题的一个推广,是更复杂的结构预测问题的简单形式。标注问题输入的是一个观测序列,输出的是一个标记序列或状态序列。
标注问题常用的统计学习方法有:隐马尔可夫模型、条件随机场

1.10 回归问题

回归问题用于预测输入变量(自变量)和输出变量(因变量)之间的关系。回归问题的学习等价于函数拟合:选择一条函数曲线使其更好地拟合已知数据且更好地预测未知数据。
回归学习最常用的损失函数是平方损失函数,由最小二乘法求解。

相关文章:

  • 操作系统——计算机系统概述补充
  • pytorch 实现一个最简单的 GAN:用mnist数据集生成新图像
  • 七雄争霸武将技能搭配
  • 利用Python进行数据分析-Numpy入门基础知识
  • QML的Popup遇到的坑
  • 解数独 视频讲解 c++
  • kubernetes 网络
  • 运维流程化和标准化
  • LeetCode104. 二叉树的最大深度和N叉树的最大深度
  • Games104 引擎工具链笔记
  • 如何梳理当天的事情?
  • 【历年NeurIPS论文下载】一文了解NeurIPS国际顶会(含NeurIPS2022)
  • 《JVM学习笔记》字节码基础
  • Java 学习 --SpringBoot 常用注解详解
  • 基于springboot网上书城系统
  • 【技术性】Search知识
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Flex布局到底解决了什么问题
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • js如何打印object对象
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Vultr 教程目录
  • 程序员该如何有效的找工作?
  • 从PHP迁移至Golang - 基础篇
  • 分享一个自己写的基于canvas的原生js图片爆炸插件
  • 基于组件的设计工作流与界面抽象
  • 聊聊flink的BlobWriter
  • 如何实现 font-size 的响应式
  • 使用SAX解析XML
  • 微信支付JSAPI,实测!终极方案
  • 我看到的前端
  • 延迟脚本的方式
  • Hibernate主键生成策略及选择
  • 测评:对于写作的人来说,Markdown是你最好的朋友 ...
  • 移动端高清、多屏适配方案
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • #define 用法
  • #pragma once
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (¥1011)-(一千零一拾一元整)输出
  • (2)STL算法之元素计数
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (Mirage系列之二)VMware Horizon Mirage的经典用户用例及真实案例分析
  • (实战篇)如何缓存数据
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (一)Linux+Windows下安装ffmpeg
  • (转) Android中ViewStub组件使用
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)为C# Windows服务添加安装程序
  • (转载)OpenStack Hacker养成指南
  • ******之网络***——物理***
  • .net wcf memory gates checking failed
  • .Net Web项目创建比较不错的参考文章
  • .NET 使用 XPath 来读写 XML 文件