
模式识别与机器学习
WZLYJY
慢慢来
展开
-
Python实现硬间隔SVM、软间隔SVM
SVM:从类别上理解可以将SVM分为硬间隔SVM(hard-margin SVM)、软间隔SVM(soft-margin SVM)、核SVM。个人理解:在数据线性可分的前提下,硬间隔SVM是找到离分类平面较近的支持向量,再由支持向量找到最优超平面将数据进行分类。软间隔SVM是为了在线性不可分的数据中适用,对每个样本点引入一个松弛变量,即在约束条件中增加一个惩罚项。核技巧能够让svm从普通的特征空间映射到高纬空间,从而使得线性不可分的数据在高纬空间中可分。硬间隔SVM可以转化为一个凸优化问题,并调用cvxop原创 2022-09-18 19:21:43 · 1457 阅读 · 0 评论 -
贝叶斯分类器(手写数字识别)
在手写数字识别中,0-9出现的先验概率为1/10,每张图片大小为32x32,转换为一个包含784个特征向量的一纬向量,计算每类中,784个特征向量出现的概率即为类条件概率。后验概率是在测试样本时使用。已知样本的先验概率,特征向量的类条件概率。就可以测试出测试集中的样本处于被归为某类的概率。类条件概率:每类中的样本取得某个具体特征向量的概率 P(x,wi)后验概率:样本取得某个具体特征向量时属于每类的概率 P(wi,x)先验概率:每类样本的出现的概率。原创 2022-09-18 16:55:08 · 1833 阅读 · 0 评论 -
Kmeans聚类(手写数字识别)
Kmeans算法原理:在给定K个初始聚类中心点的情况下,(1)把数据中的每个样本分到离其最近的聚类中心所代表的类中。(2)分类完后计算从新每个类的中心点(取平均值),然后进行迭代从新第(1)步和第(2)步。直到类中心点的变化很小,或者达到指定迭代次数。Python中在sklearn库有KMeans函数可调用。我实现的是直接调用,数据集在模板匹配算法中给出。原创 2022-09-18 16:45:26 · 1825 阅读 · 0 评论 -
感知机算法实现二分类和多分类(手写数字Minist)
1、从Minist测试集中抽取1000张训练图片(前5000),200张测试图片(后5000),对应的数字是[8,4],同时将label转化为[1,-1]2.2、更新权值w(这里是一张一张图片进行计算,并不是每次计算都会更新权值,只有当yi*(w*x+b)...原创 2022-08-16 13:55:02 · 2539 阅读 · 0 评论 -
模板匹配算法(手写数字识别)
模板匹配是图像处理的一个基础算法,在图像A中寻找到与图像B(模板)最相似的区域,opencv有相应的函数调用 cv.matchTemplate(img,template,参数)。模板是已知的、带标签的,将未知的样本和所有模板进行匹配,计算相似度。相似度如何计算呢,我们的研究对象是图像,可以计算图像和模板特征向量之间的距离(欧式距离)。研一的课程结束了,抓住暑假最后的尾巴,将模式识别与机器学习课程上的作业整理出来,当做是一次复习。作业要求为:使用模板匹配对手写数字,和车牌数字进行识别。...原创 2022-08-15 20:20:56 · 3945 阅读 · 2 评论