机器学习的一些常用概念

1.参数模型(parametric models)与非参数模型(non-parametric models)

模型是否有固定数目的参数?若是则为参数模型,若参数数目随着训练数据集增大而增加则为非参数模型。一般而言,参数模型更快,然而却对数据分布特性进行了更强的假设。非参数模型则更加灵活,但是对于大数据集的计算量较大,难以处理。

非参数模型的例子:kNN算法。对于kNN算法的测试数据点x,需要计算x与训练集中每个点的距离。计算量随着训练集增大。

 

2.生成模型(generative)与判别模型(discriminative) 

生成方法基于数据学习得到联合概率分布P(Y,X), 然后计算P(Y|X) = P(Y,X)/ P(X),并以此作为预测。典型的生成模型有朴素贝叶斯,隐马尔可夫模型。由于模型给出了对于输入X,对于可能输出Y的生成关系,所以叫做生成模型。

判别模型直接学习得到决策函数f(X),或者得到条件概率P(Y|X)。该模型仅关注对于输入X,应该预测什么样的输出Y。k近邻算法、感知机、决策树、逻辑回归、最大熵模型、SVM、Boosting与条件随机场等都是典型的判别模型。

 

3. 无免费午餐定理(No Free Lunch Theorem)

  All models are wrong, but some models are useful  --George Box

没有适用于所有问题的最好模型。原因在于,在一个领域内的假设极可能不适用于其它的领域。因此,对于来自现实世界的不同的数据,我们需要选择不同的模型来解决需求。

 

4.精确率(precision)与召回率(recall)

对于两分类问题,精确率与召回率是常用的评价指标。举个例子,我们想通过王二以前在淘宝的浏览行为(点击、收藏、加入购物车等)来预测下个月王二会买哪些商品。对于淘宝上的商品,王二要么买,要么就是不买,这就是个两分类问题。

我们把“买”作为正类,“不买”作为负类。我们可以把预测结果分成四种情况:

a. 预测买的商品,王二确实买了(True Positive,简称TP)

b. 预测买的商品,王二实际没买(Fause Positive, 简称FP)

c. 预测没买的,王二实际买了(Fause Negtive, FN)

d. 预测没买的,王二确实没买(True Negtive, TN)

图中右边圆代表我们预测“买”的商品( Predict = TP+FP),左边圆代表王二实际购买的商品(Positive = TP+FN)。中间交集即为我们预测“买”的正确的部分(TP)。那么精确率等于我们预测“买”的商品中正确的,除以我们预测“买”的商品, 即Precision = TP/Predict 。召回率是预测买的正确的部分,占王二实际购买商品的比率,即Recall = TP/Positive 。

这个淘宝的例子是从阿里巴巴大数据竞赛来的灵感,有兴趣的可以去看看它这里对Precision与Recall的具体定义。有人可能会问,示例图里怎么没有TN呢?这个就留给大家思考吧: )

 

扩展:对于分类器的评价,有个常用的标准,受试者工作特征曲线(receiver operating characteristic curve, ROC)。ROC曲线的横坐标为FPR( false positive rate),纵坐标为TPR( true positve rate)。计算公式如下:

TPR = TP/Postive = TP/( TP + FN)

FPR = FP/Negtive = FP/(FP + TN)

ROC曲线关键点的解释: 
( TPR=0,FPR=0 ) 把每个实例都预测为负类的模型 
( TPR=1,FPR=1 ) 把每个实例都预测为正类的模型 
( TPR=1,FPR=0 ) 代表理想模型

分类模型越好则其对应的ROC曲线越接近左上角,而一个随机猜测模型应位于连接点(TPR=0,FPR=0)和(TPR=1,FPR=1)的主对角线上。 
ROC曲线下方的面积(AUC)提供了评价模型平均性能的另一种方法。(TPR=1,FPR=0)的理想模型AUG = 1;如果模型是个简单的随机猜测模型,那么它的AUG = 0.5,如果一个模型好于另一个,则它的曲线下方面积相对较大。

 

 

 5.维度灾难(The curse of dimensionality)

在高维空间中数据变的非常稀疏。比如对于kNN算法,假设训练样本均匀分布在D维空间的边长为1的立方体中。为了预测x的类别,若我们想使用整个数据集中10%的数据点对x的类别进行投票,则需要一个边长为0.8的立方体,才能够囊括足够的数据点;如果我们只使用1%的样本点投票呢?我们需要的小立方体的边长为0.63。可以看到这时我们的算法已经不是基于局部的了,更别说所谓“最近邻”了。

高维空间的数据稀疏性将导致一系列困难:

a. 需要更多的采样的样本点

b. 在组织和搜索数据时有赖于检测对象区域,这些区域中的对象通过相似度属性而形成分组。然而在高维空间中,所有的数据都很稀疏,从很多角度看都不相似,因而平常使用的数据组织策略变得极其低效。

c. 距离在高维度下失去意义

在某种意义上,几乎所有的高维空间都远离其中心,或者从另一个角度来看,高维单元空间可以说是几乎完全由超立方体的“边角”所组成的,没有“中部”。一维正态分布有68%的值落于正负标准差之间,而在十维空间上只有0.02%。这对于理解卡方分布是很重要的直觉理解。

卡方分布:若N个随机变量服从标准正态分布,那么它们的平方和(注意在计算欧氏距离时就要用到各个变量的平方和)构成的新的变量服从卡方分布,N是自由度。

 

然而,由于本征维度的存在,其概念是指任意低维数据空间可简单地通过增加空余(如复制)或随机维将其转换至更高维空间中,相反地,许多高维空间中的数据集也可削减至低维空间数据,而不必丢失重要信息。这一点也通过众多降维方法的有效性反映出来,如应用广泛的主成分分析方法。针对距离函数和最近邻搜索,当前的研究也表明除非其中存在太多不相关的维度,带有维数灾难特色的数据集依然可以处理,因为相关维度实际上可使得许多问题(如聚类分析)变得更加容易。另外,一些如马尔可夫蒙特卡罗或共享最近邻搜索方法,经常在其他方法因为维数过高而处理棘手的数据集上表现得很好。

 

6.核函数(Kernels)

 

7.过拟合(over fitting)

 

 

 

 

Reference:

[1] <<Machine Learning: A Problistic Perspective>>

[2] <<Pattern Recognition and Machine Learning>>

[3] <<统计学习方法>> - 李航

[4] curse of dimensionality 维数灾难

 

posted @ 2015-05-18 16:45  universe  阅读(736)  评论(0编辑  收藏  举报