统计学习方法是基于训练数据构建统计模型,从而对数据进行预测和分析。 
统计学习分为,监督学习(supervised learning),非监督学习,半监督学习和强化学习(reinforcement learning),其中以监督学习最为常见和重要,所以这里只讨论监督学习

统计学习的过程如下, 
1. 获取训练数据集合 
2. 确定假设空间,即所有可能的模型的集合 
3. 确定模型选择的准则(什么是最优模型的标准),即学习的策略4. 实现求解最优模型的算法(如何获取最优模型),即学习的算法5. 通过算法中假设空间中,找到最优模型6. 使用该模型对新数据进行预测和分析

输入数据输入实例x记作,

训练集,有一组输入/输出数据组成,表示为 

联合概率分布监督学习假设输入和输出的随机变量X和Y遵循联合概率分布P(X,Y),P(X,Y)表示分布函数或分布密度函数。 
这个是基本假设,即输入和输出数据间是存在某种规律和联系的,否则如果完全随机的,就谈不上学习了。并且训练数据和测试数据是依据P(X,Y)独立同分布产生的

假设空间监督学习的目的在于学习一个由输入到输出的映射,这个映射由模型来表示。 
而这样的模型不只一个,可能很多,所有可能的模型的集合就是假设空间(hypothesis space). 假设空间代表了学习的范围,监督学习的目的就是从假设空间中找到最优的模型

统计学习三要素 

模型在监督学习中,模型有两类 
非概率模型,决策函数 
  
概率模型,条件概率 

策略如何定义一个模型好坏?

损失函数(L(Y,f(X)),度量一次预测的结果好坏,即表示预测值f(X)和真实值Y之间的差异程度。 

其他几个损失函数都比较好理解 
对数损失函数,解释一下 
首先它用于概率模型,最精确的预测P(Y|X)=1,所以为1时L=0,没有损失 
而P都是小于1,所以对数为负,并且越小L的值越大,想想对数分布曲线

风险函数(risk function)或期望损失(expected loss) 
用于度量平均预测结果的好坏,其实就是损失函数的期望 
输入X,输出Y遵循联合分布P(X,Y),定义如下 

数学期望 
参考http://zh.wikipedia.org/wiki/%E6%95%B0%E5%AD%A6%E6%9C%9F%E6%9C%9B

期望就是求平均值,对于离散值很简单,乘上概率相加就可以,比如抛骰子的期望就是,

对于连续数据,稍微复杂些,需要使用积分,本质还是一样的。 
积分参考,http://zh.wikipedia.org/wiki/%E7%A7%AF%E5%88%86

上面说了风险函数代码了模型的平均的预测结果,所以学习的目标应该是选择风险函数最小的模型。 
但是问题在于,计算风险函数需要知道联合分布P(X,Y),但是这个是无法知道的,否则也不用学习了,所以监督学习就成了一个病态问题(ill-formed problem),即无法精确的判断模型真正的效果

经验风险(empirical risk或经验损失(empirical loss)既然无法得到真正的风险函数的值,我们就用训练数据集上的平均损失来模拟真正的风险函数 
 
当N无穷大的时候,经验风险会逼近期望风险 
所以我们可以采用经验风险最小化(empirical risk minimization, ERM)的策略来找到最优的模型,当样本容量足够大的时候,能保证很好的学习效果 
在现实中被广泛使用,比如,极大似然估计(maximum likelihood estimation)

当然这种策略的问题就是会导致过拟合(over-fitting)现象 
所以提出结构风险最小化(structural risk minimization,SRM)策略来防止过拟合 
 
其实思路很简单,就是在经验风险后面加上表示模型复杂度的正则化项(regularizer)或罚项(penalty term),其中J(f)表示模型复杂度,模型越复杂就越大 
因为越是过拟合的模型越是复杂,所以通过regularizer可以有效平衡拟合程度

算法用什么样的方法来求解最优模型 
这样统计学习模型就归结为最优化问题,如果最优化问题有显式的解析解,比较简单,直接求出即可。但通常解析解是不存在的,所以就需要利用最优化算法来求解。

过拟合与模型选择 
再仔细分析一下过拟合问题 
当我们在假设空间中,选择模型的时候,希望可以尽可能逼近那个“真”模型,具体上讲就是两个模型间,参数个数相同,并且参数向量相近 
但是如果在选择的时候一味的提高对训练集的预测能力,会导致得到比真模型复杂度更高的模型,即包含更多的参数,称为过拟合

例子,用M次多项式去拟合图中训练集中的10数据点 
 
  
可以看到当多项式参数个数为0,1时拟合效果是很差的 
但当为9时,完美的经过训练集中的每个点,但因为训练集是有噪点的,所以这个模型过于复杂,拟合程度也不好,这就是过拟合 
只有当为3时,达到很好的拟合效果

如下图,当训练误差接近于0的时候,模型复杂度会大大增加,并且测试误差也会变大,所以必须要找到那个平衡点上的模型

问题是如何找到,下面有两个方法

正则法 
这个方法前面提过 
 
正则项可以有不同的形式,比如在回归问题中,损失函数是平方损失,正则项可以是参数向量的L1范数或L2范数 
具体定义参考下面,反正都可以代表模型的复杂度

给定向量x=(x1,x2,...xn)
L1范数:向量各个元素绝对值之和,曼哈頓距離
L2范数:向量各个元素的平方求和然后求平方根,歐幾里得距離 

正则法是符合奥卡姆剃刀(Occam’s razor,http://zh.wikipedia.org/zh/%E5%A5%A5%E5%8D%A1%E5%A7%86%E5%89%83%E5%88%80)原理的,优先选择更简单的模型

交叉验证1. 简单交叉验证,将数据70%作为训练集,30%作为测试集,然后选出测试误差最小的模型 
2. S-fold交叉验证,将数据随机分成S份,将S-1份作为训练集,剩下的作为测试集,对于训练集和测试集有S种选择,所以选出S次评测的平均误差最小的模型 
3. leave-one-out交叉验证,S-fold的特例,用于数据缺乏的情况,S=N,即一份里面只有一个数据

泛化能力(generalization ability)学习方法的泛化能力指该方法学习到的模型对未知数据的预测能力 
往往采用通过测试误差来评价学习方法的泛化能力,问题是过于依赖测试集,并且测试集是有限的,不是很可靠 
所以定义泛化误差来表示泛化能力 
泛化误差(generalization error),即模型的期望风险 

但是期望风险是无法精确算出的,所以只能定义 
泛化误差上界 (generalization error bound) 

前面说了,期望风险是无法算出的,所以思路仍然是用经验误差加上一项来代表泛化误差的上界,具体证明就不写了 
理解, 
第一项是经验误差(训练误差) 
第二项,N是样本数量,当N趋于无穷时,这项为0,即期望误差等于经验误差 
d表示假设空间中的函数个数,越大就越难学,泛化误差就越大

统计学习的分类

生成模型和判别模型 
生成方法
由数据学习联合概率分布P(X,Y),然后求出条件概率分布P(Y|X)作为预测模型,即生成模型,典型的如,朴素贝叶斯和隐马尔可夫模型 
  
优点, 
可以得到联合概率分布 
收敛速度更快 
当存在隐变量时,仍可以使用

判别方法 
由数据直接学习决策函数f(X)或条件概率分布P(Y|X)作为预测模型,即判别模型 
典型的如,KNN,感知机,决策树,逻辑回归,支持向量等 
优点, 
学习准确率比较高 
便于对数据进行抽象,可以简化学习问题

统计学习还可以根据输入输出的不同类型,分为, 
分类问题输出变量是有限个离散值时,就是分类问题 
学习出的分类模型或分类决策函数称为分类器(classifier) 
标注问题输入是一个观测序列,而输出是一个标记序列 
典型的应用,词性标注,输入词序列,输出是(词,词性)的标记序列 
回归问题 
输入输出都是连续变量是,就是回归问题,等价于函数拟合

本文章摘自博客园,原文发布日期:2014-03-14

统计学习方法笔记 -- 概论相关推荐

  1. 统计学习方法笔记第二章-感知机

    统计学习方法笔记第二章-感知机 2.1 感知机模型 2.2感知机学习策略 2.2.1数据集的线性可分型 2.2.2感知机学习策略 2.3感知机学习算法 2.3.1感知机算法的原始形式 2.3.2算法的 ...

  2. 李航-统计学习方法-笔记-1:概论

    写在前面 本系列笔记主要记录<统计学习方法>中7种常用的机器学习分类算法,包括感知机,KNN,朴素贝叶斯,决策树,逻辑斯谛回归与最大熵模型,SVM,boosting. 课本还涉及到3种算法 ...

  3. 统计学习方法笔记1--统计学习方法概论

    1 统计学习方法概论 1.1 统计学习 统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科. 从数据出发,提取数据的特征,抽象出数据的模型,发现数据中的知识,又回到对 ...

  4. 统计学习方法--笔记(1)

    学习理由:趁着研一的下半期刚开始有空闲的时候,打算开始学习朋友上学期介绍的李航<统计学习方法>,自己本身对于数学有着不一样的感情,所以,一旦跟自己专业相关的数学自己还是很感兴趣的读一读,学 ...

  5. 【统计学习方法笔记】——第二章 感知机

    目录 前言 一.感知机模型 1.1 定义 1.2 几何解释 二. 感知机学习策略 2.1 数据集的线性可分 2.2 感知机学习策略 三.感知机学习算法 3.1 感知机学习算法的原始形式 3.2 算法的 ...

  6. 统计学习方法笔记(8)——提升方法之梯度树提升GTB(GBRT)

    Introduction 决策树这种算法有着很多良好的特性,比如说训练时间复杂度较低,预测的过程比较快速,模型容易展示(容易将得到的决策树做成图片展示出来)等.但是同时,单决策树又有一些不好的地方,比 ...

  7. 统计学习方法笔记(九)-最大熵原理及python实现

    最大熵模型 最大熵模型介绍 最大熵模型原理 代码案例 案例地址 最大熵模型介绍 最大熵模型(maximum entropy model)可以用于二分类,也可以用于多分类.其是由最大熵原理推导实现的,所 ...

  8. 统计学习方法笔记(七)-线性支持向量机原理及python实现

    线性支持向量机 线性支持向量机 定义 线性支持向量机 线性支持向量机学习算法 代码案例 TensorFlow 案例地址 线性支持向量机 实际场景中训练数据往往不是线性可分的,当训练数据近似线性可分时, ...

  9. 统计学习方法笔记(六)-非线性支持向量机原理及python实现

    非线性支持向量机 非线性支持向量机 定义 非线性支持向量机 算法 非线性支持向量机学习算法 代码案例 TensorFlow 案例地址 非线性支持向量机 定义 非线性支持向量机 从非线性分类训练集,通过 ...

最新文章

  1. Gym - 102082G
  2. 前端页面布局常见问题/已踩过的坑大杂烩
  3. C++中的虚函数(virtual function)
  4. hao123电脑版主页_百度浏览器停更没关系,hao123才令人唏嘘!
  5. 16薪,六险一金,深尚科技招聘视觉/图像算法工程师 ,包含社招和校招
  6. svn拉取文件合并_四、Jenkins+SVN拉取文件下发
  7. VisualGDB系列8:使用VS创建CMake Linux项目
  8. javascript 学习指南--语法
  9. 电脑中了“魔鬼波”病毒 冲击波补丁
  10. 在火狐浏览器里怎么看请求头
  11. Unity项目优化-Alpha通道分离
  12. ZUCC_计算机系统原理实验_大作业 bomb 破解
  13. MySQL数据库实操教程(15)——表的关联关系
  14. leetcode进行手机解绑与换绑
  15. 原生table-多级表头【广度优先实现】
  16. cesium turf.js展示两多边形相交区域
  17. LaTeX学习总结5(插图)
  18. 一文解决,oracle显示ORA-01017
  19. 一文彻底搞懂extern用法
  20. D80说明书翻译PDF下载

热门文章

  1. UISegmentedControl 分段器加载不同的viewcontroller
  2. opencv(4)图像滤波
  3. 用Python写一份独特的元宵节祝福
  4. Mysql之主从复制及主主复制
  5. ubuntu 安装nginx,php,mysql。常见错误解决
  6. 添加10个用户user1到user10,但要求只有用户不存在的情况下才能添加
  7. python cookbook 2字符串 (1)
  8. 五种常见的 PHP 设计模式
  9. oracle ORACLE_SID使用上的意义
  10. IT员工的“脑出血”