2017-02-28 3 views
-1

우리는 거대한 데이터베이스를 가지고 훈련 데이터 D와 기계 학습 문제에 대한 전용 테스팅 데이터 T를 제공한다고 가정 할 수 있습니다. 이 데이터는 실제 문제의 여러 측면을 다루므로 그 구조가 매우 다양합니다. 신경망, SVM, 랜덤 포레스트 등의 알고리즘을 D와 함께 정의하지 않고 마지막으로 T에 대해 생성 된 모델을 테스트 할 때 특정 성능 측정 P (혼란 행렬, mse, ..)를 얻습니다.).n 개의 모델 중 최적 수를 훈련시키기 위해 훈련 데이터를 나누기

질문 : 문제를 더 작은 하위 문제로 나누면 더 나은 성능을 얻을 수 있습니다 (예 : D를 몇 개의 별개의 트레이닝 세트 D1, D2, D3 ...에 클러스터링하여 어떻게 최적의 클러스터를 찾을 수 있습니까? (클러스터의 수, 무게 중심, ...)

무차별적인 방식으로 나는 kNN 클러스터링을 클러스터 데이터의 무작위 수와 함께 사용하여 훈련 데이터 D1, D2로 유도하려고합니다. Dc. 이제 C 모델을 교육하고 T1, T2, ..., Tc 훈련 세트에 대해 테스트 할 것입니다. 여기서 동일한 kNN 클러스터링이 T를 C 테스트 세트 T1, .., Tc로 분할하는 데 사용되었습니다.

평균적인 성능 향상 (P1, P2, ..., Pc)을 제공하는 조합이 내가 원하는 것입니다.

내가 짐작하는 것보다 더 복잡한 방법을 알고 있는지 궁금한가요?

미리 감사드립니다.

+0

그건별로 의미가 없습니다. 당신이하는 일에 대해 좀 더 공식적으로 노력하십시오. 그것은 현재 다음과 같이 들릴 수 있습니다 : 아주 다른 데이터 세트에 영향을 미치는 kNN에 의해 ​​거대한 데이터를 작은 데이터로 분할하십시오; 이들 각각에 대한 분류자를 배우고 최선을 다하십시오. 분명히 이것은 일반화가 죽을 때 가능한 최악의 접근법에 가깝다. 무작위로 데이터 세트를 선택하는 것이 더 좋을 것입니다 (kNN 없음). – sascha

+0

데이터 세트를 임의로 선택하는 것은 예 : 무작위적인 숲은 그 혜택을 알고 있습니다. 그러나 어쨌든 큰 문제를 하위 문제로 분리하면 하위 문제를보다 쉽게 ​​처리해야합니다. 당신이 맞습니다, 단일 모델은 일반화에서 훨씬 더 나쁩니다. 왜냐하면 전체 가능한 공간의 작은 부분 집합 만 다루어야하기 때문입니다. 새로운 수신 데이터를 올바르게 클러스터링 할 수있는 좋은 사전 선택 단계를 갖는 것이 중요한 이유입니다. – Marcus

+0

이미징은 서로 다른 천 조각을 구분해야하는 문제입니다.셔츠의 바지, 양복의 드레스 등. 이제 각각의 다른 카테고리에는 하위 카테고리가 있습니다. 바지는 청바지, cort, 양복 바지 등에서 구별 할 수 있습니다. 전체 데이터를 배우는 대신, 바지 전용 모델을 하나만 가질 수 있습니다. 이제는 청바지를 cort와 구분하는 문제가 줄어 들었습니다. 이제는 바지와 나머지를 구별 할 수있는 전처리 단계. 그리고 이미 바지라고 확신하는 경우에만 바지 모델을 사용합니다. – Marcus

답변

0

클러스터링이 어렵습니다.

분류 작업보다 훨씬 어려워집니다. 괜찮은지 알려줄 레이블이 없거나 좋지 않다고해서 말입니다. 마술을 할 수는 없지만 신중하게 매개 변수를 선택하고 결과를 평가해야합니다.

데이터를 k-means에 덤프 할 수없고 유용 할 것으로 기대됩니다. 먼저 데이터를 정말로 신중하게 정리하고 전처리해야합니다. 그러면하나의 큰 덩어리 ...

또한 클러스터링이 잘 작동하고 분류자를 훈련하면 각 클러스터에서 독립적으로, 모든 분류기는 중요한 데이터를 놓칠 것입니다. 그 결과는 정말 대단히 좋을 것입니다!

데이터의 일부분 만 배우고 싶다면 임의의 포리스트를 사용하십시오.

하지만 계층 적 분류 방법에 관심이있는 것 같습니다. 당신은 좋은 계층 구조 정보가 있다면 그것은 작동 할 수 있습니다. 먼저 카테고리에서 분류자를 훈련시킨 다음 카테고리 내의 다른 분류자를 훈련시켜 최종 수업을받습니다.