2015-01-28 2 views
0

이것은 처음으로 기계를 학습 한 연습이며 LIBLINEAR을 사용하여 일부 데이터를 학습하려고합니다. I 일한 훈련 데이터는 m 각 셀, N m X 미터 행렬의 인스턴스가 크기 다차원 매트릭스 m X m X N로 저장된 x m 픽셀 값을 나타 내기 위해 1-255 사이의 값을 포함하는 행렬.LIBLINEAR을 사용하여 2D 기능 교육

이 데이터에 포함 된 내용은 n x1 레이블입니다. 그러나 LIBLINEAR 함수 열 (training_labels, sparse (training_data))을 사용하려고하면 오류가 발생합니다. 나는 training_data가 3d 매트릭스이기 때문에 그것을 생각한다. 어떤 단계를 놓치거나 이해하지 못합니까? training_labels가 n x1이므로 training_labels 벡터의 각 값은 xm 데이터 행렬로 매핑됩니다. 그렇지 않은가요?

감사합니다.

+0

기본적으로 데이터의 'm x m'행렬에는 단일 레이블이 있습니다. 한 가지 방법은'm x m' 행렬을 행 벡터로 변환하는 것입니다 ('(M) :) '). 그런 다음이를 기능으로 사용하십시오. –

답변

0

예, 하나의 mx m 배열은 하나의 특성 벡터이지만 행렬 형식입니다. liblinear는 아마도 이것을 처리 할 수 ​​없습니다. 주석에 쓰여 있듯이 데이터 형식을 변경해야합니다. A가 3D 배열 인 경우

reshape(A, m * m, n) 

은 m² 행과 n 열이있는 2 차원 행렬을 제공합니다.