在计算机视觉中训练数据(图像集)的含义是什么以及它是如何完成的?什么是分类器?
2 回答
在机器学习中,你有某种学习算法。学习算法获取一些数据,称为训练集,并从中生成一个世界模型。因此,假设您有一个计算机视觉学习算法,它试图将图像分为两类:它是一张人脸图片,或者它不是一张人脸图片。
为简单起见,假设学习算法非常愚蠢——你给它输入标有“脸”的人脸图片和没有标有“非人脸”的人脸的图片。然后,我们的愚蠢算法只计算标记为“人脸”的图片的平均光强度,并生成一个模型,说明“如果图片的平均强度更接近我之前看到的标记为“脸”的图片的平均强度,而不是我之前看到的图片标记为“不是一张脸”,然后预测我正在显示的图片是一张脸。”
您必须展示它以计算人脸图像的平均光强度的图片以及标记为“不是人脸”的图片是训练集。
训练集与测试集进行对比。如果你之前已经向它展示过那张照片,那么算法生成一个模型告诉你一张照片是一张人脸的模型并不是很令人印象深刻。所以通常当你有数据时,你会“保留”(或留出)一小部分来评估模型的实际效果。
机器学习任务的基本过程分解如下:
- 获取、准备和格式化数据,以便将其用作模型的输入。
- 通过随机选择,留出一部分数据作为“训练集”,另一部分作为“测试集”。通常留出 10% 左右用于测试。
- 将学习算法应用于训练集。
- 学习算法的输出是一个模型,它接受输入并在给定输入的情况下产生一些输出。在计算机视觉环境中,输入几乎总是一张图片,但输出可能是一个分类,也许是一张 3D 地图,也许它会在图片中找到某些东西;这取决于你想要做什么。
- 通过向模型提供以前从未见过的数据(即测试集)来确定模型的准确性,并将模型的输出与您知道的输出进行比较。
您使用训练数据来构建分类器。
具体是怎么做的?它因人而异。简而言之,您需要某种距离度量(一个简单的规则)来比较您的样本。你还需要一个规则来做出决定,比如决定这个对象是属于 A 类还是 B 类。
诀窍是找到这样的距离度量,它非常简单,但在不同类别的图像中变化很大。为了做出决策,您可以依靠信息论并选择任何可用的技术,例如:svm、rf。