统计学习的方法是基于数据构建统计模型从而对数据进行预测与分析。统计学习由以下几个主要组成部分: - 监督学习(supervised learning) - 非监督学习 (unsupervised learning) - 半监督学习 (semi-supervised learning) - 强化学习 (reinforcement learning)
Supervised learning is the machine learning task of inferring a function from labeled training data.
Unsupervised learning is the machine learning task of inferring a function to describe hidden structure from unlabeled data. Wikipedia: https://en.wikipedia.org/wiki/Supervised_learning https://en.wikipedia.org/wiki/Unsupervised_learning
统计学习方法的三要素: - 模型 (model) - 策略 (strategy) - 算法 (algorithm)
实现统计学习方法的步骤如下: (1)得到一个有限的训练数据集合; (2)确定包含所有可能的模型的假设空间,即学习模型的集合; (3)确定模型选择的准则,即学习的策略; (4)实现求解最有模型的算法,即学习的算法; (5)通过学习方法选择最优模型; (6)利用学习的最优模型对新数据进行预测或分析。
在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间(input space)与输出空间(output space)。 每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示,所有的特征向量存在的空间称为特征空间(feature space)。
监督学习假设输入与输出的随机变量X和Y遵循联合概率分布 P(X,Y) . P(X,Y) 表示分布函数,或分布密度函数。
监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。 换句话说,学习的目的就在于找到最好的这样的模型。 模型属于由输入空间到输出空间的映射的集合。这个集合就是假设空间(hypothesis space)。
模型的假设空间(hypothesis space)包含所有可能的条件概率分布或决策函数。 假设空间可以用 F 表示,可以定义为决策函数的集合,称为非概率模型
F={f|Y=f(X)} 也可以定义为条件概率的集合,称为概率模型: F={P|P(Y|X)}模型选择的典型方法是正则化(regularization)。正则化是结构风险最小化策略的实现,是在经验风险上加上一个正则化项(regularizer)或罚项(penalty term)。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值就越大。比如,正则化项可以是模型参数向量的范数。 正则化一般具有如下形式:
minf∈F1N∑i=1NL(yi,f(xi))+λJ(f) 第一项是经验风险,第二项是正则化项, λ≥0 为调整两者之间关系的系数。 正则化可以取不同的形式: - 例如,在回归问题中,损失函数是平方损失,正则化项可以是参数向量的 L2 范数: L(ω)=1N∑i=1N(f(xi;ω)−yi)2+λ2||ω||2 这里 ||ω|| 表示参数向量的 L2 范数。参考链接:http://blog.csdn.net/zouxy09/article/details/24971995 除了L1范数,还有一种更受宠幸的规则化范数是L2范数: ||W||2。它也不逊于L1范数,它有两个美称,在回归里面,有人把有它的回归叫“岭回归”(Ridge Regression),有人也叫它“权值衰减weight decay”。这用的很多吧,因为它的强大功效是改善机器学习里面一个非常重要的问题:过拟合。至于过拟合是什么,上面也解释了,就是模型训练时候的误差很小,但在测试的时候误差很大,也就是我们的模型复杂到可以拟合到我们的所有训练样本了,但在实际预测新的样本的时候,糟糕的一塌糊涂。
正则化项可以是参数向量的 L1 范数: L(ω)=1N∑i=1N(f(xi;ω)−yi)2+λ||ω||1 这里 ||ω||1 表示参数向量 ω 的 L1 范数。 参考链接: http://blog.csdn.net/zouxy09/article/details/24971995 L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。这太直观了,太露骨了吧,换句话说,让参数W是稀疏的。OK,看到了“稀疏”二字,大家都应该从当下风风火火的“压缩感知”和“稀疏编码”中醒悟过来,原来用的漫山遍野的“稀疏”就是通过这玩意来实现的。但你又开始怀疑了,是这样吗?看到的papers世界中,稀疏不是都通过L1范数来实现吗?脑海里是不是到处都是||W||1影子呀!几乎是抬头不见低头见。没错,这就是这节的题目把L0和L1放在一起的原因,因为他们有着某种不寻常的关系。那我们再来看看L1范数是什么?它为什么可以实现稀疏?为什么大家都用L1范数去实现稀疏,而不是L0范数呢? L1范数是指向量中各个元素绝对值之和,也有个美称叫“稀疏规则算子”(Lasso regularization)。现在我们来分析下这个价值一个亿的问题:为什么L1范数会使权值稀疏?有人可能会这样给你回答“它是L0范数的最优凸近似”。实际上,还存在一个更美的回答:任何的规则化算子,如果他在Wi=0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏。这说是这么说,W的L1范数是绝对值,|w|在w=0处是不可微,但这还是不够直观。这里因为我们需要和L2范数进行对比分析。所以关于L1范数的直观理解,请待会看看第二节。 对了,上面还有一个问题:既然L0可以实现稀疏,为什么不用L0,而要用L1呢?个人理解一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。所以大家才把目光和万千宠爱转于L1范数。 NP困难(NP-hard,non-deterministic polynomial-time hard)问题是计算复杂性理论中最重要的复杂性类之一。某个问题被称作NP困难,当所有NP问题可以在多项式时间图灵归约到这个问题。 NP困难参考链接: https://zh.wikipedia.org/wiki/NP困难对于二分类问题常用的指标是精确率(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测正确与否可以分成4类: - TP ——将正类预测为正类数 - FN——将正类预测为负类数 - FP——将负类预测为正类数 - TN——将负类预测为负类数 精准率定义为
P=TPTP+FP 召回率定义为 R=TPTP+FN标注(tagging)也是一个监督学习问题。可以认为标注问题是分类问题的一个推广,标注问题又是更复杂的结构预测(structure prediction)问题的简单形式。标注问题的输入是一个观测序列,输出是一个标记序列或状态序列。标注问题的目标在于学习一个模型,使它能够对广策序列给出标记序列作为预测。 标注常用的统计学习方法有:隐马尔科夫模型,条件随机场。标记问题在信息抽取,自然语言处理等领域被广泛应用,是这些领域的基本问题。
回归(regression)是监督学习的另一个问题。回归用于预测输入变量(自变量)与输出变量(因变量)之间的关系,特别是当输入变量发生变化时,输出变量的值随之发生的变化。回归模型正是表示输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线能使其很好地拟合已知数据且很好地预测未知数据。 回归学习最常用的损失函数是平方损失函数,在此情况下,回归问题可以由著名的最小二乘法(least square)求解。