ref: https://docs.opencv.org/4.1.0/d6/de2/tutorial_py_table_of_contents_ml.html
PYthon——plt.scatter各参数详解https://blog.csdn.net/qiu931110/article/details/68130199
CV_Lesson46_kNN分类.py
所谓K近邻算法,即是给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最邻近的K个实例(也就是上面所说的K个邻居), 这K个实例的多数属于某个类,就把该输入实例分类到这个类中。
理论:kNN是一种分类算法。属于监督学习
feature space 特征空间: N个特征,就是N维的特征空间 。
Classification 分类: 定义标签的过程
k 要取值为奇数
modified kNN-- 加上距离的权重,近的权重大,越远,越小
分类器不需要使用训练集进行训练,训练时间复杂度为0。KNN 分类的计算复杂度和训练集中的文档数目成正比,也就是说,如果训练集中文档总数为 n,那么 KNN 的分类时间复杂度为O(n)
计算量较大:遍历了整个特征空间。开销特别大
input -->M-->labels : 先 训练得到模型M, input ,lables 作为输入,knn训练好,
运用模型开始测试,获得的lable' 和真值lable比较。检测分类的结果。
获得90%的准确率。提供更多的数据,可以获得更好的分类结果
可以深挖: kNN是如何训练的 ,一个像素一个像素的比较。
CS231n——图像分类(KNN实现)
https://blog.csdn.net/qq_35206320/article/details/81946246
https://docs.opencv.org/4.1.0/dd/de1/classcv_1_1ml_1_1KNearest.html
理解SVM
支持向量机通俗导论(理解SVM的三层境界)https://blog.csdn.net/v_july_v/article/details/7624837
https://www.cnblogs.com/Undo-self-blog/p/8449393.html
知道是一个分类算法即可,如何应用即可。 推导过程太复杂
从上图中我们看到有很多条直线可以将数据分为蓝红两组,那一条直线是最好的呢?直觉上讲这条直线应该是与两组数据的距离越远越好。为什么呢?
因为测试数据可能有噪音影响(真实数据 + 噪声)。这些数据不应该影响分类的准确性。所以这条距离远的直线抗噪声能力也就最强。所以 SVM 要做就是找到一条直线,并使这条直线到(训练样本)各组数据的最短距离最大
CV_Lesson48_SVM分类字符.py
抗扭斜(deskew)
knn 算法直接运用像素作为特征向量, SVM 将使用朝向HOG(直方图)
k均值聚类是最著名的划分聚类算法(监督学习),由于简洁和效率使得他成为所有聚类算法中最广泛使用的。给定一个数据点集合和需要的聚类数目k,k由用户指定,k均值算法根据某个距离函数反复把数据分入k个聚类中。
K-means算法是集简单和经典于一身的基于距离的聚类算法
基于的设想:采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。
理论:https://blog.csdn.net/apollo_miracle/article/details/79319431
理解: Tshirt 尺寸问题。工厂需要生产什么大小的衣服可以满足绝大数人的身材要求。(不可能生产所有的尺寸。尽可能少,节省成本)
输入:大众的身高体重分布图 & 输出结果: 尝试的聚类图 (分类过程)
过程是如何进行的??
算法:(k=2,需要分2类的情况)
step1: 随机选2 个点作为圆点 C1,C2
step2: 如果某个点(x,y)到C1 的距离比C2 的小,归类为0,反之1 。距离记做di, 计算所有的点到C1,C2的距离,并0/1分类
step3: 属于0/1组的点,距离取平均值 avg0,avg1, 平均值的坐标作为新的圆心 (和重心计算好像。重心移动的过程)
repeat step 2,3 直到收敛(圆形不再变化),或者满足停止条件(迭代多少次啊 etc)
总结:
思考: 改进的算法有很多: ,如何选择初始的圆心,如何加快迭代速度。。。
CV_Lesson50_K均值聚类_图像量化.py
减少图片的像素
# 颜色量化就是减少图片中颜色数目的一个过程。
为什么 减少图片中的 色呢 减少内存消耗 有些 备的 源有
只能显示很少的 色。在 种情 况下就 颜色量化。我们使用 K 值聚类的方法来色 化。
# 没有什么新的知 介绍了。现在有 3 个特征 R G B。所以我们
把图片数据变形成 Mx3 M 是图片中像素点的数目 的向 。
聚类完成后 我们用聚类中心值替换与其同组的像素值
样结果图片就只含有指定数目的 色了。下 是代码