에 접근하는 방법 기계 학습은 문제가 높은 차원 입력은 공간이 있나요?

StackOverflow https://stackoverflow.com/questions/2255833

문제

어떻게 접근해야 하는 situtation 에도 적용 ML 알고리즘(분류,더 구체적,SVM 특히)몇 가 높은 차원의 입력,그 결과를 얻을하지 않은 매우 만족스러운?

1,2 또는 3 차원 데이터 시각화 할 수 있습과 함께,알고리즘의 결과,그래서 당신을 얻을 수 있을 걸고,그리고 몇 가지 아이디어를 어떻게 산도와 경내에 마련된 회장의 문제입니다.일단 데이터를 통해 3 차원이 다른 것보다 직관적으로 주위를 연주와 매개 변수가 나는지를 공격하는 방법은?

도움이 되었습니까?

해결책

당신은 무엇을 데이터?나의 답변: 아무것도.Svm 가 설계 를 핸들은 높은 차원의 데이터입니다.에서 일하고 있어요 연구에 문제가금을 포함하는 감독를 사용하여 분류 Svm.와 함께 출처를 찾는 인터넷에,나는 나 자신의 실험에 미치는 영향의 차원 감소 전에 이를 분류하고 있습니다.전처리 기능을 사용하여 PCA/LDA 크게 증가하지 않았 분류의 정확성 SVM.

나를 위해,이전에서 의미가 방법 Svm 작동합니다.Let x m-차원의 특징 벡터입니다.Y=Ax y R^n x R^m n < m 즉,y x 에 투영된 공간의 차원이다.는 경우스 클래스 Y1 및 Y2 선형으로 분리할 수 있는 R^n,다음에 해당 클래스 X1 과 X2 는 선형으로 분리할 수 있는 R^m.따라서 원래 subspaces 해야에서"적어도"으로 분리할 수 있으로 그들의 계획에 낮은 차원,즉 PCA 하지 않아야 도울,에서는 이론이다.

여기에는 하나의 토론하는 토론의 사용 PCA 전 SVM: 링크

당신 하이 변경 SVM 매개 변수입니다.예를 들어,libsvm 링크, 매개 변수는 C 및 감마는 결정적으로 중요한 분류의 성공입니다.이 libsvm 자주 묻는 질문,특히 이 항목 링크, 을 포함 더 유용한 팁이 있습니다.그 중:

  1. 규모의 기능을 분류하기 전에.
  2. 얻으려고 하는 균형 클래스입니다.면,다음를 처벌하는 하나의 클래스는 더 이상 다른.더보기에 참조 SVM 불균형이다.
  3. 체크인 SVM 매개 변수입니다.많은 조합에 도착하는 최고의 하나입니다.
  4. 사용 RBF 커널이 처음이다.그것은 거의 항상 최상의 작품(연산권).
  5. 거의 잊...하기 전에 테스트 십자가 검증!

편집:하겠이"업데이트해야 합니다." 나는 최근에 또 다른 큰 규모의 실험을 사용하여 SVM PCA 에 대한 전처리 네 개의 독점적인 데이터 설정합니다.PCA 개선되지 않았 분류 결과에 대한 어떤 선택의 차원을 감소시켰.원본 데이터와 함께 간단한 대각선 크기 조정(각 기능에 대한 빼 뜻으로 나누어 표준 편차)잘 수행됩니다.내가 만드는 넓은 결론에 도달하고 공유 이 하나를 실험한다.어쩌면 다른 데이터 PCA 도움이 될 수 있습니다.

다른 팁

몇 가지 제안 :

  • 저차원 공간으로의 프로젝트 데이터 (시각화를 위해서만) (PCA 또는 MDS 사용 또는 데이터에 적합한 것은 무엇이든)

  • 학습이 실패하는 이유를 이해하려고 노력하십시오. 당신은 그것이 오버 페이트라고 생각합니까? 충분한 데이터가 있다고 생각하십니까? 당신이 해결하려는 작업을 해결하기에 기능에 충분한 정보가 없을 수 있습니까? 데이터를 시각화하지 않고 이러한 각 질문에 답하는 방법이 있습니다.

또한 작업이 무엇인지, SVM 출력이 무엇인지 말해 주면 사람들이 할 수있는 더 구체적인 제안이있을 수 있습니다.

나는 방식의 문제는 다음과 같다:

당신은 무엇을 의미로"결과를 얻을하지 않은 매우 만족"?

면 이 분류에 속도 교육 데이 만족스럽지 못하다는 것을 의미나

  • 당신 outliers 에서 당신의 트레이닝 데이터(데이터는 잘못 분류).이 경우에 당신을 시도할 수 있는 알고리즘 등 RANSAC 를 처리해 드리겠습니다.
  • 귀하의 모델(SVM 이 경우)가하는 데 적합하지 않습니다 이 문제를 해결합니다.이 될 수 있습 diagnozed 시도하여 다른 모델이(adaboost etc.) 나 더 추가하는 매개변수를 현재 모델입니다.
  • 표현 의 데이터가하는 데 적합하지 않습니다 당신의 분류는 작업입니다.이 경우에는 전처리 데이터와 기능 선택 또는 차원 감소 기법이 도움이 될

면 이 분류에 속도 테스트 데이 만족스럽지 못하다는 것을 의미의 모델 overfits 데이터:

  • 하나의 모델이 너무 복잡하(너무 많은 매개 변수)그리고 그것이 필요한 제한 추가,
  • 또는 훈련에서 훈련을 설정이 너무 작고 필요 이상의 데이터

물론 그것이 될 수 있습의 혼합물이 상기 요소입니다.이들은 모두"맹인"방법을 공격하는 문제입니다.을 얻기 위해서는 더 많은 통찰력으로 사용할 수 있는 시각화 방법을 투영하여 데이터로 낮은 차원 또는 보에 대한 모델에 적합한 더 나은 문제 도메인으로 당신은 그것을 이해(예를 들어 알고 있는 경우에 데이터가 정상적으로 분산을 사용할 수 있습 GMMs 모델 데이터...)

PCA 또는 유사한 기술로 문제의 차원을 줄일 수 있습니다. PCA에는 두 가지 중요한 점이 있음을 조심하십시오. (1) 적용되는 데이터가 정상적으로 분배되고 (2) 결과 데이터가 자연스러운 의미를 느슨하게한다고 가정합니다 (블랙 박스를 초래). 당신이 그것으로 살 수 있다면, 그것을 시도하십시오.

또 다른 옵션은 여러 매개 변수 선택 알고리즘을 시도하는 것입니다. SVM이 이미 여기에 언급되었으므로 Chang과 Li의 접근을 시도 할 수 있습니다 (선형 SVM을 사용한 기능 순위)에서 선형 SVM을 사용하여 "흥미로운 기능"을 사전 선택 한 다음 선택한 기능에서 RBF 기반 SVM을 사용했습니다. 당신이 익숙하다면 오렌지, 파이썬 데이터 마이닝 라이브러리, 당신은 1 시간 이내에이 방법을 코딩 할 수 있습니다. 이것은 입력 변수가 높은 상관 관계가있는 경우 "탐욕"으로 인해 실패 할 수있는 탐욕스러운 접근법입니다. 이 경우 PCA 로이 문제를 해결할 수없는 경우 (위 참조), 예측 변수의 최상의 조합을 선택하려고 시도하는 휴리스틱 방법으로 이동할 수 있습니다. 이런 종류의 접근 방식의 주요 함정은 과적으로 적합한 잠재력입니다. 모델 구축의 전체 프로세스 중에는 보이지 않았던 "처녀"데이터가 있는지 확인하십시오. 모델이 준비되었는지 확인한 후 해당 데이터의 모델을 한 번만 테스트하십시오. 실패하면 다른 모델을 검증하기 위해이 데이터를 다시 사용하지 마십시오. 새 데이터 세트를 찾아야합니다. 그렇지 않으면 당신은 당신이 한 번 더 과적하지 않았다는 것을 확신하지 못할 것입니다.

매개 변수 선택에 대한 선택된 논문 목록 :고차원 게놈 마이크로 어레이 데이터에 대한 기능 선택

아, 그리고 SVM에 대해 한 가지 더. SVM은 블랙 박스입니다. 데이터를 생성하고 데이터가 아닌 메커니즘을 모델링하는 메커니즘이 무엇인지 더 잘 알아냅니다. 반면에, 이것이 가능하다면, 아마도 당신은 아마도 당신이 여기 에이 질문을하지 않을 것입니다 (그리고 나는 과적으로 너무 쓰러지지 않을 것입니다).

매개 변수 선택에 대한 선택된 논문 목록

  1. 고차원 게놈 마이크로 어레이 데이터에 대한 기능 선택
  2. 기능 서브 세트 선택을위한 랩퍼
  3. 입자 떼 최적화에서 매개 변수 선택
  4. 나는 이것을 개발 한 실험실에서 일했습니다 실리코에서 분자의 특성과 같은 약물을 결정하는 확률 적 방법

내가 틀리지 않으면 SVM의 매개 변수가 최상의 결과를 제공합니다. 문제는 모델/곡선 피팅입니다. 나는 몇 년 전에 비슷한 문제를 해결했습니다. 똑같이 할 수있는 수많은 라이브러리와 조류가 있습니다. 나는 사용했다 뉴턴-랩슨곡선에 맞는 알고리즘과 유전자 알고리즘의 변형.

실제 실험을 통해 (또는 간단한 분류를하고 있다면 직접하십시오). 이것을 SVM의 출력과 비교하십시오. 앞에서 언급 한 알고는 모델의 결과 (이 경우 SVM)가 예상 값과 다소 일치 할 때 까지이 프로세스를 반복합니다 (이 프로세스는 문제/데이터 크기를 기준으로 시간이 걸릴 것입니다. 140 노드 베오 울프 클러스터).

Newton-Raphson 's와 함께 가기로 선택했다면 이것 시작하기에 좋은 곳이 될 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top