二值图像分类选择什么算法
What algorithm to chose for binary image classification
假设我在数据集中有两个数组:
1) 第一个是分类为 (0,1) - [0,1,0,1,1,1,0.....]
的数组
2) 第二个数组是灰度图像向量的costists,每个向量有2500个元素(数字从0到300)。这些数字是来自 50*50px 图像的像素。 - [[13 160 239 192 219 199 4 60..][....][....][....][....]]
此数据集的大小相当大(约 12000 个元素)。
我正在尝试构建将给出适当结果的 bery 基本二进制分类器。可以说我想选择非深度学习,而是选择一些监督方法。
它适合这种情况吗?我已经尝试过使用各种参数的 sklearn SVM。但结果不准确,主要由 1 组成:[1,1,1,1,1,0,1,1,1,....]
什么是正确的做法?数据集的大小是否足以通过监督算法获得不错的结果?
你应该 post 在 cross-validated
上这样做:
但作为一个直接的答案,你可能应该研究顺序学习者,因为你很清楚 SVM
不是理想的解决方案。
如果您不想走 deep learning
路线,您应该研究 Markov models
进行顺序学习,但是,Neural Networks
在图像分类问题方面有很好的记录。
理想情况下,对于顺序学习,您应该尝试研究 Long Short Term Memory Recurrent Neural Networks
,对于您当前的数据集,看看在现有数据语料库(比如说 CIFAR-10
)上对其进行预训练是否有帮助。
所以我的建议是让 Tensorflow 尝试使用高级库,例如 Keras
/SKFlow
。
神经网络只是您机器学习库中的另一个工具,您不妨给它们一个真正的机会。
编辑以解决您的评论:
你的问题是 SVM 不缺少数据,
对于小型数据集,SVM 会很好地工作,因为它会更容易 overfit/fit 在该数据集上分离超平面。
当您增加数据维度时,请记住,使用分离超平面将其分离变得越来越困难[看看维度的诅咒]。
但是,如果您打算这样做,请尝试降维
如PCA。
虽然在这里你一定会发现神经网络的另一个障碍,
由于 Kohonen 自组织地图完美地完成了这项任务,您可以尝试
将您的数据投影到较低的维度,从而允许 SVM 更准确地分离它。
我仍然要坚持说你可能使用了不正确的方法。
假设我在数据集中有两个数组:
1) 第一个是分类为 (0,1) - [0,1,0,1,1,1,0.....]
的数组2) 第二个数组是灰度图像向量的costists,每个向量有2500个元素(数字从0到300)。这些数字是来自 50*50px 图像的像素。 - [[13 160 239 192 219 199 4 60..][....][....][....][....]]
此数据集的大小相当大(约 12000 个元素)。 我正在尝试构建将给出适当结果的 bery 基本二进制分类器。可以说我想选择非深度学习,而是选择一些监督方法。 它适合这种情况吗?我已经尝试过使用各种参数的 sklearn SVM。但结果不准确,主要由 1 组成:[1,1,1,1,1,0,1,1,1,....]
什么是正确的做法?数据集的大小是否足以通过监督算法获得不错的结果?
你应该 post 在 cross-validated
上这样做:
但作为一个直接的答案,你可能应该研究顺序学习者,因为你很清楚 SVM
不是理想的解决方案。
如果您不想走 deep learning
路线,您应该研究 Markov models
进行顺序学习,但是,Neural Networks
在图像分类问题方面有很好的记录。
理想情况下,对于顺序学习,您应该尝试研究 Long Short Term Memory Recurrent Neural Networks
,对于您当前的数据集,看看在现有数据语料库(比如说 CIFAR-10
)上对其进行预训练是否有帮助。
所以我的建议是让 Tensorflow 尝试使用高级库,例如 Keras
/SKFlow
。
神经网络只是您机器学习库中的另一个工具,您不妨给它们一个真正的机会。
编辑以解决您的评论:
你的问题是 SVM 不缺少数据,
对于小型数据集,SVM 会很好地工作,因为它会更容易 overfit/fit 在该数据集上分离超平面。
当您增加数据维度时,请记住,使用分离超平面将其分离变得越来越困难[看看维度的诅咒]。
但是,如果您打算这样做,请尝试降维
如PCA。
虽然在这里你一定会发现神经网络的另一个障碍,
由于 Kohonen 自组织地图完美地完成了这项任务,您可以尝试
将您的数据投影到较低的维度,从而允许 SVM 更准确地分离它。
我仍然要坚持说你可能使用了不正确的方法。