统计学习方法---导论
统计学习方法
出来混总是要还的,什么条件概率,贝叶斯,似然函数...全忘光了,学习这门课默默的又要捡起来了,遇到不会的就自己查查记录一下。
今天主要是讲了统计学习方法的第一章,三要素。先去自学一下,再来整理
来了,cpu疼......
统计学习的定义,研究对象与方法
统计学习:计算机/基于数据/构建概率统计模型/并运用模型对数据进行预测与分析。-------用训练集学习一个模型,然后用这个模型去预测新的数据。最重要的是最后要有一个好的模型
学习的定义:如果一个系统/能够通过执行某个过程/改进他的性能,这就是学习。-------吃一堑长一智,这就是学习
统计学习就是计算机系统/通过运用数据及统计方法/提高系统性能/的机器学习。--------现在的机器学习一般指的就是统计机器学习
---------------------------------------------------------------------------------------------------------------------------------------------------------------
研究对象:数据。从数据出发,提取数据特征,抽象数据模型,发现数据中的知识,最后又回归到数据的分析与预测中。--------就和人学习一个新知识一样,提出共同点,掌握方法论,之后用方法论去解决新的问题,对一个知识多总结,多修正,不断优化知识,提升自身的性能。
在互联网中数据是复杂多样的,各种数字,文字,图像,音频等等。统计学习的前提是假设同类数据具有一定的数据规律性。同类数据是指具有某种共同性质的数据(比如英文文章,互联网网页,数据库中的数据)。由于这些数据具有统计规律性,所以可以用概率统计方法来加以处理(比如用随机变量来表示数据的特征,用概率分布来描述数据的统计规律)。统计学习过程中会用变量或者变量组来表示数据,分为连续变量和离散变量。这本书主要是离散变量---------所有的数据把它用变量来表示,用统计学的方法来发现规律,让机器学习,机器太笨只能一步一步教,不像人类学习有时意会一下,机器不会意会,只能直观简单的告诉机器学习什么样的模型和如何学习模型,来更好的预测和分析数据,同时也要考虑提高学习效率,这倒是和人一样。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
统计学习的方法有:监督学习、非监督学习,半监督学习和强化学习
重点介绍下监督学习
在监督学习下统计学习的方法概括为:
从给定的、有限的、用于学习的训练数据集合出发,假设数据是独立同分布产生的并且假设要学习的模型属于某个函数的集合,称为假设空间;应用某个评价准则,从假设空间中选取一个最优的模型,使它对已知训练数据和未知测试数据在给定的评价准则下有最优的预测;最优模型的选取由算法实现。
- 得到一个有限的训练数据集合
- 确定包含所有可能模型的假设空间,即学习模型的集合----Q:咋确定啊?一听就很难emmmm....
- 确定模型选择的准则,即学习的策略------Q:咋确定啊?
- 实现求解最优模型的算法,即学习的算法------Q:咋实现啊?
- 通过学习方法选择最优模型
- 利用学习的最优模型对新数据进行预测或分析
简单的讲就是:模型的假设空间,模型选择的标准,模型学习的算法。这就是统计学习的三要素:模型,策略,算法---------学习方法三步走:1.想一堆模型放那2.确定一个标准去排除不要的模型(有的说是策略是以怎样的方式来学习这个模型,我也不太懂了)3.选好模型之后搞一个算法不断优化它,比如改改参数什么的让这个模型更具有普遍性能更好的反映训练集的特征,然后才能去预测新数据
让机器学一个模型,然后你输入,机器能给你一个较好的输出预测。那就说明这个机器学的不错,这个学习方法很成功。那我咋让机器学啊?????模型咋搞出来的啊??????
-------------------------------------绿色到蓝色是突然很明白我的又不明白了,emmmmmmmm-------------------------------------------
我知道模型是干啥的:算是个规律吧,机器要是学会了就能套用了;策略是干啥的:我咋学这个规律用啥方法?还是我咋从那么多规律里面选一个比较好的出来?;算法是干啥的:能不能把这个规律再给它更一般化一点这样才能更好的应付未知的数据。
但是突然不明白了
- 模型是个啥?函数吗?
- 策略是啥?
- 算法是啥?
- 这些模型咋弄出来的呀?咋想出来的?
---------------------------------------------------------------------------------------------------------------------------------------------------------------
监督学习
先来搞清几个基本概念
输入空间,特征空间和输出空间
输入输出的所有可能取值的集合分别称为输入空间和输出空间。----------所有可能取值是啥意思?现实情况抽象到数学层面了?啥都能输入?图片也能输入吗?还是只能输入数字?
特征空间:一个输入是一个实例,实例是由特征向量表示的。特征向量存在的空间就是特征空间。---------空间是个啥?
我好像想复杂了
在监督学习过程中,将输入与输出看作是定义在输入(特征)空间与输出空间上的随机变量的取值。输入变量,输出变量
;输入变量的取值
,输出变量的取值
;变量可以是标量也可以是向量。
比如一个输入实例x的特征向量记作
监督学习从训练数据集合中学习模型,对测试数据进行预测。训练数据由输入输出对组成,训练集通常表示为
那测试数据也是输入输出对。输入输出对又称样本或样本点。
输入变量和输出变量均为连续变量的预测问题称为回归问题
输出变量为有限个离散变量的预测问题称为分类问题
输入输出变量均为变量序列的预测问题称标注问题
联合概率分布:监督学习假设输入与输出的随机变量遵循联合概率分布
联合概率分布:两个及以上随机变量组成的随机变量的概率分布。
离散型联合概率分布:可用列表或者函数表示
连续型联合概率分布:非负函数的积分表示
-
假设空间
监督学习的目的在于学习一个输入到输出的映射,这一映射由模型来表示。模型是输入空间到输出空间映射的集合,这个集合就是假设空间。学习范围的确定。
监督学习的模型可以是概率模型也可以是非概率模型,由条件概率或决策函数
表示。对具体的输入进行相应的输出预测时,写作
或
。
条件概率:
![]()
发生条件下
发生的概率
决策函数:对于一个统计决策问题,可以从样本空间Ω到决策空间Ψ建立一个对应规则,这个规则就称为统计决策函数
---------我也不知道决策函数是个啥
---------------------------------------------------------------------------------------------------------------------------------------------------------------
监督学习利用训练数据集学习一个模型,再用模型对测试样本进行预测。训练数据集是人工给出的,所以称为监督学习。
学习和预测
学习系统利用给定的训练数据集,通过学习(训练)得到一个模型,表示为条件概率分布或者决策函数。条件概率分别或决策函数描述输入与输出随机变量之间的映射关系。
扶我起来,我还能学...
统计学习三要素:模型,策略和算法
统计学习关心学习什么样的模型,在监督学习中,模型就是所要学习的条件概率分布或者决策函数。模型的假设空间就是包含所有可能的的条件概率分布或决策函数。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
有了模型的假设空间,统计学习接下来关心按照什么样的准则学习或选择最优模型。目标:在假设空间中选出最优模型。
概念:损失函数和风险函数------这俩应该就能够看出这个模型好不好了吧
给一个输入会有一个实际真实值和用模型得出预测值,当然是两个越接近最好了,但是肯定不会那么容易就一致的。这时就用一个损失函数或者代价函数来度量预测错误的程度。损失函数是预测值和真实值的非负实值函数,记作
常用的损失函数
那肯定是损失函数值越小,模型越好呗。由于输入,输出是随机变量,遵循联合分布,按照数学上的习惯,不求期望都说不过去了。所以损失函数的期望是:
这是理论上模型关于联合分布的平均意义下的损失,称为风险函数或期望损失。
给损失函数求个期望就又换了一个新名字风险函数....数学上老爱搞这套,把人绕晕。其实都是用来说明模型的好坏的,预测的好不好。统计学习目的就是选择最优的模型现在就变成选择期望风险最小的呗,期望风险最小的就是最好的呗。
很尴尬的是,联合分布并不知道,期望损失不能直接计算。数学从来不让你好过,就是因为不知道,才要学习。
根据期望风险最小来学习模型要用到联合分布,但是联合分布不知道啊!!!!不知道你前面说那么一大堆干啥!现在咋办,不知道联合分布
模型关于训练数据集的平均损失称为经验风险或经验损失。记为:
概念又来了:期望风险Rexp(f)是模型关于联合分布P(X,Y)的期望损失,是期望!
经验风险Remp(f)是模型关于训练样本集的平均损失,是个平均值!
计算方法不一样。
根据大数定律,当样本容量N趋于无穷时,经验风险趋于期望风险。不用深究了,就这样记着吧。这时我们就可以用经验风险来估计期望风险了,期望风险是算不出来的但是我们还非要用,就曲线救国用别的估计一下了,因为大数定律说可以,大数定律好厉害啊!
但是厉害没有用啊!现实是不能让样本无穷大的,所以经验风险算出来效果不太好。数学果然不会放过你我他!那咋办?
对经验风险进行矫正,两个基本策略:经验风险最小化和结构风险最小化
经验风险最小化策略认为:经验风险最小的模型就是最优的模型。这并不是一句废话!!!已知假设空间,损失函数,训练数据集我们就能够确定经验风险的函数表达式。根据策略求最优模型就变成求解最优化模型,这也不是一句废话!
现在我们对函数求最小值就好了,出来就是最优模型了。
极大似然估计就是经验风险最小化的一个例子。当模型是条件概率分布,损失函数是是对数损失函数时,经验风险最小化就等价于极大似然估计。
并不是说这样就完美了,样本容量很大的时候效果比较好,那样本容量很小的时候,就不行了,有可能会过拟合。那咋办?过拟合咋办呀?不能过拟合呀?
结构风险最小化就是为了防止过拟合而提出来的策略
结构风险最小化等价于正则化。结构风险在经验风险上加上表示模型复杂度的正则化项或罚项。在经验风险确定之后,结构风险就是这样:
后面多出来的就是模型复杂度,模型越复杂,复杂度就越大。但是我们是要结构风险小的,那么经验风险和模型复杂度都得小,用系数来平衡一下。
贝叶斯估计中的最大后验概率就是结构风险最小化的一个例子。当模型是条件概率分布,损失函数是对数损失函数,模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。
结构风险最小化的策略认为:结构风险最小的模型是最优模型。没错,这不是一句废话!问题就变成了求解最优化问题
综上,监督学习问题就变成了经验风险或结构风险函数最优化的问题了。这时经验或结构风险函数是最优化函数的目标函数。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
有了最优模型了,我们要用什么样的计算方法来求解最优模型。上面已将问题归结为最优化问题,那么算法就是求解最优化问题的算法。
如果最优化问题有显示的解析解,就很简单了。如果没有就要用计算的方法来求解了。
沉迷学习,无法自拔...
统计学习终极目的是对未知数据有好的预测功能
不同的学习方法会给出不同的模型。当损失函数给定时,基于损失函数的模型的训练误差和模型的训练误差就自然成为学习方法评估的标准。
又换名字了
训练误差是模型关于训练数据集的的平均损失。
测试误差是模型关于测试数据集的平均损失。说是反映了学习方法对未知的测试数据集的预测能力。
学习方法对未知数据的预测能力称为泛化能力。
过拟合所选的模型复杂度比真模型高。对于已知数据预测的很好,但是对未知数据预测的很差。那这种情况肯定不行啊,就要有模型选择,选择一个既能避免过拟合又能提高模型的预测能力。
模型选择的典型方法是正则化和交叉验证
正则化就是上面说的结构风险最小化,选择经验风险与模型复杂度同时较小的模型。
奥卡姆剃刀原理在所有可能选择的模型中,能够很好的解释已知数据并且十分简单才是最好模型。正则化符合奥卡姆剃刀原理。
从贝叶斯估计的角度来看,正则化项对应于模型的先验概率,可以假设复杂的模型有较大的先验概率,简单的模型有较小的先验概率。
数据不充足时,重复使用数据。把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复的进行训练,测试以及模型选择。
交叉验证
简单交叉验证:简单的将数据按比例分开,训练的就只训练,测试就只测试
K折交叉验证:将数据随机分为k个互不相交大小相同的子集,k-1做训练,最后一个测试
留一交叉验证:k的一个特殊情况
泛化误差:模型对未知数据预测的误差
泛化误差就是所学习到的模型的期望风险。概念又把人绕回去了...
但是这并不能说明什么,真正有用的是研究泛化误差的概率上界,比较两种学习方法的泛化误差上界来判断哪一种更好。
泛化误差上界:它是样本容量的函数,,当样本容量增加时,,泛化上界趋于0;它是假设空间容量的函数,,假设空间容量越大,模型越难学,泛化误差上界就越大。
---------------------------------------------------------------------------------------------------------------------------------------------------------------
监督学习方法又分为生成方法和判别方法,所学到的模型分别为生成模型和判别模型
生成方法由数据学习联合概率分布P(X,Y),然后求出条件概率分布作为预测函数。
模型给定了输入X和输出Y的关系
朴素贝叶斯法,隐马尔可夫模型
判别方法由数据直接学习决策函数或者 条件概率分布作为预测函数的模型。
判别方法关心的是对给定的输入X,应该预测什么样的输出Y。
K近邻法,感知机,决策树,逻辑斯蒂回归模型,最大熵模型,支持向量机,提升方法,和条件随机场
-------------------------------------------------------------------------------------------------------------------------------------------
分类问题
当输出变量取有限个离散点时预测问题就成了分类问题。其实还是预测问题只是换了一个名字。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器。分类器对新的输入进行输出称为分类。
学习过程:根据已知的训练数据集利用有效的学习方法学习一个分类器;
分类过程:利用学习的分类器对新的输入实例进行分类。
评价指标:分类准确率:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。(就是损失函数是0-1损失时测试数据集上的准确率)
标注问题
学习一个模型,使它能够对观测序列给出标记序列做出预测。
标注系统按照学习得到的条件概率分布模型,对新的输入观测序列找到相应的输出标注序列。具体来讲就是,对一个观测序列,找到使条件概率最大的标记序列。
回归问题
用于预测输入变量与输出变量之间的关系。回归模型正是表示输入输出变量之间映射的函数。等价于函数的拟合,选择一条函数曲线使其很好地拟合已知数据且很好的预测未知数据。
按照输入变量的个数分为:一元回归和多元回归;按照关系分为:线性回归和非线性回归。
第一章终于结束了,emmmmmm,还有很长的路要走....