分类器的选择

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分类器的选择相关的知识,希望对你有一定的参考价值。

有四个样本 分为两类
n个特征
选什么分类器比较好 有没有现成的?就是编好的程序或是软件

  如果训练集很小,那么高偏差/低方差分类器(如朴素贝叶斯分类器)要优于低偏差/高方差分类器(如k近邻分类器),因为后者容易过拟合。然而,随着训练集的增大,低偏差/高方差分类器将开始胜出(它们具有较低的渐近误差),因为高偏差分类器不足以提供准确的模型。

  你也可以认为这是生成模型与判别模型的区别。

  一些特定算法的优点

  朴素贝叶斯的优点:超级简单,你只是在做一串计算。如果朴素贝叶斯(NB)条件独立性假设成立,相比于逻辑回归这类的判别模型,朴素贝叶斯分类器将收敛得更快,所以你只需要较小的训练集。而且,即使NB假设不成立,朴素贝叶斯分类器在实践方面仍然表现很好。如果想得到简单快捷的执行效果,这将是个好的选择。它的主要缺点是,不能学习特征之间的相互作用(比如,它不能学习出:虽然你喜欢布拉德·皮特和汤姆·克鲁斯的电影,但却不喜欢他们一起合作的电影)。

  逻辑回归的优点:有许多正则化模型的方法,你不需要像在朴素贝叶斯分类器中那样担心特征间的相互关联性。与决策树和支撑向量机不同,你还可以有一个很好的概率解释,并能容易地更新模型来吸收新数据(使用一个在线梯度下降方法)。如果你想要一个概率框架(比如,简单地调整分类阈值,说出什么时候是不太确定的,或者获得置信区间),或你期望未来接收更多想要快速并入模型中的训练数据,就选择逻辑回归。

  决策树的优点:易于说明和解释(对某些人来说—我不确定自己是否属于这个阵营)。它们可以很容易地处理特征间的相互作用,并且是非参数化的,所以你不用担心异常值或者数据是否线性可分(比如,决策树可以很容易地某特征x的低端是类A,中间是类B,然后高端又是类A的情况)。一个缺点是,不支持在线学习,所以当有新样本时,你将不得不重建决策树。另一个缺点是,容易过拟合,但这也正是诸如随机森林(或提高树)之类的集成方法的切入点。另外,随机森林往往是很多分类问题的赢家(我相信通常略优于支持向量机),它们快速并且可扩展,同时你不须担心要像支持向量机那样调一堆参数,所以它们最近似乎相当受欢迎。

  SVMs的优点:高准确率,为过拟合提供了好的理论保证,并且即使你的数据在基础特征空间线性不可分,只要选定一个恰当的核函数,它们仍然能够取得很好的分类效果。它们在超高维空间是常态的文本分类问题中尤其受欢迎。然而,它们内存消耗大,难于解释,运行和调参也有些烦人,因此,我认为随机森林正渐渐开始偷走它的“王冠”。

  然而…

  尽管如此,回忆一下,更好的数据往往打败更好的算法,设计好的特征大有裨益。并且,如果你有一个庞大数据集,这时你使用哪种分类算法在分类性能方面可能并不要紧(所以,要基于速度和易用性选择算法)。

  重申我上面说的,如果你真的关心准确率,一定要尝试各种各样的分类器,并通过交叉验证选择最好的一个。或者,从Netflix Prize(和Middle Earth)中吸取教训,只使用了一个集成方法进行选择。
参考技术A 自从90年代初经典SVM的提出,由于其完整的理论框架和在实际应用中取得的很多好的效果,在机器学习领域受到了广泛的重视。其理论和应用在横向和纵向上都有了发展。

理论上:1.模糊支持向量机,引入样本对类别的隶属度函数,这样每个样本对于类别的影响是不同的,这种理论的应用提高了SVM的抗噪声的能力,尤其适合在未能完全揭示输入样本特性的情况下。

2.最小二乘支持向量机。这种方法是在1999年提出,经过这几年的发展,已经应用要很多相关的领域。研究的问题已经推广到:对于大规模数据集的处理;处理数据的鲁棒性;参数调节和选择问题;训练和仿真。

3.加权支持向量机(有偏样本的加权,有偏风险加权)。

4.主动学习的支持向量机。主动学习在学习过程中可以根据学习进程,选择最有利于分类器性能的样本来进一步训练分类器,特能有效地减少评价样本的数量。也就是通过某种标准对样本对分类的有效性进行排序,然后选择有效样本来训练支持向量机。

5.粗糙集与支持向量机的结合。首先利用粗糙集理论对数据的属性进行约简,能在某种程度上减少支持向量机求解计算量。

6.基于决策树的支持向量机。对于多类问题,采用二岔树将要分类的样本集构造出一系列的两类问题,每个两类构造一个SVM。

7.分级聚类的支持向量机。基于分级聚类和决策树思想构建多类svm,使用分级聚类的方法,可以先把n-1个距离较近的类别结合起来,暂时看作一类,把剩下的一类作为单独的一类,用svm分类,分类后的下一步不再考虑这单独的一类,而只研究所合并的n-1类,再依次下去。

8.算法上的提高。

l Vapnik在95年提出了一种称为”chunking”的块算法,即如果删除矩阵中对应Lagrange乘数为0的行和列,将不会影响最终结果。

l Osuna提出了一种分解算法,应用于人脸识别领域。

l Joachims在1998年将Osuna提出的分解策略推广到解决大型SVM学习的算法

l Platt于1998年提出了序贯最小优化(Sequential Minimal Optimization)每次的工作集中只有2个样本。

9.核函数的构造和参数的选择理论研究。基于各个不同的应用领域,可以构造不同的核函数,能够或多或少的引入领域知识。现在核函数广泛应用的类型有:多项式逼近、贝叶斯分类器、径向基函数、多层感知器。参数的选择现在利用交叉验证的方法来确认。

10.支持向量机从两类问题向多类问题的推广:

n Weston在1998年提出的多类算法为代表。在经典svm理论的基础上,直接在目标函数上进行改进,重新构造多值分类模型,建立k分类支持向量机。通过sv方法对新模型的目标函数进行优化,实现多值分类。这类算法选择的目标函数十分复杂,变量数目过多,计算复杂度也非常高,实现困难,所以只在小型问题的求解中才能使用。Weston,Multi-class support vector machines

n 一对多(one-against-rest)----- Vapnik提出的,k类---k个分类器,第m个分类器将第m类与其余的类分开,也就是说将第m类重新标号为1,其他类标号为-1。完成这个过程需要计算k个二次规划,根据标号将每个样本分开,最后输出的是两类分类器输出为最大的那一类。不足:容易产生属于多类别的点(多个1)和没有被分类的点(标号均为-1)--不对,训练样本数据大,训练困难,推广误差无界.

n 一对一(one-against-one)---Kressel 对于任意两个分类,构造一个分类器,仅识别这两个分类,完成这个过程需要k(k-1)/2个分类器,计算量是非常庞大的。对于每一个样本,根据每一个分类器的分类结果,看属于哪个类别的次数多,最终就属于哪一类(组合这些两类分类器并使用投票法,得票最多的类为样本点所属的类)。不足:如果单个两类分类器不规范化,则整个N类分类器将趋向于过学习;推广误差无界;分类器的数目K随类数急剧增加,导致在决策时速度很慢。

n 层(数分类方法),是对一对一方法的改进,将k个分类合并为两个大类,每个大类里面再分成两个子类,如此下去,直到最基本的k个分类,这样形成不同的层次,每个层次都用svm来进行分类------1对r-1法,构建k-1个分类器,不存在拒绝分类区。

应用上:人脸检测,汽轮发电机组的故障诊断,分类,回归,聚类,时间序列预测,系统辨识,金融工程,生物医药信号处理,数据挖掘,生物信息,文本挖掘,自适应信号处理,剪接位点识别,基于支持向量机的数据库学习算法,手写体相似字识别,支持向量机函数拟合在分形插值中的应用,基于支持向量机的惯导初始对准系统,岩爆预测的支持向量机,缺陷识别,计算机键盘用户身份验证,视频字幕自动定位于提取,说话人的确认,等等。

主要研究热点

从上面的发展中,我们可以总结出,目前支持向量机有着几方面的研究热点:核函数的构造和参数的选择;支持向量机从两类问题向多类问题的推广;更多的应用领域的推广;与目前其它机器学习方法的融合;与数据预处理(样本的重要度,属性的重要度,特征选择等)方面方法的结合,将数据中脱离领域知识的信息,即数据本身的性质融入支持向量机的算法中从而产生新的算法;支持向量机训练算法的探索。本回答被提问者采纳

选择器的分类

基本选择器:

1、* 通用选择器:

* 可以匹配我们网页文件中的任何元素,在IE6以下版本是不支持

margin:外边距

padding:内边距

2、标签选择器

选择器的名称和要设置的标签的名称一致。

3、id选择器

写法:#加上id的名称

4、class选择器(类选择器)

写法:点加上class的属性值。举例: .box

组合选择器:

1、分组选择器:

写法:E,F,G,H

说明:E,F,G,H,可以是任意基本选择器的组合,可以是同种选择器,也可以是不同类别的选择器的组合。

div,p

#box,p

.special ,p,#box

2、子元素选择器:

E>F: 上下级关系

E元素是F元素的父元素,F元素就是E元素的子元素

层级关系上来说,是上下级的关系,层级关系是相邻。

3、后代(层级)元素选择器:

写法: E F(两个元素用空格隔开)

E表示祖先元素,

F表示后代元素

层级关系可以有跨级。

 

4、相邻元素选择器

写法:E + F

作用:选择E元素后面紧邻的F元素,E和F是并列关系

举例:选择和class="box"紧邻的label元素

 

伪类选择器:

针对超链接的四种不同的状态有四种不同的设置:

伪类选择器,主要用于选择具有某种状态下的a链接

a链接具有4种状态

  • :link            表示初次显示的a链接(没有被访问过)
  • :hover            表示鼠标位于其上的a链接
  • :active            表示被激活的a链接(鼠标按下没有抬起时)    
  • :visited            表示被访问过的a链接

 

说明:由于兼容性问题,

  1. 我们会将初次显示的样式,还有被访问过的样式,设置为同一组
  2. 将鼠标悬浮和a链接被激活的状态设置为相同的样式。

        #a1:link,#a1:visited{

            text-decoration:none;

            color:#33ccff;

        }

        #a1:hover,#a1:active{

            text-decoration:none;

            color:#ccff33;

        }

 

属性选择器

写法:E[属性=属性值]{css样式}

 

以上是关于分类器的选择的主要内容,如果未能解决你的问题,请参考以下文章

Jquery选择器的分类

为啥以两种不同方式应用随机森林分类器的特征选择结果不同

jquery选择器的分类

python中支持向量机分类器的替代方案?

8.提升方法AdaBoost

选择最适合的分类器算法