热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

《统计学习方法》笔记一统计学习方法概论

统计学习统计学习时关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析。统计学习的三要素:方法模型+策略+算法统计学习由监督学习、非监督学习、半监督学习和强化学习等组成

统计学习

统计学习时关于计算机基于数据构建概率统计模型 并运用模型 对数据进行预测与分析

统计学习的三要素:

方法 = 模型+策略+算法

统计学习由监督学习、非监督学习、半监督学习和强化学习等组成。

实现统计学习方法的具体步骤如下:

(1)得到一个有限的训练数据集合;

(2)确定包含所有可能的模型的假设空间,即学习模型的集合;

(3)确定模型选择的准则,即学习的策略;

(4)实现求解最优模型的算法,即学习的算法;

(5)通过学习方法选择最优模型;

(6)利用学习的最优模型对数据进行预测或分析。


监督学习

一些基本概念:



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

  输入与输出所有可能取值的集合成为输入空间输出空间。每个具体的输入是一个实例,通常由特征向量表示,所有特征向量存在的空间成为特征空间

  特征空间每一维对应一个特征,有时对输入空间与特征空间不加以区分,有时假设输入空间与特征空间为不同的空间,将实例从输入空间映射到特征空间。模型实际上都是定义在特征空间上的。

根据输入、输出变量的不同类型,对预测任务给予不同的名称:

  回归问题:输入、输出变量均为连续变量的预测问题;

  分类问题:输出变量为有限个离散变量的预测问题;

  标注问题: 输入、输出变量均为变量序列的预测问题

监督学习的任务就是学习一个模型,应用这一模型,对给定的输入预测相应的输出,这个模型的一般形式为决策函数:Y=f(X)或者条件概率分布P(Y|X)


统计学习三要素


模型

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

空间用F表示,假设空间可以定义为决策函数的集合,即:

F通常是由一个参数向量来决定的条件概率分布族

此时有


策略



  • 经验风险最小化

  • 结构风险最小化(正则化)

有了假设空间,考虑如何在假设空间中选取最优模型,因此引入损失函数和风险函数等来度量模型的好坏。

损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。

损失函数是f(X)和Y的非负实值函数,记做 L(Y,f(X))

常用的损失函数:

这是理论上模型f(X)关于联合分布P(X,Y)的平均意义下的损失,称为风险函数或期望损失

经验风险或经验损失:

选择令期望损失值最小的模型即为学习的目标,但是联合分布未知因此Rexp不能直接计算,但如知道了联合分布,可直接计算条件概率分布P(Y|X),也就不需要学习。因此监督学习成为一个病态问题。

根据大数定律,当样板容量趋于无穷,经验风险趋于期望风险,但实际中训练样本数量有限,因此用经验风险估计期望风险不理想,需进行矫正,则涉及监督学习的两个基本策略:经验风险最小化和结构风险最小化。

经验风险最小化(empirical risk minimization,ERM)

ERM认为,经验风险最小的模型最优,则最优模型可转换为:

当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化就等价于极大似然估计。

F为假设空间,当样本容量足够大,学习效果较好,但样本容量很小时,容易过拟合,则引申出结构风险最小化。

结构风险最小化(structural risk minimization,SRM)/正则化

在ERM基础上加上表示模型复杂度的正则化项或罚项,定义如下

其中J(f)为模型的复杂度,是定义在假设空间F上的泛函,模型f越复杂,J(f)越大。lamda是系数,≥0,用以权衡ERM和模型复杂度。

则SRM最小化将求最优模型转换为求解最优问题:

当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。


算法

指学习模型的具体计算方法


模型评估与模型选择 


训练误差与测试误差


正则化与交叉验证

正则化一般形式如下:

第一项为经验风险,第二项为正则化项目,正则化项可取不同的形式。经验风险较小的模型可能较复杂(有多个非零参数),则第二项模型复杂度会较大,正则化的作用是选择经验风险与模型复杂度同时小的模型。

从贝叶斯估计角度看,正则化项对应模型的先验概率,可假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。

 

若样本充足,可随机将数据集分为训练集、验证集和测试集,验证集用于模型选择,在学习到的不同复杂度的模型中,选择对验证集有最小预测误差的模型。但实际中数据不够,因此采用交叉验证,即重复利用数据,将给定数据划分为训练集与测试集,反复训练、测试及模型选择。



  • 简单交叉验证

  随机将数据分为训练集和测试集,用训练集在各条件下训练模型,在测试集上评价各个模型的测试误差,选出测试误差最小的模型



  • S折交叉验证

  随机将数据切分为S个互不相交的大小相同的子集,利用S-1个子集的数据训练模型,利用余下的子集测试模型,重复进行算出S次评测中平均测试误差最小的模型



  • 留一交叉验证

  当S=N时,N为给定数据集的容量


泛化能力

指由该方法学习到的模型对未知数据的预测能力。泛化误差相当于所学习到的模型的期望风险。

泛化误差上界(泛化误差概率上界)

它是样本容量的函数,样本容量增加,泛化上界趋于0;是假设空间容量的函数,假设空间容量越大,模型越难学,泛化误差上界越大。

R(f)为期望风险,R^为经验风险。

 


生成模型与判别模型

 


分类问题

 


标注问题


标注问题可认为是分类问题的推广,输入是一个观测序列,输出是一个标记序列或状态序列。


评价标注模型的指标与评价分类模型的指标一样,常用的有标注准确率、精确率和召回率。
标注常用的统计学习方法有:隐马尔可夫模型、条件随机场。

回归问题


回归用于预测输入变量和输出变量之间的关系,回归模型表示从输入变量到输出变量之间映射的函数,回归问题的学习等价于函数拟合。
回归问题按照输入变量的个数,分为一元回归和多元回归,按照输入变量和输出变量之间关系的类型即类型的模型,分为线性回归和非线性回归。
回归常用的损失函数是平方损失函数,例最小二乘法。
 
推荐阅读
  • 机器学习中的相似度度量与模型优化
    本文探讨了机器学习中常见的相似度度量方法,包括余弦相似度、欧氏距离和马氏距离,并详细介绍了如何通过选择合适的模型复杂度和正则化来提高模型的泛化能力。此外,文章还涵盖了模型评估的各种方法和指标,以及不同分类器的工作原理和应用场景。 ... [详细]
  • 本实验主要探讨了二叉排序树(BST)的基本操作,包括创建、查找和删除节点。通过具体实例和代码实现,详细介绍了如何使用递归和非递归方法进行关键字查找,并展示了删除特定节点后的树结构变化。 ... [详细]
  • 作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ... [详细]
  • 本文介绍了一种解决二元可满足性(2-SAT)问题的方法。通过具体实例,详细解释了如何构建模型、应用算法,并提供了编程实现的细节和优化建议。 ... [详细]
  • 探索电路与系统的起源与发展
    本文回顾了电路与系统的发展历程,从电的早期发现到现代电子器件的应用。文章不仅涵盖了基础理论和关键发明,还探讨了这一学科对计算机、人工智能及物联网等领域的深远影响。 ... [详细]
  • 本题探讨了在一个有向图中,如何根据特定规则将城市划分为若干个区域,使得每个区域内的城市之间能够相互到达,并且划分的区域数量最少。题目提供了时间限制和内存限制,要求在给定的城市和道路信息下,计算出最少需要划分的区域数量。 ... [详细]
  • 扫描线三巨头 hdu1928hdu 1255  hdu 1542 [POJ 1151]
    学习链接:http:blog.csdn.netlwt36articledetails48908031学习扫描线主要学习的是一种扫描的思想,后期可以求解很 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 题目Link题目学习link1题目学习link2题目学习link3%%%受益匪浅!-----&# ... [详细]
  • 深入探讨CPU虚拟化与KVM内存管理
    本文详细介绍了现代服务器架构中的CPU虚拟化技术,包括SMP、NUMA和MPP三种多处理器结构,并深入探讨了KVM的内存虚拟化机制。通过对比不同架构的特点和应用场景,帮助读者理解如何选择最适合的架构以优化性能。 ... [详细]
  • 本题通过将每个矩形视为一个节点,根据其相对位置构建拓扑图,并利用深度优先搜索(DFS)或状态压缩动态规划(DP)求解最小涂色次数。本文详细解析了该问题的建模思路与算法实现。 ... [详细]
  • 深入解析Nginx中的Location指令及其属性
    本文将详细探讨Nginx配置文件中关键的location指令,包括其三种匹配方式(精准匹配、普通匹配和正则匹配),以及如何在实际应用中灵活运用这些匹配规则。此外,还将介绍location下的重要子元素如root、alias和proxy_pass,并解释相关参数的使用方法。 ... [详细]
  • PHP 过滤器详解
    本文深入探讨了 PHP 中的过滤器机制,包括常见的 $_SERVER 变量、filter_has_var() 函数、filter_id() 函数、filter_input() 函数及其数组形式、filter_list() 函数以及 filter_var() 和其数组形式。同时,详细介绍了各种过滤器的用途和用法。 ... [详细]
  • 解决Python中 'NoneType' 对象无属性 'find_all' 错误
    本文详细探讨了在Python编程中遇到的常见错误——'NoneType'对象没有属性'find_all',并深入分析其原因及解决方案。通过理解find_all函数的工作原理和常见用法,帮助读者避免类似问题。 ... [详细]
  • Ihaveastringwithquotesaroundthepathasfollows:我在路径周围有一个带引号的字符串,如下所示:C:\ProgramFiles(x ... [详细]
author-avatar
手机用户2502876217
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有