【问题标题】:What it mean by Training SVM训练 SVM 的含义
【发布时间】:2016-05-16 23:04:12
【问题描述】:
我是图像处理的新手。作为我的项目,我正在做“使用 SVM 的图像分类器”。我有我的最终软件的想法“我选择一些图像并将其作为我的软件的输入,它将对该图像进行分类.如果我给出动物的图像,它将适当地分类为猫或蛇"
当我在谷歌上搜索它时,它说“首先你需要训练 SVM”
训练 SVM 是什么意思?
在我的案例中,SVM 的实际输入是什么(图像分类)?
SVM 只是一个分类器,它是如何对图像进行分类的。我有必要将图像转换为任何特定格式吗?请帮忙。
【问题讨论】:
标签:
python
image-processing
machine-learning
svm
image-recognition
【解决方案1】:
支持向量机 (SVM) 是一种用于监督数据分类的机器学习模型。 SVM 本质上是学习一个超平面,它将数据空间分成 2 个区域(在 2 类情况下)。在你的情况下,假设你有蛇和猫的图像,你需要对它们进行分类。您需要遵循的步骤是
从图像中提取“特征”。
在您的情况下,这些“特征”可能是蛇/猫外观的函数,例如动物的颜色、动物的形状等。通过连接这些特征,您可以获得多维特征向量。
训练一个 SVM 分类器
训练本质上是学习 snake class 和 cat class 的特征向量之间的分离超平面。例如,如果您的特征向量是二维的,那么训练 SVM 分类器将相当于“学习”一条最能区分标记数据/训练数据的线。
您可以使用任何免费提供的机器学习库。如果你说 python,你可以使用sklearn 来完成任务。
这种学习任务(线性 SVM 中的超平面)称为训练。
对图像进行分类。
一旦您训练您的模型,您就可以使用它对类别未知的图像进行分类。
注意:我正在简化此答案中涉及的许多细节/问题。我建议你应该阅读有关 SVM