비디오: Train/Dev/Test Set Distributions (C3W1L05) 2024
기계 학습 가설을 효과적으로 검증 할 수 있기 때문에 선택한 알고리즘을 더욱 최적화 할 수 있습니다. 이 알고리즘은 데이터에서 신호를 감지하고 예상치의 많은 차이를 과대하지 않고 예측 기능의 실제 기능 형태에 맞출 수 있으므로 데이터에 대한 예측 성능의 대부분을 제공합니다. 모든 기계 학습 알고리즘이 귀하의 데이터에 가장 잘 맞는 것은 아니며 모든 알고리즘을 하나의 알고리즘으로 해결할 수있는 것은 아닙니다. 특정 문제에 대해 올바른 것을 찾는 것은 당신에게 달려 있습니다.
최종 성능 소스는 학습이 발생하기 전에 결정하고 데이터에서 배운 매개 변수 인 알고리즘의하이퍼 파라미터 를 미세 조정하면 파생됩니다. 이들의 역할은 알고리즘이 데이터와 상호 작용하고 다른 프로세스가 알고리즘을 데이터와 상호 작용하고 후속 적으로 알고리즘을 지정하고 최적화 프로세스를 사용하여 특정 매개 변수 값을 찾음에 반해 사전 정의 된 가설을 정의하는 데있다 좋은 예측을 얻는 데 더 잘 작동합니다. 복잡한 기계 학습 알고리즘은 추정치의 분산에 가장 많이 노출되는 알고리즘으로 많은 매개 변수로 표현되는 많은 선택 사항을 제공합니다. 그 (것)들을 가진 twiddling는 배우는 자료에 어느 정도 적응시킨다. 때로는 너무 많은 하이퍼 파라미터 twiddling이 알고리즘에서 데이터의 잘못된 신호를 감지하도록 만들 수 있습니다. 따라서 하이퍼 매개 변수 자체는 테스트 세트 또는 반복되는 교차 유효성 검사 스키마와 같은 고정 된 참조를 기반으로 너무 많이 조작하기 시작하면 감지 할 수없는 분산 소스가됩니다. R과 Python은 입력 행렬을 훈련, 테스트 및 유효성 검증 파트로 분할하는 기능을 제공합니다. 특히 교차 검증이나 부트 스트랩과 같은보다 복잡한 테스트 절차의 경우 Scikit-learn 패키지는 전체 모듈을 제공하고 R은 데이터 분할, 사전 처리 및 테스트 기능을 제공하는 특수 패키지를 제공합니다.이 패키지를 캐럿이라고합니다. 하이퍼 파라미터가 형성 할 수있는 값의 가능한 조합은 최적화를 찾기 어려운 위치를 결정합니다. 그래디언트 디센트를 설명 할 때 설명한 것처럼 최적화 공간에는 더 좋거나 나쁘게 수행되는 값 조합이 포함될 수 있습니다. 좋은 조합을 찾은 후에도 그것이 최선의 선택이라는 확신이 들지 않습니다. (이것은 오류를 최소화 할 때 로컬 미니 마에서 고생하는 문제입니다.)
이 문제를 해결하기위한 실제적인 방법으로 특정 데이터에 적용된 알고리즘의 하이퍼 매개 변수를 확인하는 가장 좋은 방법은 모두를 테스트하는 것입니다. 교차 유효성 검사를 수행하고 최상의 조합을 선택하십시오. 그리드 검색이라고하는이 간단한 접근법은 알고리즘에 체계적으로 입력 할 수있는 가능한 값의 범위를 샘플링하고 일반적인 최소값이 발생할 때를 탐지 할 수 있도록함으로써 뚜렷한 이점을 제공합니다. 반면에 그리드 검색은 연산 집약적이며 (현대 멀티 코어 컴퓨터에서이 작업을 병렬로 쉽게 수행 할 수 있기 때문에) 상당한 시간이 소요되기 때문에 심각한 단점이 있습니다. 또한 체계적이고 집중적 인 테스트는 오류가 발생할 가능성을 높여줍니다. 가짜 검증 결과는 데이터 세트에있는 노이즈로 인해 발생할 수 있기 때문입니다.그리드 검색의 몇 가지 대안을 사용할 수 있습니다. 모든 것을 테스트하는 대신 계산적으로 무겁고 수학적으로 복잡한 비선형 최적화 기법 (예: Nelder-Mead 메서드)을 사용하여 가능한 하이퍼 매개 변수 값의 공간을 탐색하고 베이지안 방식을 사용하여 테스트의 수를 알아볼 수 있습니다 이전 결과의 장점) 또는 무작위 검색 사용.
놀랍게도 무작위 검색은 엄청나게 잘 작동하고, 이해하기 쉽고, 처음에는 눈이 멀 수도 있지만, 눈이 멀었을뿐입니다. 실제로 기술의 핵심은 충분한 무작위 테스트를 선택하면 유사하게 수행되는 조합의 약간 다른 조합을 테스트 할 때 에너지를 낭비하지 않으면 서 올바른 매개 변수를 발견 할 수있는 충분한 가능성이 있다는 것입니다.
아래 그림은 무작위 검색이 왜 잘 작동하는지 설명합니다. 체계적인 탐색은 유용하지만 모든 조합을 테스트하는 경향이 있습니다. 일부 매개 변수가 결과에 영향을주지 않으면 에너지 낭비가됩니다. 무작위 검색은 실제로 적은 수의 조합을 테스트하지만 각 하이퍼 매개 변수의 범위에서 더 많이 테스트합니다. 특정 매개 변수가 다른 매개 변수보다 중요 할 때 자주 승리하는 것으로 입증되는 전략입니다.그리드 검색과 무작위 검색 비교.
무작위 검색이 잘 수행되도록하려면 15 회에서 최대 60 회까지 테스트해야합니다. 그리드 검색에 많은 수의 실험이 필요한 경우 무작위 검색을 사용하는 것이 좋습니다.