使用LIBLINEAR训练2D特征

时间:2015-01-28 23:07:34

标签: matlab machine-learning liblinear

这是我的第一次机器学习练习,我想使用LIBLINEAR训练一些数据。我工作的训练数据存储为大小 m x m x n 的多维矩阵,其中有 m x m 矩阵, m x m 矩阵中的每个单元格包含1-255之间的值以指示像素值。

此数据包含 n x1标签向量。但是,尝试使用LIBLINEAR函数序列(training_labels,sparse(training_data))会产生错误。我认为它是因为training_data是一个3d矩阵。我缺少什么步骤或不理解?我假设由于training_labels是 n x1,training_labels矢量中的每个值都映射到 m x m 数据矩阵。那不是这样吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

是的,一个m x m数组是一个特征向量,但它具有矩阵的形式。 liblinear可能无法处理这个问题。如评论中所述,您必须更改数据格式。如果A是你的3d数组,那么

reshape(A, m * m, n)

为您提供一个2d矩阵,其中包含m²行和n列。