摘要:
K Nearest Neighbors这个算法首先贮藏所有的训练样本,然后通过分析(包括选举,计算加权和等方式)一个新样本周围K个最近邻以给出该样本的相应值。这种方法有时候被称作“基于样本的学习”,即为了预测,我们对于给定的输入搜索最近的已知其相应的特征向量。class CvKNearest : public CvStatModel //继承自ML库中的统计模型基类{public:CvKNearest();//无参构造函数virtual ~CvKNearest(); //虚函数定义CvKNearest( const CvMat* _train_data, const CvMat* _respo 阅读全文
摘要:
右图中,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果K=5,由于蓝色四方形比例为3/5,因此绿色圆被赋予蓝色四方形类。knn的思想比较简单,从训练样本中找出K个与其最相近的样本,然后看这k个样本中哪个类别的样本多,则待判定的值(或说抽样)就属于这个类别。公式表示为:1,对所有的样本求距离 ,然后选出K个最近的2,从这k个样本中找出含有样本最多的所属类别:缺点:1,k值需要预先设定,而不能自适应。2当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居 阅读全文
摘要:
Opencv中cvCopy()和cvCloneImage()的区别:1 cvCopy的原型是:void cvCopy( const CvArr* src, CvArr* dst, const CvArr* mask=NULL );在使用这个函数之前,你必须用cvCreateImage()一类的函数先开一段内存,然后传递给dst。cvCopy会把src中的数据复制到dst的内存中。2 cvCloneImage的原型是:IplImage* cvCloneImage( const IplImage* image );在使用函数之前,不用开辟内存。该函数会自己开一段内存,然后复制好image里面的数据 阅读全文