精华内容
下载资源
问答
  • 费歇尔分类器对图像进行多分类模式识别小白的第篇文章先验数据的采集费歇尔分类器的原理 模式识别小白的第篇文章 作为名遥感系的学生相信模式识别的课设会绞尽大家的脑汁,而这课设题目之就是利用费歇尔分类...

    模式识别小白的第一篇文章

    作为一名遥感系的学生相信模式识别的课设会绞尽大家的脑汁,而这课设题目之一就是利用费歇尔分类器对图像进行多分类,让一个小白本白迷惑不已,那么接下来就会为后面的小白解决这个课设大山。

    先验数据的采集

    费歇尔分类器是一个监督分类器,它的训练是需要先验数据的,之前在网上找过很多资料,它们给出的费歇尔分类器都是非监督分类的,直接把图像所有的像元扔进去让分类器自己分,刚开始我tm竟然还信了,后面才知道当初是多么的单纯,废话不多说,那么如何采集先验数据呢。相信一幅图像大家都能明白:
    在这里插入图片描述
    在这里插入图片描述
    现在大家能明白吧,就是把图像上苹果和背景的rgb值取出来,采集的这些rgb值将会作为先验数据进行费歇尔分类器的训练了

    费歇尔分类器的原理

    其实要理解费歇尔分类器还是蛮简单的,但如果要理解背后的原理还是需要自己的推导,相信大家大家学费歇尔分类器的时候都会看到这么一张图:
    在这里插入图片描述
    那么在这里就不细讲原理,在其它平台也很容易搜到,我要讲的就是如何编程实现它,解决大家的课设难题:
    算法流程:
    1.通过对图像进行采样X1=(R1i,G1i,B1i,Label1i)X2=(R2i,G2i,B2i,
    Label2i),其中Label作为对采样数据的一个标识可以为0,1,2…(只要能够区分就可以):
    在这里插入图片描述在这里插入图片描述
    比如:Label=0表示背景,Label=1表示苹果

    2.对每个类别分别计算协方差矩阵和平均向量:
    在这里插入图片描述-----平均向量(u1,u2)
    在这里插入图片描述-------样本类内离散度矩阵Si和总样本类内离散度矩阵Sw

    3.计算最佳投影向量w*:

    即:W*=(Sw的逆)*(u1-u2)

    4.将图像中每个像元的RGB三个值装入一个list中,每次取出一个像元的RGB三维向量Sample,代入训练好的Fisher模型中:
    求出两类训练样本的列均值 u_1=(R_1,G_1,B_1),u_2=(R_2,G_2,B_2),将上面求出的W分别乘以训练样本的列均值得到转置之后的两类中心,center_1=dot(WT,u_1),center_2=dot(WT,u_2),对取出的Sample做上述类似处理得到转置后在投影直线上的位置position=dot(WT,Sample)
    将position分别与center_1,center_2做减法,得到distance_1和distance_2,Sample离哪个类的distance近就划分到该类中。
    在这里插入图片描述

    好了,费歇尔分类器算法的基本原理就是这样,二分类问题就是我们上述的算法,那么多分类问题如何扩展呢?
    大家可以这样考虑一下:比如一张照片有苹果,香蕉和纯白的背景,我们如何用费歇尔进行分类呢?
    这就是一个三分类的问题,我们可以理解成两个二分类的问题,苹果和香蕉划分成水果类,先用水果类的先验数据与背景先验数据做一次二分类,然后香蕉和苹果再做一次二分类,那么是不是就完成分类问题了呢。

    好了,大家肯会问先验数据咋采集啊,当然是有方法的,大家可以在ps或者其它图像处理软件中使用取像素值,然后自己记录下来就可以了咯。当然本博主不会这么笨的了,自己写个程序就可以了咯!
    在这里插入图片描述
    费歇尔三分类的部分代码如下:

    class Fisher:
    	def __init__(self):
        	self.Background = []
        	self.Object_one = []
        	self.Object_two = []
        	self.Object_three = []
        	self.test_one = []
        	self.w_w = []
        def cal_cov_and_avg(self, samples):
        	# 给定一个类别的数据,计算协方差矩阵和平均向量
        	u1 = np.mean(samples, axis=0)
        	cov_m = np.zeros((1, 1))
        	for s in samples:
            	t = s - u1
            	t = t.reshape(1, 3)
            	cov_m += np.dot(t, t.reshape(3, 1))
        	return cov_m, u1
    

    第一次在CSDN上写文章,如需本文章完整的代码,可以在评论区留下你的邮箱,我发给你!

    展开全文
  •  对于Tensorflw就不作介绍,仅仅其应用简单的实现一下利用tensorflow自定义个线性分类器对‘良/恶性乳腺癌肿瘤’进行预测2 代码实现及结果截图#coding:utf-8#使用tensorflow自定义个线性分类器对‘良/恶性...

    1 Tensorflow作为一个开源框架,在深度学习与机器学习方面有着很大的应用。

       对于Tensorflw就不作介绍,仅仅对其应用简单的实现一下

    利用tensorflow自定义一个线性分类器对‘良/恶性乳腺癌肿瘤’进行预测

    2 代码实现及结果截图

    #coding:utf-8
    #使用tensorflow自定义一个线性分类器对‘良/恶性乳腺癌肿瘤’进行预测

    import tensorflow as tf
    import numpy as np
    import pandas as pd
    train=pd.read_csv('/home/guo/桌面/Work/shuju/Breast-Cancer/breast-cancer-train.csv')
    test=pd.read_csv('/home/guo/桌面/Work/shuju/Breast-Cancer/breast-cancer-test.csv')
    x_train=np.float32(train[['Clump Thickness','Cell Size']].T)
    y_train=np.float32(train['Type'].T)
    x_test=np.float32(test[['Clump Thickness','Cell Size']].T)
    y_test=np.float32(test['Type'].T)

    #定义模型
    b=tf.Variable(tf.zeros([1]))
    w=tf.Variable(tf.random_uniform([1,2],-1,.0,1.0))
    y=tf.matmul(w, x_train)+b
    loss=tf.reduce_mean(tf.square(y-y_train))
    optimizer=tf.train.GradientDescentOptimizer(0.01)
    train=optimizer.minimize(loss)
    init=tf.initialize_all_variables()
    sess=tf.Session()
    sess.run(init)
    for step in xrange(0,1000):
        sess.run(train)
        if step%200==0:
            print step,sess.run(w),sess.run(b)


    test_negative=test.loc[test['Type']==0][['Clump Thickness','Cell Size']]
    test_positive=test.loc[test['Type']==0][['Clump Thickness','Cell Size']]
    import matplotlib.pyplot as plt
    plt.scatter(test_negative['Clump Thickness'], test_negative['Cell Size'],marker='o',s=200,c='red')
    plt.scatter(test_positive['Clump Thickness'], test_positive['Cell Size'],marker='x',s=150,c='black')
    plt.xlabel('Clump Thickness')
    plt.ylabel('Cell Size')
    lx=np.arange(0,12)
    ly=(0.5-sess.run(b)-lx*sess.run(w)[0][0])/sess.run(w)[0][1]
    plt.plot(lx,ly,color='green')

    plt.show()



    展开全文
  • TF之LiR:利用TF自定义个线性分类器LiR乳腺癌肿瘤数据集进行二分类预测(良/恶性) 目录 输出结果 设计思路 核心代码 输出结果 设计思路 核心代码 X_train = np.float32...

    TF之LiR:利用TF自定义一个线性分类器LiR对乳腺癌肿瘤数据集进行二分类预测(良/恶性)

     

     

    目录

    输出结果

    设计思路

    核心代码


     

     

     

     

    输出结果

     

     

     

     

    设计思路

     

     

    核心代码

    X_train = np.float32(train[['Clump Thickness', 'Cell Size']].T)
    y_train = np.float32(train['Type'].T)
    X_test = np.float32(test[['Clump Thickness', 'Cell Size']].T)
    y_test = np.float32(test['Type'].T)
    
    b = tf.Variable(tf.zeros([1]))
    W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))
    y = tf.matmul(W, X_train) + b
    
    loss = tf.reduce_mean(tf.square(y - y_train))  
    optimizer = tf.train.GradientDescentOptimizer(0.01)
    train = optimizer.minimize(loss)  
    
    
    sess = tf.Session()  
    sess.run(init)      
    
    for step in range(0, 1000):
        sess.run(train)
        if step % 200 == 0:
            print(step, sess.run(W), sess.run(b))

     

     

     

    展开全文
  • 分类器对Haar特征进行分类

    千次阅读 2017-04-20 19:47:15
    由于在训练的时候,选择的训练样本集的尺寸等于检测子窗口的尺寸,检测子窗口的尺寸决定了矩形特征的数量,所以训练样本集中的每个样本的特征相同且数量相同,而且一个特征对一个样本有一个固定的特征值。...
  • 利用 sklearn SVM 分类器对 IRIS 数据集分类 支持向量机(SVM)是种最大化分类间隔的线性分类器(如果不考虑核函数)。通过使用核函数可以用于非线性分类。SVM 是种判别模型,既适用于分类也适用于回归问题,...
  • 句话总结贝叶斯分类器   核心:将样本判定为后验概率最大的类。   贝叶斯分类器直接用贝叶斯公式解决分类问题。假设样本的特征向量为x,类别标签为y,根据贝叶斯公式,样本属于每个类的条件概率(后验概率)...
  • knn原理介绍以及构建个KNN分类器来进行图像分类

    万次阅读 多人点赞 2018-08-22 16:20:48
    构建个KNN分类器来进行图像分类 K-NN原理介绍 K近邻算法(K-NN)算法是种简单但也很常用的种分类算法,它也可以应用于回归计算。K-NN是无参数学习,这意味着它不会底层数据的分布做出任何假设。它是基于...
  • 贝叶斯分类器

    万次阅读 多人点赞 2016-08-04 15:50:35
    贝叶斯推理提供了种概率(主要应用条件概率)学习...贝叶斯分类器分成两个部分,第部分基础知识、贝叶斯决策论、极大似然估计、朴素贝叶斯分类器和半朴素贝叶斯分类器进行介绍,第二部分贝叶斯网进行详细介绍。
  • 使用准确率、精确率和召回率对分类器进行评分: accuracy_score:准确率。是指在测试数据集中,那些预测正确的数据点的数量除以整个测试数据集的大小,是最基本的评分函数。 precision_score:精确率。例如在分别猫...
  • Python机器学习--训练分类器

    千次阅读 2019-03-14 22:57:51
    目录 ...3. 使用python实现个线性分类器 情景带入: 我们将输入的信号与对应的权值进行乘法运算,得到的结果进行加法运算,得到输出结果.通过对比输出结果与阈值的相对大小,数据进行分类....
  • 分类器学习(

    2017-03-12 11:21:44
     ----->首先使用J48分类器对天气数据集进行训练,得到如下图所示的决策树   ----->其次使用记事本,自己构建个测试数据集 @relation weather.symbolic @attribute outlook {sunny,overcast,rainy} @...
  • 机器学习分类数据集 什么是数据集? (What is the dataset?) The Poker Hand dataset [Cattral et al., 2007] is publicly available and very well-documented at the UCI Machine Learning Repository [Dua et al....
  • 模式识别的经典算法之,感知算法,用来模式进行分类,采用matlab编写
  • 程序是用于解决多分类问题的“一对一”方法,程序中有个二分类接口是高斯过程分类器,用户可以进行修改,用什么分类器都可以。该程序是用MATLAB把一对一的思想写成了代码。
  • Mahout0.6-贝叶斯分类器对文本分类

    千次阅读 2013-08-14 15:04:49
    1.1.1 数据描述 此处使用朴素的贝叶斯20Newsgroup文本数据进行分类,20Newsgroup是路透社的新闻预料库,其包括...如何使用Mahout的朴素贝叶斯模型训练分类模型,并使用这个分类模型测试数据进行分类。 1.1.2 20
  • 分类器

    2015-05-21 22:50:12
    分类问题与回归问题区别在于y的范围,回归问题y的精度来得高,所以...最基本的线性分类器,是digression classifier的种,目的在于找到个将定义域一分为二的平面/直线以期数据进行分类。那么对于找到的分界线
  • import tensorflow as tf import numpy as np import pandas as pd train = pd.read_csv('breast-cancer-train.csv') test = pd.read_csv('breast-cancer-...#分割特征与分类目标 x_train = np.float32(train[['Clu
  • 训练数据对分类器性能的影响

    千次阅读 2017-10-20 17:32:17
    之前个朋友托我试验一下训练数据的不平衡性对分类器会有多大影响,他所用的分类器是支持向量机(SVM),用来做文本分类。这本身是个已经研究得比较多的领域了,也已经有比较成熟甚至可以直接在生产中使用的工具...
  • 一对一方法是在任意两类样本之间设计创建一个二值分类器,对每一个样本都需要用所有的二值分类器进行分类,然后得票最多的类别即为该未知样本的预测类别。这样的话,两类样本我们就要设计C22个分类器,三类样本就要...
  • 不同之处在于f中分值的解释:SVM分类器将它们看作是分类评分,它的损失函数鼓励正确的分类(即图中的蓝色类别2)的分值比其它分类的分值高出至少个边界值。Softmax分类器将这些数值看作是每个分类没有归一化的...
  • 通过感知实现鸢尾花的分类

    千次阅读 2017-12-17 20:58:52
    在上篇文章我们用python实现感知算法,这篇文章中将介绍如何通过感知算法来实现鸢尾花的分类。鸢尾花数据集地址https://archive.ics.uci.edu/ml/machine-learning-databases/iris/iris.data,一共包含了150...
  • 分类模型(分类器)是种有监督的机器学习模型,其中目标变量是离散的(即类别)。评估个机器学习模型和建立模型一样重要。我们建立模型的目的是全新的未见过的数据进行处理,因此,要建立个鲁棒的模型,就...
  • 在之前的 使用gensim和sklearn搭建个文本分类器):流程概述 中,叙述了个使用lsi来文本进行向量化,再使用线性核svm进行分类的文本分类器。在这篇文章中,沿着之前的思路,提供了该文本分类器的具体实现...
  • 参照https://www.zhihu.com/question/26957827?sort=created,感谢作者以SVM这样...2. 训练出的多个分类器,基本是相似位置的超平面,也就是说,最后组合得到的还是个线性分类器,因此模型数据的拟合能力,不如...
  • 最简单的解决方案通常是最强大的解决方案,而朴素贝叶斯就是个很好的证明。尽管机器学习在过去几年取得了巨大的进步,但朴素贝叶斯已被证明不仅简单,而且快速、准确、可靠。它已经成功地用于许多项目中,而且它...
  • 博客第弹 ---- opencv 基于hog特征训练二分类器 成为算法工程师的第年,很感恩csdn众多博客我的帮助,现在也想分享一些错误纠察和训练记录,方面方便自己理清工作思路和进展,方面为和我一样初始进入图像...
  • 在第部分中,我们知道了为什么以及如何加载预先训练好的神经网络,我们可以用自己的分类器代替已有神经网络的分类器。那么,在这篇文章中,我们将学习如何训练分类器。 训练分类器 首先,我们需要为分类器提供待...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,179
精华内容 4,471
关键字:

一对一分类器