您的位置:首页 > 其它

统计算法学习梳理(一)

2015-08-20 10:03 211 查看
研一零零散散用了一些统计算法,在此简单梳理下,力求用电梯演讲法则去阐述每种算法模型(这是初哀,最后,呵呵了)。但自己理解不深,还需要进一步努力。更重要的是复用了他人的智慧。

统计学习概述

关于统计学习,首先推荐李航老师著作的一本书《统计学习方法》。在此引用里边一句话来定义统计学习:统计学习(statistical
learning)是关于计算机基于数据构建概率模型并运用模型对数据进行预测与分析的一门学科。从中可见,统计学习中有两个重要的点:数据,概率模型。

统计学习方法里边有三个要素:模型,策略,算法。模型即指所要进行学习的概率函数或者决策函数。策略就是我们定义的一个标杆或准则,然后才能此学习或者选择最优的模型(没有策略我们无法对模型进行评判、作出选择)。算法就是学习时用的具体方法。

1,k近邻法

本节从以下二个部分简介k近邻法:K近邻法的思想、三个要素。

K近邻法的思想。K近邻法是一种基本的分类方法,当时也可用于回归。这种方法用数据解释了“人以群分,物以类聚”所蕴涵的道理:如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。在你的K个朋友中,多数是有钱人,那么你也是有钱人(当然还存在准确率问题,hh)。

三个要素。从k近邻法思想中也体现出其三个要素:距离度量,即以什么样的标准定义一个人距离你关系的远近,进而判定是不是你的朋友;k值的选择,即看几个朋友来推测你的情况;分类决策,一般选择多数表决法,即大部分有钱,则就判定你是有钱人(还要其它分类策略吗?k个朋友中有一个有钱,那么就判定这个属于有钱,也可以啊)。

2,聚类

本节主简介两种聚类算法思想:分级聚类,k均值聚类。

分级聚类通过连续不断地将最为相似的的群组合并,来构造出一个群组的层级结构。在每次迭代的过程中,分级聚类算法都会计算两两群组间的距离,并将距离最近的两个群组合并,最张形成一个群组。

k均值法(以前一直以为kmeans和knn指的同一种算法,hh)。k-means
算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。

3,朴素贝叶斯

朴素贝叶斯法是基于贝叶斯定理和条件独立假设的分类方法。其基本过程为:对于给定的训练数据集, 首先基于特征条件独立性假设学习/输入/输出的联合概率分布;然后基于些模型对给定的输入输入x,利用贝叶斯定理各个分类的后验概率,选择概率最大的分类为输出y。

在这块有几个词:贝叶斯定理,特征条件独立性假设,先验概率,后难概率,联合概率。

百科上有部分对贝叶斯定理的文字解释:通常情况下,事件A发生的情况下B发生的概率与B发生的情况下A发生的概率是不相等的,而贝叶斯定理就是用来描述这两种之间的关系的。那么两者之间是个什么关系的呢?就是一个公式,贝叶斯公式/定理。

先验概率:对于当前要判断的实例不了解任何知识,仅仅根据以往的经验来判断当前实例属于哪个类。

后验概率:对于当前要判断的实例,当知道其一些知识后而算出的一种条件概率。

条件独立性假设:当用多个特征来判断一个实例的类别时,姑且认为这此特征是独立起作用的。

联合概率:表示两个事件共同发生的概率。

4,支持向量机

支持向量机是一种二分类模型。是一组方法的统称。看了一些资料,但是目前还没有深入去推导过。在此只说说我的两点印象:一是支持向量机在分类时追求的标准,二是当所给数据“不可分”时怎么办。

在二维空间里分布着很多黑点和白点,假设这些点是可以按黑白分开的。支持向量机不仅要找到一条线将其分隔开,而且要找到一条间隔最大的线。至于怎么算间隔最大?直观点,有两点,这条线就是两点连线的中垂线。至于维数再高些,则间隔最大的线就对应成了超平面了。

假如数据“不可分”了,怎么办呢?则把这些数据映射到更高维的数据空间里进行分隔。 对应间隔最大的线就成了超平面。

5,最大熵模型
本节依次简介以下二部分:熵,最大熵原理。

熵是信息量的计量单位。给定一个符号,如何评测它所包含的信息量大小呢?香农最早在通信领域首提信息熵的概念,主要以其计算公式来定义的。

最大熵原理,这是一个概率模型学习的一个准则。最大熵原理认为,假如有很多模型都满足当前的条件,则熵最大的那个模型是最优的模型。直观地,在满足已知的知识条件下,对不知道的条件知识不作任何猜测,等概率对待。

6,决策树模型

决策树是一种基本的分类方法与回归方法,其学习通常包含三个步骤:特征选择、决策树生成,决策树剪枝。在本节中简介两部分:决策树基本概念,ID3算法。

决策树模型是一种描述对实例进行分类的树形结构。其由结点和有向边组成。结点有两种类型:内部结点和边结点。内部结点表一个特征或属性,叶结点表示一个分类。用决策树进行分类的过程:从根节点形如对实例进行某一特征测试,根据测试结果,将实例分给其某一子节点;这个子节点对应某一特征取值,然后依次递归地对实例进行测试并分配,直到达到叶结点完成分类。

由决策树的描述可以看出,越靠近根节点的特征对分类的区分度越大,而根节点对分类的区分度最大。ID3算法则是递归选择当前最区分度最的特征建立节点并最终形成决策树的,ID5算法的作用也是如此,只不过两者对特征的区分度度量标准不一样。

7,隐马尔可夫模型

隐马尔可夫模型(Hidden Markov Model,HMM)是一种统计模型,它用来描述含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数,然后利用这些参数来作进一步的分析。
我的理解是就如隐马的描述一样,只要是通过观察事件而去推测隐藏事件的情况这样的场景都可以用隐马。通过翻阅知网论文资料可以看出隐马思想被运用到了很多领域,以下是我对三个领域的简单理解:

语音识别,通过可以观察感知的声学特征推测隐藏其中的文字序列;机器翻译,通过可以观察感知的一种语言文字序列去推测隐藏其中的另外一种语言文字序列;词性标注,通过可以观察感知的词组序列的推测隐藏其中的词性序列。

感想

在尝试学习汉字分词、标注预测、文本分类后,感觉对上述几种模型都了解一些了,想只用文字简单描述下这几种模型。但是打开博客,开始写的时候,感觉太难了!有相当一部分概率,除了公式外,根本不知道怎么去解释它。还有些模型,只意会了些思想,然后用一些现成工具包来实现其效果,最多再调调参数。但真正去解释的时候,发现什么都不会说!
本来打算用一下午时间简单写写,但是把这些模型列出来了,不知道怎么办了,习惯性的复制、贴图。但发现有复制不完的东西,贴不完的图!而每一个模型都很多而且比较好的博客总结,而自己在一篇中就一个模型写好就不错了。所以后来给自己定位,对于一个模型,自己能够按自己的理解,记住点看的东西,然后说出来,在这个基础上尽量说得清楚。最后还是自己学习不到家,继续努力!
学习资料:

《统计学习方法》李航

《集体智慧编程.Programming Collective
Inteligence》

妍彦的博客.K-means算法
与 KNN(K最近邻)算法


理解SVM的三层境界-支持向量机通俗导论

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: