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

学习方法_1.统计学习方法概论

篇首语:本文由编程笔记#小编为大家整理,主要介绍了1.统计学习方法概论相关的知识,希望对你有一定的参考价值。1.统计学习

篇首语:本文由编程笔记#小编为大家整理,主要介绍了1.统计学习方法概论相关的知识,希望对你有一定的参考价值。


1.统计学习

统计学习的对象:
(1)data : 计算机及互联网上的各种数字、文字、图像、视频、音频数据以及它们的组合。
(2)数据的基本假设是同类数据具有一定的统计规律性。
统计学习的目的:
用于对数据(特别是未知数据) 进行预测和分析。
统计学习的方法:
(1)分类:

监督学习
无监督学习
半监督学习
强化学习

 2.监督学习
Instance, feature vector, feature space
输入实例x的特征向量:技术图片

x(i)与xi 不同,后者表示多个输入变量中的第i个技术图片

训练集:技术图片

输入变量和输出变量:
分类问题、 回归问题、 标注问题
联合概率分布:
假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y),P(X,Y)为分布函数或分布密度函数,对于学习系统来说,联合概率分布是未知的,训练数据和测试数据被看作是依联合概率分布P(X,Y)独立同分布产生的。
假设空间:
监督学习目的是学习一个由输入到输出的映射,称为模型
模式的集合就是假设空间(hypothesis space)
概率模型:条件概率分布P(Y|X), 决策函数: Y=f(X)
问题的形式化:

 技术图片

 

 3.统计学习三要素
方法 = 模型+策略+算法

模型:
决策函数的集合:技术图片

参数空间:技术图片

条件概率的集合:技术图片

参数空间:技术图片

 

策略:
损失函数: 一次预测的好坏
风险函数: 平均意义下模型预测的好坏
0-1损失函数 0-1 loss function

技术图片

平方损失函数 quadratic loss function:技术图片

绝对损失函数 absolute loss function:技术图片

 

对数似然损失函数 loglikelihood loss function:技术图片

损失函数的期望:技术图片

风险函数 risk function 期望损失 expected loss
由P(x,y)可以直接求出P(x|y),但不知道,技术图片

经验风险 empirical risk , 经验损失 empirical loss:技术图片

策略: 经验风险最小化与结构风险最小化
经验风险最小化最优模型:技术图片

当样本容量很小时, 经验风险最小化学习的效果未必很好, 会产生“过拟合over-fitting”
结构风险最小化 structure risk minimization, 为防止过拟合提出的策略, 等价于正则化(regularization) , 加入正则化项regularizer, 或罚项 penalty term:

技术图片

求最优模型就是求解最优化问题:技术图片

算法:
如果最优化问题有显式的解析式, 算法比较简单但通常解析式不存在, 就需要数值计算的方法


 4.模型评估与模型选择
训练误差, 训练数据集的平均损失:技术图片

测试误差, 测试数据集的平均损失:技术图片

损失函数是0-1 损失时:技术图片

测试数据集的准确率:技术图片

 

过拟合与模型选择

假设给定训练数据集技术图片

其中, ix?R是输入x的观测值, iy?R是相应的输出y的观测值, i=1,2,…,N。 多项式函数拟合的任务是假设给定数据由M次多项式函数生成, 选择最有可能产生这些数据的M次多项式函数, 即在M次多项式函数中选择一个对已知数据以及未知数据都有很好预测能力的函数。设M次多项式为:技术图片

式中x是单变量输入, w0,w1,wM,…是M+1个参数。技术图片

经验风险最小:

技术图片

 5.正则化与交叉验证
正则化

模型选择的典型方法是正则化(regularization) 。 正则化是结构风险最小化策略的实现, 是在经验风险上加一个正则化项(regularizer) 或罚项(penalty term)。
正则化一般形式:技术图片

其中, 第1项是经验风险, 第2项是正则化项, ≥0为调整两者之间关系的系数。

回归问题中,损失函数是平方损失, 正则化项可以是参数向量的L2范数:技术图片

这里, ||w||表示参数向量w的L2范数。

正则化项也可以是参数向量的L1范数:技术图片

这里, ||w||1表示参数向量w的L1范数。

第1项的经验风险较小的模型可能较复杂(有多个非零参数), 这时第2项的模型复杂度会较大。 正则化的作用是选择经验风险与模型复杂度同时较小的模型。

交叉验证
训练集 training set: 用于训练模型
验证集 validation set: 用于模型选择
测试集 test set: 用于最终对学习方法的评估
简单交叉验证:首先随机地将已给数据分为两部分,一部分作为训练集,另一部分作为测试集(例如, 70%的数据为训练集, 30%的数据为测试集); 然后用训练集在各种条件下(例如, 不同的参数个数) 训练模型, 从而得到不同的模型; 在测试集上评价各个模型的测试误差, 选出测试误差最小的模型。
S折交叉验证:应用最多的是S折交叉验证(S-fold cross validation),方法如下: 首先随机地将已给数据切分为S个互不相交的大小相同的子集; 然后利用S-1个子集的数据训练模型, 利用余下的子集测试模型; 将这一过程对可能的S种选择重复进行; 最后选出S次评测中平均测试误差最小的模型。
留一交叉验证:S折交叉验证的特殊情形是S=N,称为留一交叉验证(leave-one-out  cross validation), 往往在数据缺乏的情况下使用。 这里 N是给定数据集的容量。

 6.泛化能力
学习方法的泛化能力(generalization ability) 是指由该方法学习到的模型对未知数据的预测能力, 是学习方法本质上重要的性质。 现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力。 但这种评价是依赖于测试数据集的。 因为测试数据集是有限的,很有可能由此得到的评价结果是不可靠的。 统计学习理论试图从理论上对学习方法的泛化能力进行分析。

泛化误差

如果学到的模型是 ,那么用这个模型对未知数据预测的误差即为泛化误差(generalization error):技术图片

泛化误差反映了学习方法的泛化能力, 如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差, 那么这种方法就更有效。

泛化误差上界

学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的, 简称为泛化误差上界(generalization error bound) 。 具体来说, 就是通过比较两种学习方法的泛化误差上界的大小来比较它们的优劣。 泛化误差上界通常具有以下性质: 它是样本容量的函数,当样本容量增加时, 泛化上界趋于0; 它是假设空间容量(capacity) 的函数, 假设空间容量越大, 模型就越难学, 泛化误差上界就越大。
二分类问题:技术图片

期望风险和经验风险:技术图片

经验风险最小化函数:技术图片

泛化能力:技术图片

定理: 泛化误差上界, 二分类问题, 当假设空间是有限个函数的结合 , 对任意一个函数f, 至少以概率1-δ, 以下不等式成立:

技术图片

 7.生成模型与判别模型
决策函数:技术图片

条件概率分布:技术图片

生成方法Generative approach 对应生成模型: generative model,技术图片

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

判别方法由数据直接学习决策函数f(X)或者条件概率分布P(Y|X)作为预测的模型, 即判别模型。 判别方法关心的是对给定的输入X, 应该预测什么样的输出Y。 典型的判别模型包括: k近邻法、 感知机、 决策树、 逻辑斯谛回归模型、 最大熵模型、 支持向量机、 提升方法和条件随机场等。
生成方法的特点: 生成方法可以还原出联合概率分布P(X,Y), 而判别方法则不能; 生成方法的学习收敛速度更快, 即当样本容量增加的时候, 学到的模型可以更快地收敛于真实模型; 当存在隐变量时, 仍可以用生成方法学习, 此时判别方法就不能用。判别方法的特点: 判别方法直接学习的是条件概率P(Y|X)或决策函数f(X), 直接面对预测, 往往学习的准确率更高; 由于直接学习P(Y|X)或f(X), 可以对数据进行各种程度上的抽象、 定义特征并使用特征, 因此可以简化学习问题。

 8.分类问题
分类是监督学习的一个核心问题。 在监督学习中, 当输出变量Y取有限个离散值时,预测问题便成为分类问题。 这时, 输入变量X可以是离散的, 也可以是连续的。 监督学习从数据中学习一个分类模型或分类决策函数, 称为分类器(classifier) 。 分类器对新的输入进行输出的预测(prediction) , 称为分类(classification)
分类问题包括学习和分类两个过程。 在学习过程中, 根据已知的训练数据集利用有效的学习方法学习一个分类器; 在分类过程中, 利用学习的分类器对新的输入实例进行分类。 分类问题可用图1.4描述。 图中(x1, y1),(x2, y2),…,(xN,yN)是训练数据集, 学习系统由训练数据学习一个分类器P(Y|X)或Y=f(X); 分类系统通过学到的分类器P(Y|X)或Y=f(X)对于新的输入实例xN+1进行分类, 即预测其输出的类标记yN+1。

技术图片

二分类评价指标:
TP——将正类预测为正类数;
FN——将正类预测为负类数;
FP——将负类预测为正类数;
TN——将负类预测为负类数。
精确率:技术图片

召回率:技术图片

F1值:技术图片

 9.标注问题
标注(tagging) 也是一个监督学习问题。 可以认为标注问题是分类问题的一个推广,标注问题又是更复杂的结构预测(structure prediction) 问题的简单形式。 标注问题的输入是一个观测序列, 输出是一个标记序列或状态序列。 标注问题的目标在于学习一个模型,使它能够对观测序列给出标记序列作为预测。 注意, 可能的标记个数是有限的, 但其组合所成的标记序列的个数是依序列长度呈指数级增长的。标注问题分为学习和标注两个过程(如图1.5所示) 。

技术图片

训练集:技术图片

观测序列:技术图片

输出标记序列:技术图片

模型: 条件概率分布技术图片

评价标注模型的指标与评价分类模型的指标一样, 常用的有标注准确率、 精确率和召回率。 其定义与分类模型相同。标注常用的统计学习方法有: 隐马尔可夫模型、 条件随机场。标注问题在信息抽取、 自然语言处理等领域被广泛应用, 是这些领域的基本问题。 例如, 自然语言处理中的词性标注(part of speech tagging) 就是一个典型的标注问题: 给定一个由单词组成的句子, 对这个句子中的每一个单词进行词性标注, 即对一个单词序列预测其对应的词性标记序列。

 10.回归问题
回归(regression) 是监督学习的另一个重要问题。 回归用于预测输入变量(自变量) 和输出变量(因变量) 之间的关系, 特别是当输入变量的值发生变化时, 输出变量的值随之发生的变化。 回归模型正是表示从输入变量到输出变量之间映射的函数。 回归问题的学习等价于函数拟合: 选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。回归问题分为学习和预测两个过程(如图1.6所示) 。

技术图片

这里, xi?Rn是输入, y?R是对应的输出, i=1,2,…,N。 学习系统基于训练数据构建一个模型, 即函数Y=f(X); 对新的输入xN+1, 预测系统根据学习的模型Y=f(X)确定相应的输出yN+1。
回归问题按照输入变量的个数, 分为一元回归和多元回归; 按照输入变量和输出变量之间关系的类型即模型的类型, 分为线性回归和非线性回归。回归学习最常用的损失函数是平方损失函数, 在此情况下, 回归问题可以由著名的最小二乘法(least squares) 求解。


推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • mysql-cluster集群sql节点高可用keepalived的故障处理过程
    本文描述了mysql-cluster集群sql节点高可用keepalived的故障处理过程,包括故障发生时间、故障描述、故障分析等内容。根据keepalived的日志分析,发现bogus VRRP packet received on eth0 !!!等错误信息,进而导致vip地址失效,使得mysql-cluster的api无法访问。针对这个问题,本文提供了相应的解决方案。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 统一知识图谱学习和建议:更好地理解用户偏好
    本文介绍了一种将知识图谱纳入推荐系统的方法,以提高推荐的准确性和可解释性。与现有方法不同的是,本方法考虑了知识图谱的不完整性,并在知识图谱中传输关系信息,以更好地理解用户的偏好。通过大量实验,验证了本方法在推荐任务和知识图谱完成任务上的优势。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • Iamtryingtocreateanarrayofstructinstanceslikethis:我试图创建一个这样的struct实例数组:letinstallers: ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 本文介绍了在go语言中利用(*interface{})(nil)传递参数类型的原理及应用。通过分析Martini框架中的injector类型的声明,解释了values映射表的作用以及parent Injector的含义。同时,讨论了该技术在实际开发中的应用场景。 ... [详细]
  • 如何用R语言做词云图,以某部网络小说为例
    作者:horoR语言中文社区专栏作者知乎ID:https:www.zhihu.compeoplelin-jia-chuan前言一开始,我在 ... [详细]
author-avatar
mobiledu2502909447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有