머신러닝 알고리즘 평가하기

문제를 정의하고 데이터를 준비한 후에는 문제를 해결하기 위해 데이터에 머신러닝 알고리즘을 적용해야 합니다.

알고리즘을 선택, 실행 및 조정하는 데 많은 시간을 할애할 수 있습니다. 목표에 더 가까이 다가가기 위해 시간을 효과적으로 사용하고 있는지 확인하고 싶습니다.

이 게시물에서는 알고리즘을 신속하게 테스트하고 알고리즘이 학습할 수 있는 구조에 문제가 있는지 여부와 어떤 알고리즘이 효과적인지 확인하는 프로세스를 단계별로 진행합니다.


테스트 하네스

테스트 프로그램을 정의해야 합니다. 테스트 프로그램은 알고리즘을 학습하고 테스트할 데이터와 성능을 평가하는 데 사용할 성능 측정값입니다. 다양한 알고리즘을 평가하고 문제에 대해 깊이 생각하는 데 집중할 수 있도록 테스트 프로그램을 잘 정의하는 것이 중요합니다.

테스트 프로그램의 목표는 해결중인 문제의 공정한 표현에 대해 알고리즘을 빠르고 일관되게 테스트 할 수 있도록 하는 것입니다. 하네스에 대해 여러 알고리즘을 테스트한 결과는 선택한 성능 측정값에 대해 다양한 알고리즘이 문제에 대해 어떻게 수행되는지에 대한 추정치입니다. 어떤 알고리즘이 문제에 대해 조정할 가치가 있고 어떤 알고리즘은 더 이상 고려해서는 안되는지 알 수 있습니다.

결과는 또한 문제가 얼마나 학습 가능한지에 대한 표시를 제공합니다. 다양한 학습 알고리즘이 보편적으로 문제에 대해 제대로 수행되지 않는 경우 알고리즘이 학습할 수 있는 구조가 부족하다는 표시일 수 있습니다. 이는 선택한 데이터에 실제로 학습 가능한 구조가 부족하거나 학습 알고리즘에 구조를 노출하기 위해 다른 변환을 시도할 기회가 있기 때문일 수 있습니다.


성능 측정

성능 측정값은 문제에 대한 솔루션을 평가하는 방법입니다. 테스트 데이터 세트에서 학습된 모델이 수행한 예측을 측정합니다.

성능 측정값은 일반적으로 작업 중인 문제 클래스(예: 분류, 회귀 및 클러스터링)에 맞게 특수화됩니다. 많은 표준 성능 측정값은 문제 도메인에 의미 있는 점수를 제공합니다. 예를 들어, 분류에 대한 분류 정확도(총 수정을 백분율로 변환하기 위해 배수로 만든 총 예측으로 나눈 값).

예를 들어 좋은 전자 메일은 스팸으로 표시되어 읽을 수 없기 때문에 스팸 분류 문제의 가양성(false positives)에 대해 알고 싶을 수 있습니다.

선택할 수 있는 많은 표준 성능 측정값이 있습니다. 일반적으로 해결하려는 문제의 요구 사항을 가장 잘 포착하는 성능 측정을 찾거나 조정할 수 있으므로 새로운 성능 측정을 직접 고안 할 필요는 거의 없습니다. 발견한 유사한 문제와 채택할 수 있는지 확인하는 데 사용된 성능 측정을 살펴보십시오.



알고리즘 테스트

문제로 시작하고 만족하는 테스트 프로그램을 정의했다면 다양한 머신러닝 알고리즘을 임의 추출 검사해야 합니다. 스팟 검사는 데이터에 학습 가능한 구조가 있는지 매우 빠르게 확인하고 문제에 효과적일 수 있는 알고리즘을 추정할 수 있기 때문에 유용합니다.

또한 임의 추출 검사는 테스트 프로그램의 문제를 해결하고 선택한 성능 측정값이 적절한지 확인하는 데 도움이 됩니다.

현장 검사에 가장 적합한 첫 번째 알고리즘은 무작위입니다. 난수 생성기를 연결하여 적절한 범위에서 예측을 생성합니다. 이것은 당신이 달성하는 최악의 “알고리즘 결과”이어야 하며 모든 개선 사항을 평가할 수 있는 척도가 될 것입니다.

문제에 적합한 5-10개의 표준 알고리즘을 선택하고 테스트 프로그램을 통해 실행합니다. 표준 알고리즘이란 특별한 구성이 없는 인기있는 방법을 의미합니다. 문제에 적합하다는 것은 회귀 문제가 있는 경우 알고리즘이 회귀를 처리할 수 있음을 의미합니다.

이미 검토한 알고리즘 그룹에서 방법을 선택합니다. 나는 다양한 믹스를 포함하고 다양한 알고리즘 유형에서 가져온 10-20 개의 다른 알고리즘을 가지고 있습니다. 내가 사용하고 있는 라이브러리에 따라 유망한 방법을 신속하게 플러시하기 위해 50개 이상의 인기있는 방법을 발견 할 수 있습니다.

많은 메서드를 실행하려는 경우 데이터 준비를 다시 검토하고 선택한 데이터 세트의 크기를 줄여야 할 수 있습니다. 이로 인해 결과에 대한 신뢰도가 떨어질 수 있으므로 다양한 데이터 세트 크기로 테스트하십시오. 알고리즘 스팟 검사에는 더 작은 크기의 데이터 세트를 사용하고 알고리즘 튜닝에는 더 완전한 데이터 세트를 사용할 수 있습니다.


요약

이 게시물에서는 테스트 및 학습 데이터 세트의 선택과 문제에 의미 있는 성능 측정을 포함하는 신뢰할 수 있는 테스트 프로그램을 설정하는 것의 중요성에 대해 배웠습니다.

또한 테스트 프로그램을 사용하여 문제에 대한 다양한 머신러닝 알고리즘을 임의 추출 검사하는 전략에 대해서도 배웠습니다. 이 전략은 데이터 세트에 학습 가능한 구조가 있는지(그렇지 않은 경우 데이터 준비를 다시 검토할 수 있음) 및 문제에 대해 일반적으로 잘 수행되는 알고리즘(추가 조사 및 튜닝 후보가 될 수 있음)을 빠르게 강조 표시할 수 있음을 발견했습니다.

네피리티
No Comments

Sorry, the comment form is closed at this time.