精华内容
下载资源
问答
  • 分类器

    万次阅读 多人点赞 2018-09-21 21:23:10
    分类器的作用:常规任务是利用给定的类别、已知的训练数据来学习分类规则和分类器,然后对未知数据进行分类(或预测)。逻辑回归(logistics)、SVM等常用于解决二分类问题,对于多分类问题(multi-class ...

    分类器的作用:常规任务是利用给定的类别、已知的训练数据来学习分类规则和分类器,然后对未知数据进行分类(或预测)。逻辑回归(logistics)、SVM等常用于解决二分类问题,对于多分类问题(multi-class classification),比如识别手写数字,它需要10个分类,同样也可以用逻辑回归或SVM,只是需要多个二分类来组成多分类,但这样容易出错且效率不高,常用的多分类方法有softmax。 

    分类算法:划分为了两类

    1.基于概率密度的方法和基于判别函数的方法。

    • 基于概率密度的分类算法通常借助于贝叶斯理论体系,采用潜在的类条件概率密度函数的知识进行分类; 在基于概率密度的分类算法中,有著名的贝叶斯估计法、最大似然估计,这些算法属于有参估计,需要预先假设类别的分布模型,然后使用训练数据来调整概率密度中的各个参数。另外,如 Parzen窗、Kn邻近等方法属于无参估计,此类方法可从训练样本中直接估计出概率密度。 基于判别函数的分类方法使用训练数据估计分类边界完成分类,无需计算概率密度函数。
    • 基于判别函数的方法则假设分类规则是由某种形式的判别函数表示,而训练样本可用来表示计算函数中的参数,并利用该判别函数直接对测试数据进行分类。此类分类器中,有著名的感知器方法、最小平方误差法、SVM法、神经网络方法以及径向基(RBF)方法等。

    2.根据监督方式划分分类算法,分类学习问题可分为三大类:有监督分类、半监督分类和无监督分类。

    • 有监督分类是指用来训练分类器的所有样本都经过了人工或其他方式的标注,有很多著名的分类器算法都属于有监督的学习方式,如AdaBoost[51],SVM,神经网络算法以及感知器算法。
    • 无监督分类是指所有的样本均没有经过标注,分类算法需利用样本自身信息完成分类学习任务,这种方法通常被称为聚类,常用的聚类算法包括期望最大化(EM)算法和模糊C均值聚类算法等。
    • 半监督分类指仅有一部分训练样本具有类标号,分类算法需要同时利用有标号样本和无标号样本学习分类,使用两种样本训练的结果比仅使用有标注的样本训练的效果更好。这类算法通常由有监督学习算法改进而成,如SemiBoost、流形正则化、半监督SVM等。

    Softmax分类

    Softmax 函数的定义如下所示:

    其中,Vi 是分类器前级输出单元的输出。i 表示类别索引,总的类别个数为 C。Si 表示的是当前元素的指数与所有元素指数和的比值。Softmax 将多分类的输出数值转化为相对概率,更容易理解和比较。

    使用softmax激励函数作为输出层的多层感知机,卷积层和池化层每个的输出代表高级特征,目的是用这些特征进行分类。加入全连接层也是学习特征之间非线性组合的有效办法。卷积层和池化层提取出来的特征很好,但是如果考虑这些特征之间的组合,就更好了。

    Softmax函数把任意实值的向量转变成元素取之0到1且和为1的向量。将多个神经元的输出,映射到(0,1)区间内,可以看成概率来理解,从而来进行多分类。


     

    logistic分类器

    以Bernoulli(伯努利) 分布为模型建模的,顾名思义,逻辑分类,是一种二分类法,能将数据分成0和1两类。logistic分类的流程比较简单,主要有线性求和,sigmoid函数激活,计算误差,修正参数这4个步骤。前两部用于判断,后两步用于修正。

    线性求和以及sigmoid函数

    假设有一个n维的输入列向量 x,也有一个n维的参数列向量h, 还有一个偏置量b, 那么就可以线性求和得到z

    此时因为z的值域是[−∞,+∞] ,是无法根据z来判断x 到底是属于0还是1的。因此我们需要一个函数,来将z的值映射到[0,1]之间, 这就是激活函数。激活函数有很多种,这里的激活函数是sigmoid函数。

    sigmoid函数形状为

    可以看到它是介于0~1之间。那么在判断的时候,首先对之前得到的z代入sigmoid函数

    当 a 大于0.5的时候,我们判定x应属于1类,如果小于0.5,则属于0类。这样,就完成了判断的工作 。

    详细过程:https://www.cnblogs.com/yinheyi/p/6131262.html

    误差计算以及参数修正

    上面完成的判断过程中用到了参数向量h和偏置量b。 可以说,h和b的值直接关系到logistic判断的准确性。那么这两组参数是如何获得的呢?这就涉及到了参数的修正。在最开始的时候,h中的值是随机的,而b的值是0. 我们通过不断的训练来使得h和b能够尽可能的达到一个较优的值。

    那么如何训练呢?假设我们期望输入x的判定是y,而实际得到的判定值是a,那么我们定义一个损失函数C(a,y),通过修正h和b的值来使得C最小化,这是一个优化问题。在凸优化问题中,可以通过

    来直接算得h和b的最优解。然而在某些情况下,例如数据规模很大,或者非凸优化问题中,则不能这么做,而是用迭代的方法来得到局部最优解。

    其中 η 表示学习率。在这里,损失函数定为平方损失函数,即

    那么可以得到

    这样,就能够得到每次迭代的参数更新公式为

    将logistic扩展到多分类

    从之前可以看出,普通的logistic只能进行二分类,即只能够分为0或者1。那么如果这些样本属于多个类该怎么办呢?人们想了很多办法,例如一对多法,依次把某个类别的样本归为一类,其他剩余的样本归为另一类,这样k个类需要构建k个分类器。还有一对一法,在任意两类样本之间设计一个分类器,k个类需要k(k-1)/2个分类器。

    在这里,我们将输出由一个值更改为一个向量。例如有3个类,那么输出就是一个长度为3 的列向量,对应项的值为1,其他为0。即

    分别表示第0,1,2个类。 也可以看成是原来若干个logistic分类器组合在一起。对应的某个分类器只对该类输出1,其他情况都输出0.从这一点上来讲,这个做法有点类似于一对多法。此时,由于输出从一个数成为一个向量,之前的公式都要加以修改。首先,原来的y,a,z,b变成了列向量, 向量hh变成了矩阵W。这样,判断部分的公式变为

    此时的 σ 函数表示对向量中的每一个元素单独做运算。即

    得到的a向量中,其最大值所在的位置索引即为判断出的分类。 参数修正部分的公式也是类似的,

    注意有些向量之间是进行点乘的。 

    Boosting

    顾名思义,是提升的意思。弱分类器转化为强分类器---原理即三个臭皮匠,赛过诸葛亮一样。把很多分类准确率很低的分类器通过更新对数据的权重,集成起来形成一个分类效果好的分类器。

    它是一种框架算法,先从初始训练集训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器做错的训练样本在后续受到更多的关注,然后基于调整后的样本分布来训练下一个基学习器;如此重复进行,直至基学习器数目达到事先指定的值T,最终将这T个基学习器进行加权结合。

    一般来说,找到弱学习算法要相对容易一些,然后通过反复学习得到一系列弱分类器,组合这些弱分类器得到一个强分类器。Boosting算法要涉及到两个部分,加法模型和前向分步算法。加法模型就是说强分类器由一系列弱分类器线性相加而成。一般组合形式如下:

    其中,h(x;am)是一个个的弱分类器,am是弱分类器学习到的最优参数,βm是弱学习在强分类器中所占比重,P是所有am和βm的组合,这些弱分类器线性相加组成强分类器。

    前向分步就是说在训练过程中,下一轮迭代产生的分类器是在上一轮的基础上训练得来的。也就是可以写成这样的形式:

    由于采用的损失函数不同,Boosting算法有很多不同的类型,其中比较经典的有AdaBoost,其损失函数为指数损失的。

    Adaboost

    Boosting有一个重大缺陷,即该算法要求事先知道弱分类算法分类正确率的下限,这在实际问题中很难做到。

    Adaptive Boosting,自适应增强。它的自适应在于:前一个基本分类器分错的样本会得到加强,加权后的全体样本再次被用来训练下一个基本分类器。同时,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率或达到预先指定的最大迭代次数。

    Adaboost 迭代算法分为3步:

    1. 初始化训练数据的权值分布。如果有N个样本,则每个训练样本最开始时都被赋予相同的权值:1/N;
    2. 训练弱分类器。具体训练过程中,如果某个样本点已经被准确地分类,那么在构造下一个训练集中,它的权值就被降低;相反,如果某个样本点没有被准确地分类,那么它的权值就得到提高。然后权值更新过的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去;
    3. 将各个训练得到的弱分类器组合成强分类器。各个弱分类器的训练过程结束后,加大分类误差率小的弱分类器的权重,使其在最终的分类函数中起着较大的决定作用,而降低分类误差率大的弱分类器的权重,使其在最终的分类函数中起着较小的决定作用。换言之,误差率低的弱分类器在最终分类器中占的权重较大,否则较小。

    算法流程

    给定一个训练数据集T={(x1,y1), (x2,y2)…(xN,yN)},其中实例x \in \mathcal{X},而实例空间\mathcal{X} \subset \mathbb{R}^n,yi属于标记集合{-1,+1},Adaboost的目的就是从训练数据中学习一系列弱分类器或基本分类器,然后将这些弱分类器组合成一个强分类器。

    算法流程如下:

    1.初始化训练数据的权值分布。每一个训练样本最开始时都被赋予相同的权值:1/N。

    2.进行多轮迭代,用m = 1,2, ..., M表示迭代的第多少轮

    a.使用具有权值分布Dm的训练数据集学习,得到基本分类器(选取让误差率最低的阈值来设计基本分类器):

      b.计算Gm(x)在训练数据集上的分类误差率

       由上述式子可知,Gm(x)在训练数据集上的误差率em就是被Gm(x)误分类样本的权值之和。

      c.计算Gm(x)的系数,am表示Gm(x)在最终分类器中的重要程度(目的:得到基本分类器在最终分类器中所占的权重):        

       由上述式子可知,em≤1/2时,am≥0,am随em减小而增大,分类误差率越小的基本分类器在最终分类器中的作用越大。

      d.更新训练数据集的权值分布(目的:得到样本的新的权值分布),用于下一轮迭代。

                      

      使得被基本分类器Gm(x)误分类样本的权值增大,而被正确分类样本的权值减小,重点关注或聚焦于那些较难分的样本上。

        其中,Zm是规范化因子,使得Dm+1成为一个概率分布:

                                                              

    3.组合各个弱分类器

    从而得到最终分类器,如下: 

    实例

    有如下的训练样本,我们需要构建强分类器对其进行分类。x是特征,y是标签。

    令权值分布D1=(w1,1,w1,2,…,w1,10)

    并假设一开始的权值分布是均匀分布:w1,i=0.1,i=1,2,…,10w1,i=0.1,i=1,2,…,10

    现在开始训练第一个弱分类器。发现阈值取2.5时分类误差率最低,得到弱分类器为:

    当然,也可用别的弱分类器,只要误差率最低即可。这里为了方便,用了分段函数。得到了分类误差率e1=0.3。

    第二步计算G1(x)在强分类器中的系数

    第三步更新样本的权值分布,用于下一轮迭代训练。由公式:

    得到新的权值分布,从各0.1变成了:

    可以看出,被分类正确的样本权值减小了,被错误分类的样本权值提高了。

    第四步得到第一轮迭代的强分类器:

    以此类推,经过第二轮……第N轮,迭代多次直至得到最终的强分类器。迭代范围可以自己定义,比如限定收敛阈值,分类误差率小于某一个值就停止迭代,比如限定迭代次数,迭代1000次停止。这里数据简单,在第3轮迭代时,得到强分类器:

    的分类误差率为0,结束迭代。

    F(x)=sign(F3(x))就是最终的强分类器。

    SVM

    借鉴博客:https://blog.csdn.net/mm_bit/article/details/46988925

    • 线性核SVM:一般应用于多分类,分类的结果(如3分类)最后会给出(约等于)1、2、3的值代表第1、2、3类
    • 非线性核SVM:一般应用于二分类问题上

    support vector machines,支持向量机,是一个二分类的分类模型(经改造后也可用于多分类,但比较复杂)。分类的思想是,给定给一个包含正例和反例的样本集合,其目的是寻找一个超平面来对样本根据正例和反例进行分割,寻找一个超平面,使得离超平面比较近的点能有更大的间距。也就是我们不考虑所有的点都必须远离超平面,我们关心求得的超平面能够让所有点中离它最近的点具有最大间距。

    优点:

    在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中。

    如下面3个图,分类图1中的两类球,很简单,用一根棍子即可;但图2中一条直线貌似不能完成分类的任务,可以想象就像武侠片的大侠一样,拍下桌子,球飞到空中。然后,大侠抓起一张纸,插到了两种球的中间,如图2右边的部分;从直观的角度看这些球像是被一条曲线分开了,如图3。其中这些球叫做【data】,棍子叫做【classifier】, 最大间隙trick叫做【optimization】, 拍桌子叫做【kernelling】,那张纸叫做【hyperplane】。

     

    如果一个线性函数能够将样本完全正确的分开,就称这些数据是线性可分的,否则称为非线性可分的。线性函数在一维空间里就是一个点,在二维空间里就是一条直线,三维空间里就是一个平面,如果不关注空间的维数,这种线性函数叫做超平面(Hyper Plane)。在样本空间中,划分超平面可通过如下线性方程来描述:

                                                                  

    假设它已经完成了对样本的分隔,且两种样本的标签分别是{+1,-1},那么对于一个分类器来说,g(x)>0和个g(x)<0就可以分别代表两个不同的类别,+1和-1。

    但光是分开是不够的,SVM的核心思想是尽最大努力使分开的两个类别有最大间隔,这样才使得分隔具有更高的可信度。而且对于未知的新样本才有很好的分类预测能力(在机器学习中叫泛化能力),SVM让间隔最大的办法是:让离分隔面最近的数据点具有最大的距离。为了描述离分隔超平面最近的数据点,需要找到两个和这个超平面平行和距离相等的超平面:

                                                        H1: y = wTx + b=+1 和 H2: y = wTx + b=-1

    在这两个超平面上的样本点也就是理论上离分隔超平面最近的点,是它们的存在决定了H1和H2的位置,支撑起了分界线,它们就是所谓的支持向量,这就是支持向量机的由来。

    由两个超平面就可以定义上面提到的间隔(margin)了,二维情况下 ax+by=c1和ax+by=c两条平行线的距离公式为:

    可以推出H1和H2两个超平面的间隔为2/||w||,即现在的目的是要最大化这个间隔。所以support vector machine又叫Maximum margin hyper plane classifier(最大间隔超平面分类器),等价于最小化||w||,为了之后的求导和计算方便,进一步等价于最小化  

    假设超平面能将样本正确分类,则可令:

     

    两个式子综合一下有:

     

    这就是目标函数的约束条件。现在这个问题就变成了一个最优化问题:

    而且这是一个凸二次规划问题,一般的解决方法有两种1是用现成的优化工具包直接求解,2是使用Lagrange Duality找到一种更有效的方法求解。

     实例

    svm的输入是一组向量以及每个向量对应的分类:
    label,一般是-1或1,表示种类;
    index:value, 向量值,如 1:0.78, 2:1, 3:-0.52, 4:-0.35, 5:0.56, 一般用一个一维数组表示
    数据准备成上述格式,随机分成2份,一份用来训练模型,一份用来测试模型的准确性,以便根据测试结果调整训练参数。在线性不可分的情况下,使用RBF核效果比较好,现在很多软件可以自动完成这个对比、选择过程。

    比如用svm进行垃圾邮件识别,大概步骤如下:
    对邮件进行打标,垃圾邮件标为1,非垃圾邮件标为-1。对邮件内容进行分词,对每个词计算特征权重,然后通过归一化转化成-1到1之间的值,选择一个svm实现lib或软件,将准备好的这些向量和label带入训练,调整参数得到效果满足要求的模型。

     

    展开全文
  • opencv3.3版本训练自己的物体分类器

    万次阅读 多人点赞 2018-01-09 11:04:22
    Opencv训练自己分类器 注:此文是我整理了网上的各方资料汇集而成,由于在实践中遇到了很多坑,所以把自己的成功训练的经验写下来做个笔记给大家做个参考,本文所使用 opencv版本为3.3 下载链接:...

    Opencv训练自己分类器

    注:此文是我整理了网上的各方资料汇集而成,由于在实践中遇到了很多坑,所以把自己的成功训练的经验写下来做个笔记给大家做个参考,本文所使用 opencv版本为3.3 下载链接:https://opencv.org/releases/page/3/

    1.准备训练样本图片

    1.1样本的采集:

          样本图片最好使用灰度图,且最好根据实际情况做一定的预处理;样本数量越多越好,尽量高于1000,样本间差异性越大越好

    正负样本比例为1:3最佳;尺寸为20x20最佳。

    1.1.1正样本

            训练样本的尺寸为20*20(opencv推荐的最佳尺寸),且所有样本的尺寸必须一致。如果不一致的或者尺寸较大的,可以先将所有样本统一缩放到20*20   

     以下就是我用来训练的正样本:

     

    1.1.2负样本

     

     

     这里要提醒一下,虽然负样本就是样本中不存在正样本的内容。但也不能随意的找些图片来作为负样本,比如什么天空,大海,森林等等。最好是根据不同的项目选择不同的负样本,比如一个项目是做机场的人脸检测,那么就最好从现场拍摄一些图片数据回来,从中采集负样本。其实正样本的采集也应该这样。不同的项目,就采集不同的正样本和负样本。因为项目不同,往往相机的安装规范不同,场景的拍摄角度就不同。

    1.1.3 准备好工作目录

    negdata目录: 放负样本的目录

    posdata目录: 放正样本的目录

    xml目录: 新建的一个目录,为之后存放分类器文件使用

    negdata.txt: 负样本路径列表

    posdata.txt: 正样本路径列表

    pos.vec: 后续自动生成的样本描述文件

    opencv_createsamples.exe: 生成样本描述文件的可执行程序(opencv自带)

    opencv_haartraining.exe: 样本训练的可执行程序(opencv自带)

    将下图中的所有文件拷贝到样本同级目录

     

    1.1.4生成样本描述文件

    1,生成正样本描述文件

    进入posdata目录

    执行dir /b/s/p/w *.jpg > pos.txt

    2,生成负样本描述文件

    进入negdata目录

    执行dir /b/s/p/w *.jpg > neg.txt

    打开正负样本描述文件如图:

     

    将jpg全部替换成下面的格式

    图中划线处为图片像素大小

    将正负样本描述文件拷贝到与opencv_createsamples.exe文件同一目录

    1.1.5生成.vec文件

    opencv_createsamples.exe -vec pos.vec -info pos.txt -num 18500 -w 20 -h 20

    opencv_createsamples.exe -vec neg.vec -info neg.txt -num 10500 -w 50 -h 50

     

    说明:

    -info,指样本说明文件

    -vec,样本描述文件的名字及路径

    -num,总共几个样本,要注意,这里的样本数是指标定后的20x20的样本数,而不是大图的数目,其实就是样本说明文件第2列的所有数字累加

    -w -h指明想让样本缩放到什么尺寸。这里的奥妙在于你不必另外去处理第1步中被矩形框出的图片的尺寸,因为这个参数帮你统一缩放!(我们这里准备的样本都是20*20)

     

    1.1.6训练样本

    新建文件traincascade.bat

    opencv_traincascade.exe -data xml -vec pos.vec -bg neg.txt -numPos 500 -numNeg 656 -numStages 20 -w 20 -h 20 -mode ALL

    pause

    复制进去保存

    pos.txtneg.txt改回如图格式(注意:这一步至关中重要

     

    然后双击traincascade.bat进行训练

    说明:

     点击训练后会出现如图所示代表正确训练中

     

    训练结束后会在xml目录下生成如图文件(其中cascade.xml就是我们训练得到的分类器)

     

    展开全文
  • 一个分类器的分类准确率在60%-80%,即:比随机预测略好,但准确率却不太高,我们可以称之为“弱分类器”,比如CART(classification and regression tree分类与回归树)。 反之,如果分类精度90%以上,则是强分类...

            一个分类器的分类准确率在60%-80%,即:比随机预测略好,但准确率却不太高,我们可以称之为“弱分类器”,比如CART(classification and regression tree分类与回归树)。

           反之,如果分类精度90%以上,则是强分类器。

     

     

    西瓜书上说:

          弱学习器常指泛化性能略优于随即猜测的学习器(例如在二分类问题上精度略高于50%的分类器)
     

     

    展开全文
  • 贝叶斯分类器理论知识。包括贝叶斯决策论,朴素贝叶斯分类器,半朴素贝叶斯分类器
    学习贝叶斯分类器,理论。


    展开全文
  • 一对一方法是在任意两类样本之间设计创建一个二值分类器,对每一个样本都需要用所有的二值分类器进行分类,然后得票最多的类别即为该未知样本的预测类别。这样的话,两类样本我们就要设计C22个分类器,三类样本就要...
  • 线性分类器和非线性分类器总结

    千次阅读 2019-05-24 10:42:42
    在机器学习中会遇到很多的分类器,在这篇博文中总结了常用的分类器线性和非线性的分类。 线性分类器:模型是参数的线性函数,分类平面是(超)平面。 非线性分类器:模型分界面可以是曲面或者是超平面的组合。 ...
  • 生成式分类器 VS 判别式分类器

    千次阅读 2018-01-18 09:59:11
    生成式分类器和判别式是根据两种不同的设计方法而得到的,即利用生成模型设计了生成式分类器,用判别模型设计了判别式分类器。 一、生成模型的方法 1.1 生成方法 由数据学习联合概率分布P(D,H)P(D,H) 求出...
  • 既然SVM的非线性分类实质上是采用核技巧将输入映射到高维空间从而达到线性可分或近似线性可分,那么其他的线性分类器岂不是也可以通过核技巧来分类线性不可分的数据吗?这样理解对吗?
  • 线性分类器分类准则

    千次阅读 2018-06-13 16:33:25
    以下()属于线性分类器最佳准则?机器学习 ML模型 易A.感知准则函数B.贝叶斯分类C.支持向量机D.Fisher准则正确答案:ACD@刘炫320,本题题目及解析来源:http://blog.csdn.net/column/details/16442.html线性分类器有...
  • 朴素贝叶斯分类器(Naive Bayesian Classifier)

    万次阅读 多人点赞 2017-12-07 11:20:21
    本博客是基于对周志华教授所著的《机器学习》的“第7章 贝叶斯分类器”部分内容的学习笔记。朴素贝叶斯分类器,顾名思义,是一种分类算法,且借助了贝叶斯定理。另外,它是一种生成模型(generative model),采用...
  • 线性分类器

    千次阅读 2017-07-01 20:25:43
    线性分类器 主要内容: 线性分类器简介 线性得分函数(Linear score function) 解释线性分类器 损失函数 多分类支持向量机 Softmax分类器 SVM vs Softmax 总结 线性分类器(Linear ...
  • 贝叶斯分类器详解

    万次阅读 多人点赞 2019-07-07 08:22:20
    本文介绍了贝叶斯的基本知识,然后给出了极大似然估计。最后给出了朴素贝叶斯分类器和半朴素贝叶斯分类器,并给出了西瓜书上相关的例题。
  • 监督分类器

    千次阅读 2018-07-26 16:49:50
    监督分类器总结 分类器具有学习能力的描述:通过数据提高分类器的分类表现!!! 1 监督回归问题中的:线性回归、多元线性回归、非线性回归 2 分类标准中的:伯努利分布的Logistic二分类和多项式分布的Softmax多...
  • 机器学习总结之——线性分类器与非线性分类器 1、线性分类器 1.1线性分类器的定义   线性分类器就是用一个“超平面”将正、负样本隔离开,如:   (1)二维平面上的正、负样本用一条直线来进行分类; ...
  • 级联分类器

    万次阅读 2016-11-22 21:14:24
    级联分类器:Haar分类器:训练出多个强分类器将它们强强联手,最终形成正确率很高的级联分类器就是最终目标Haar分类器。 1.检测体系:是以现实中很大一副图片作为输入,然后对图片中进行多区域,多尺度的检测,所谓...
  • Softmax分类器

    万次阅读 2018-05-25 21:09:35
    SVM分类器得到的是一个得分数值。Softmax得到的是一个概率值。1. Sigmoid函数:(x 可以去任意值,y 得到0-1之间的数值(0-1数值相当于概率值)。) 2. Softmax分类器: Softmax的输出:归一化的分类概率。输入一...
  • 朴素贝叶斯分类器是一种应用贝叶斯定理的分类器。线性分类器是通过特征的线性组合来做出分类决定的分类器。本质上,朴素贝叶斯分类器是一种线性分类器。朴素贝叶斯分类器是建立在属性变量相互独立的基础上,后验概率...
  • 详解贝叶斯分类器

    万次阅读 多人点赞 2018-04-18 11:46:40
    1.贝叶斯决策论 贝叶斯分类器是一类分类算法的总称,贝叶斯定理是这类算法的核心,因此统称为贝叶斯分类。贝叶斯决策论通过相关概率已知的情况下利用误判损失来选择最优的类别分类。 “风险”(误判损失)= 原本为cj...
  • 分类器解决多分类问题

    千次阅读 2019-05-14 16:38:20
    两种思路: 以SVM为例 1.one-versus-rest 思想: 假设一共有1,2,3,4,5个类别的数据 ...在预测阶段,对于输入的待分类样本,分别从第一个分类器开始询问是否属于该类别,该分类器“承认”,就将该样本...
  • 理解高斯分类器

    千次阅读 2019-06-20 08:37:13
    在本文中,我们讨论了单变量和多变量正态分布,以及如何使用贝叶斯定理导出高斯分类器。像高斯这样的分类器简单而直观,并且可以解释。 正态/高斯分布 在现实生活中,我们总是会对某些现象产生不确定性...
  • • 定义:只考虑二类的情形,所谓线性分类器即用一个超平面将正负样本分离开,表达式为 y=wx 。这里是强调的是平面。而非线性的分类界面没有这个限制,可以是曲面,多个超平面的组合等。【如果模型是参数的线性函数...
  • 组合分类器

    千次阅读 2016-07-26 16:21:06
    组合分类把k个学习得到的模型(或基分类器)M1、M2,...,Mk组合在一起,旨在创建一个改进的复合分类模型M*。 装袋(Bagging)  有放回的抽样,训练k个模型,然后对分类样本进行投票表决。 提升(boosting) ...
  • 欧氏距离分类器

    千次阅读 2020-01-20 16:25:02
    欧氏距离分类器的Matlab实现 欧氏距离分类器是贝叶斯分类器的退化版本,在样本满足一定条件下成立。 代码如下: function cls = mahalanobisClassifier(varargin) [x,m,sigma] = parseInputs(varargin{:}); %...
  • softmax分类器

    千次阅读 2019-03-11 17:27:52
    softmax分类器输出的是属于不同类别的概率值,公式为: def softmax_loss(x, y): """ Computes the loss and gradient for softmax classification. #此处的np.max表示按行相加并保持其二...
  • 朴素贝叶斯(Naive Bayes)原理+编程实现拉普拉斯修正的朴素贝叶斯分类器,以西瓜数据集3.0为训练集,对“测1”样本进行判别。
  • Halcon视觉检测——使用分类器分类

    万次阅读 2018-04-25 18:44:56
    分类器简介 机器学习在Helcon中的一个重要应用就是用于图像分类任务。Halcon中常用的分类器有GMM(高斯混合模型)、Neural Nets(神经网络)、SVM(支持向量机)等。一般应付常见的分类问题,这些就足够了。 ...
  • 决策树分类器

    万次阅读 2017-08-25 11:44:38
    决策树分类器的基本流程我们通过学习并构造分类器 。这里给出一个相当经典且流行的分类器——决策树分类器。 为什么这样评价这个分类器呢?因为构造这个分类器不需要任何领域的知识,也不需要任何的参数设置。因此...
  • 多种分类器

    千次阅读 2016-03-06 15:12:48
    摘要本文共介绍了179中分类器,来自于17个不同的类别(辨别分析,贝叶斯神经网络,支持向量机,决策树,基于规则的分类器,boosting算法,随机森林,最近邻,主成分回归等等),使用不同的编程语音,UCI上的12个数据...
  • svm多分类器详解

    万次阅读 2016-04-13 21:33:26
    SVM是一种典型的两类分类器,即它只回答属于正类还是负类的问题。而现实中要解决的问题,往往是多类的问题(少部分例外,例如垃圾邮件过滤,就只需要确定“是”还是“不是”垃圾邮件),比如文本分类,比如数字识别...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 63,257
精华内容 25,302
关键字:

分类器