线性分类

P1线性分类概述 & P2感知机

  • 分类是机器学习中的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。从数据中学习一个分类模型或分类决策函数,称为分类器。分类器对新的输入进行输出的预测,称为分类,可能的输出称为类,分类的类别为多个时,称为多类分类问题,主要研究的都为二分类问题。许多机器学习方法都是可以用来解分类问题,比如:感知机、朴素贝叶斯、支持向量机、决策树、逻辑回归、AdaBoost、神经网络等等。感知机是神经网络和支持向量机的基础,所以把感知机弄清楚对于其它算法的理解还是挺有必要的。
  • 感知机是一种广泛使用的线性分类器。就是说数据必须是线性可分的(虽然实际中很难达到要求,但是可以通过一些方法将数据集变为线性可分),属于判别模型(Discriminative Model)。感知器可谓是最简单的人工神经网络,只有一个神经元。感知器是对生物神经元的简单数学模拟,有与生物神经元相对应的部件,如权重(突触)、偏置(阈值)及激活函数(细胞体),输出为+1或-1。感知器是一种简单的两类线性分类模型
线性分类
线性分类

P3线性判别分析

  • 线性判别分析(linear discriminant analysis,LDA)是对费舍尔的线性鉴别方法的归纳,这种方法使用统计学,模式识别和机器学习方法,试图找到两类物体或事件的特征的一个线性组合,以能够特征化或区分它们。所得的组合可用来作为一个线性分类器,或者,更常见的是,为后续的分类做降维处理。
  • 假设我们对一张100*100像素的图片做人脸识别,每个像素是一个特征,那么会有10000个特征,而对应的类别标签y仅仅是0/1值,1代表是人脸。这么多特征不仅训练复杂,而且不必要特征对结果会带来不可预知的影响,但我们想得到降维后的一些最佳特征(与y关系最密切的)。
  • 主要思想是将一个高维空间中的数据投影到一个较低维的空间中,且投影后要保证各个类别的类内方差小而类间均值差别大,这意味着同一类的高维数据投影到低维空间后相同类别的聚在一起,而不同类别之间相距较远。
线性分类
线性分类

P4目标函数分析 & P5逻辑回归

  • 线性判别分析(LDA)是一种有监督的数据降维算法,它的目标是最大化类间差异,最小化类内差异。数据经过投影之后,在低维空间里,同类样本聚集在一起,不同类的样本相距尽可能远。类内差异用每个类的方差来衡量,类间差异用各个类的类中心之间的距离来衡量,二者的比值为我们要优化的目标。由此构造出如P4中的损失函数,求解这一问题最后归结为求解矩阵的特征值问题。前面介绍的感知器算法的目标函数,欧氏距离损失,代表的都是经验风险,即在训练样本集上让误差最小化。这样做的泛化性能不一定好,还有一种做法为结构化风险最小化,典型代表是支持向量机。
  • logistic回归又称logistic回归分析,是一种广义的线性回归分析模型,常用于数据挖掘,疾病自动诊断,经济预测等领域。例如,探讨引发疾病的危险因素,并根据危险因素预测疾病发生的概率等。以胃癌病情分析为例,选择两组人群,一组是胃癌组,一组是非胃癌组,两组人群必定具有不同的体征与生活方式等。因此因变量就为是否胃癌,值为“是”或“否”,自变量就可以包括很多了,如年龄、性别、饮食习惯、幽门螺杆菌感染等。自变量既可以是连续的,也可以是分类的。然后通过logistic回归分析,可以得到自变量的权重,从而可以大致了解到底哪些因素是胃癌的危险因素。同时根据该权值可以根据危险因素预测一个人患癌症的可能性。是一种用于解决二分类(0 or 1)问题的机器学习方法,用于估计某种事物的可能性。
线性分类
线性分类

P6高斯判别分析 & P7最大似然函数

  • 高斯判别分析的作用也是用于分类。对于两类样本,其服从伯努利分布,而对每个类中的样本,假定都服从高斯分布,根据训练样本,估计出先验概率以及高斯分布的均值和协方差矩阵(注意这里两类内部高斯分布的协方差矩阵相同),即可通过贝叶斯公式求出一个新样本分别属于两类的概率,进而可实现对该样本的分类。GDA详细推导如P6,那么高斯判别分析的核心工作就是估计未知量ϕ,μ0,μ1,Σ。如何来估计这些参数?又该最大似然估计上场了。其对数似然函数如P6所示,推导如P7。
线性分类
线性分类
线性分类
线性分类

P8最大似然函数延申 & P9朴素贝叶斯

  • 上面的推导似乎很复杂,但其结果却是非常简洁。通过上述公式,所有的参数都已经估计出来,需要判断一个新样本x时,可分别使用贝叶斯求出p(y=0|x)和p(y=1|x),取概率更大的那个类。实际计算时,我们只需要比大小,那么贝叶斯公式中分母项可以不计算,由于2个高斯函数协方差矩阵相同,则高斯分布前面那相同部分也可以忽略。实际上,GDA算法也是一个线性分类器。
  • 贝叶斯学派的思想可以概括为先验概率+数据=后验概率。也就是说我们在实际问题中需要得到的后验概率,可以通过先验概率和数据一起综合得到。数据大家好理解,被频率学派攻击的是先验概率,一般来说先验概率就是我们对于数据所在领域的历史经验,但是这个经验常常难以量化或者模型化,于是贝叶斯学派大胆的假设先验分布的模型,比如正态分布,beta分布等。这个假设一般没有特定的依据,因此一直被频率学派认为很荒谬。虽然难以从严密的数学逻辑里推出贝叶斯学派的逻辑,但是在很多实际应用中,贝叶斯理论很好用,比如垃圾邮件分类,文本分类。
  • 决策的目标是最小化分类错误率,贝叶斯最优分类器要对每个样本x,选择能使后验概率P(c|x)最大的类别c标记。在现实任务中后验概率通常难以直接获得。从这个角度来说,机器学习所要实现的是基于有限的训练样本集尽可能准确地估计出后验概率 P(c|x)。大体来说,主要有两种策略:给定x,可通过直接建模P(c|x)来预测c,这样得到的是“判别式模型”,例如,决策树、BP神经网络、支持向量机等等;也可先对联合概率分布P(x,c)建模,然后在由此获得P(c|x),这样得到的是“生成式模型”。
  • 贝叶斯估计中类先验概率P(c)表达了样本空间中各类样本所占的比例,根据大数定律,当训练集包含充足的独立同分布样本时,P(c)可通过各类样本出现的频率来进行估计。因为对于类条件概率P(x|c)来说,由于它涉及关于x所有属性的联合概率,直接根据样本出现的频率来估计将会遇到严重的困难。假如样本的d个属性都是二值的,则样本空间将有2的d次方种可能取值,在现实中,这个种类数往往大于训练样本,也就是说,很多样本取值在训练集中根本没有出现,直接使用频率来估计P(x|c)显然不可行,因为“未被观测到”与“出现概率为零”通常是不同的。这可以通过极大似然估计来解决。
  • 基于贝叶斯公式来估计后验概率P(c|x)的主要困难在于:类条件概率P(x|c)是所有属性上的联合概率,难以从有限的训练样本直接估计而得。因此朴素贝叶斯分类器采用了“属性条件独立性假设”:对已知类别,假设所有属性相互独立。也就是说,假设每个属性独立的对分类结果发生影响。
线性分类
线性分类