Model Screening 플랫폼에서 하이퍼파라미터를 수정하는 방법안녕하세요, JMP 전문가 여러분,
저는 Model Screening 플랫폼이 매우 유용하다고 생각합니다. Tuning Design Table을 통해 하이퍼파라미터를 파악했는데, JSL과 같은 Model Screening 플랫폼에서 하이퍼파라미터를 수정할 수 있는 방법이 있는지 궁금합니다.
플랫폼이 하이퍼파라미터를 수정할 수 없는 경우 기사의 기본 매개변수를 사용할 수 있나요?
귀하의 회신을 기대하겠습니다
고급 통계 모델링Re: Model Screening 플랫폼에서 하이퍼파라미터를 수정하는 방법안녕하세요 @Wang123 님 ,
커뮤니티에 오신 것을 환영합니다!
Model Screening 에 대한 문서를 읽어보셨나요? 귀하의 질문에 직접 답변하기 위해 다음은 JMP 도움말의 답변입니다. " 모델링 플랫폼은 모델 피팅에서 기본 옵션과 조정 매개변수를 사용합니다. 플랫폼을 직접 호출하고 다른 옵션을 선택하여 기본 결과보다 더 나은 피팅을 개선할 수 있습니다. "
따라서 기본적으로 Model Screening 플랫폼(아마도 JSL을 통해)에서는 하이퍼파라미터를 조정할 수 없으며 이 플랫폼을 사용하지 않습니다. 모델 스크리닝은 AutoML로, 다양한 유형의 머신러닝 모델을 신속하게 피팅하여 어떤 유형의 모델이 데이터에 올바르게 적합한지 더 잘 이해하는 것이 목표입니다. 이 탐색 단계가 완료되면 해당 모델의 플랫폼을 사용하여 설계 테이블 조정을 통해 하이퍼파라미터를 조정하고 모델 성능을 더욱 향상시킬 수 있습니다.
기계 학습 알고리즘은 하이퍼파라미터 구성과 관련하여 다양한 민감도/강건성을 가지고 있습니다. 예를 들어 Random Forest는 하이퍼파라미터가 성능에 거의 영향을 미치지 않는 가장 강력한 ML 알고리즘 중 하나입니다. [1802.09596] 조정 가능성: 기계 학습 알고리즘의 하이퍼 매개변수의 중요성(arxiv.org)을 참조하세요.
기술적으로는 의도한 작업을 수행할 수 있지만 주의해야 할 몇 가지 경고는 다음과 같습니다.
- 여러 모델을 적합시키고 조정하려면 훈련 세트에 대해 중첩된 교차 검증(이미 교차 검증을 사용하는 경우) 또는 교차 검증(그리고 검증 세트를 사용하여 모델의 성능을 비교)을 사용해야 할 수도 있습니다. 추가된 데이터 분할은 하이퍼파라미터 최적화로 과적합되지 않도록 하고, 데이터의 일부를 공정하고 "가능한 한 편견 없는" 방식으로 알고리즘 비교 및 선택을 수행하는 데 사용할 수 있도록 하기 위해 여기에 있습니다.
- 이 모델 스크리닝 플랫폼에서 발생할 수 있는 문제는 교차 검증 옵션이 기본적으로 무작위라는 것입니다. 데이터세트와 기능/입력의 분포에 따라 이는 합리적인 선택이 아닐 수 있으며 데이터세트에 대한 공정한 평가 및 대표성을 제공하지 못할 수 있습니다. 해결 방법은 계층화된 수식(K-겹) 검증 열을 생성하여 모델 스크리닝의 검증 패널에서 사용하는 것입니다. Make Validation Column Platform(jmp.com)을 시작합니다.
- 이 플랫폼 또는 AutoML 플랫폼을 사용하여 여러 모델을 실제로 조정하고 조정하려면 피팅해야 하는 모델 수와 필요한 시간 및 계산에 대해 생각해 보십시오. 선택한 각 모델 유형을 KxK'번 맞춰야 합니다. (K = 모델 검증을 위한 외부 접기 수, K' = 초매개변수 조정을 위한 내부 접기 수를 사용한 중첩 교차 검증). 데이터 세트, 차원 및 복잡성에 따라 이 "무차별 대입" 접근 방식은 합리적이지 않거나 달성 가능하지 않을 수 있습니다.

중첩 교차 검증에 대한 추가 리소스:
https://inria.github.io/scikit-learn-mooc/python_scripts/cross_validation_nested.html
https://scikit-learn.org/stable/auto_examples/model_selection/plot_nested_cross_validation_iris.html
https://medium.com/@cd_24/a-guide-to-nested-cross-validation-with-code-step-by-step-6a8ad06d5af2#:~:text=Nested%20cross%2Dvalidation%20is%20a, 내부%20loop%20for%20초매개변수%20조정.
내 조언은 순차적으로 진행하고 가장 적합한 플랫폼을 사용하여 매우 다양한 알고리즘을 비교하고 가장 유망한 알고리즘을 선택하는 것입니다. 그런 다음 성능을 약간 향상시키기 위해 가장 잘 수행되는 것으로 보이는 (몇 가지) 모델의 하이퍼 매개변수를 최적화할 수 있습니다. 데이터 유출을 방지하려면 이 프로세스에 주의해야 합니다. 예를 들어 최종 모델이 선택되고 최적화될 때까지 테스트 세트를 사용하지 마십시오(또는 테스트 세트에서 낙관적인 결과를 기대할 수 있고 알고리즘이 새 데이터에 사용될 때 예상치 못한 결과가 나올 수 있습니다). .
하이퍼파라미터 최적화는 알고리즘이 더 적합한 알고리즘/방법보다 훨씬 더 잘 학습하도록 "마법처럼" 만들지 않기 때문에 이 프로세스는 무차별 접근 방식을 사용하는 것보다 나에게 더 의미가 있습니다.
이 답변이 (직접적으로 기대하는 것은 아니더라도) 도움이 되기를 바랍니다.
Re: Model Screening 플랫폼에서 하이퍼파라미터를 수정하는 방법안녕하세요 Victor_G님,
저에게 큰 영감을 주는 답변에 감사드립니다. 먼저 모델 스크리닝 플랫폼을 사용한 다음 적절한 알고리즘을 사용하여 이 접근 방식을 시도해 볼 수도 있습니다.
과적합을 방지하기 위해 K-겹 교차 검증은 작은 데이터에 좋은 방법입니다.그러나 일부 알고리즘 플랫폼(모델 스크리닝 아님)은 Bootstrap Forest, Boosted Tree 및 Baive Bayes와 같은 K-겹 교차 검증을 지원하지 않습니다. 물론,계층화된 수식(K-겹) 유효성 검사 열이 맞지 않습니다. 따라서모델 스크리닝 플랫폼과 하이퍼파라미터 최적화에서 가장 유망한 알고리즘을 선택한 후, 소규모 데이터의 경우 모델을 더 잘 훈련하는 방법에 대한 경험을 공유해 주실 수 있나요?
마지막으로 "선택 실행" 버튼을 클릭한 후 K-겹 교차 검증을 사용하는 모델 스크리닝 플랫폼의 모든 알고리즘이 다음을 수행할 수 있음을 발견했습니다.자동으로 생성검증 접기. 그러면 과적합을 피하기 위해 최고의 하이퍼파라미터를 사용하여 동일한 알고리즘에서 이 검증 접기를 사용할 수 있습니까?
당신의 의견을 기다리겠습니다.
Re: Model Screening 플랫폼에서 하이퍼파라미터를 수정하는 방법안녕하세요 @Wang123 님 ,
제 답변이 도움이 되었다니 기쁘네요.
머신러닝을 성공적으로 사용하려면 분석을 시작하기 전에 머신러닝 프로젝트에 대한 전략과 프레임워크를 설정해야 합니다. 대부분의 경우 기계 학습 프로젝트는 시작점(데이터 수집 고려 사항) 또는 종료 단계(테스트 조건 및 모니터링)가 제대로 고려 및 정의되지 않아 실패할 수 있습니다.
- 출발점 : 데이터를 어떻게 수집했는지 생각해보세요. 수행하려는 작업에 대한 데이터 세트가 얼마나 대표적인가요? 관찰 연구 또는 DoE와 같은 통제된 실험 중 어떤 맥락에서 데이터가 수집되었습니까? 데이터 샘플링 및 특징/변수 분포가 모델 환경에서 발생하는 것과 유사합니까(예: 변수 범위/수준, 클래스 또는 값 간의 불균형 또는 균형, 응답 분포, 유사한 측정 장비 성능, 측정의 불확실성, ...) ?
이러한 질문은 기계 학습에 데이터를 사용할 때 고려하고 정의해야 하는 사항에 대한 몇 가지 예일 뿐이며 기대치를 관리하는 데 도움이 될 수 있습니다.
- 종료 단계 : 최종 모델을 테스트하는 방법을 알아야 합니다. 이미 데이터 세트를 분할하고 테스트 목적으로 작은 부분을 유지할 수 있습니까? 아니면 모델 성능을 테스트하고 모니터링하기 위해 새 데이터를 얻을 계획입니까?
귀하의 질문과 관련된 기타 권장 사항 및 지침과 추가 의견은 다음과 같습니다.
- 오해를 피하기 위해 각 세트 간의 용도와 요구 사항을 아는 것이 중요합니다.
- 훈련 세트 : 모델의 실제 훈련에 사용되며,
- 검증 세트 : 모델 최적화(초매개변수 미세 조정, 특징/임계값 선택 등) 및 모델 선택에 사용됩니다.
- 테스트 세트 : 새로운/보이지 않은 데이터에 대해 선택한 모델의 일반화 및 예측 성능 평가에 사용됩니다. 이 단계에서는 경쟁에 여러 모델이 있어서는 안 됩니다.
- 작은 데이터 세트의 경우 모델 검증(모델 비교 및 선택)을 실현할 수 있는 몇 가지 옵션이 있습니다.
- 소규모 데이터세트를 다루는 경우 간단한 알고리즘을 선택하세요. 일반적으로 모델의 (하이퍼)매개변수 수가 많을수록 모델의 각 (하이퍼)매개변수를 정확하게 추정하려면 더 많은 데이터가 필요하므로 훈련 데이터 세트가 더 커야 합니다. 나는 Random Forests, Support Vector Machines, Generalized Regression/Classification과 같은 소규모 데이터세트를 다룰 때 강력한 알고리즘을 선택하는 편이 낫습니다.
더 많은 설명을 위해 내가 작성한 일부 LinkedIn 기사:- 랜덤 포레스트
- SVM
이 두 알고리즘 모두 조정해야 할 초매개변수 수가 적거나 초매개변수 조정에 강력한 성능을 갖거나(위에서 언급한 https://arxiv.org/abs/1802.09596 참조), 과적합을 방지하고 예측 분산을 줄이는 데 도움이 되는 훈련 특이성을 갖습니다(부트스트랩 샘플 예를 들어 Random Forest의 일부).
부스팅 트리나 부스팅 알고리즘은 이전 오류를 순차적으로 수정하여 편향(체계적 오류)을 최대한 줄이는 데 중점을 두기 때문에 사용하지 않을 것입니다. 이로 인해 매우 효과적인 예측 알고리즘이 만들어지지만 매우 민감하고 훈련 세트의 영향을 받으며 일반화 성능이 낮고 분산이 높을 수 있습니다.
보다 일반적으로 ML 알고리즘을 처리하는 방법에는 두 가지가 있습니다.
- 데이터 세트 크기, 제약 조건 및 기타 많은 선택 기준으로 인해 모델 수와 가능성이 줄어들고 가장 유망한 모델을 선택하기 위해 몇 가지 모델을 시도하기만 하면 됩니다. 다음은 Space-Filling 혼합 DoE와 기계 학습의 사용에 대해 제가 올해 발표한 프레젠테이션의 녹음입니다 . 향상된 도메인 E를 위한 실험 설계와 기계 학습 간의 시너지... - JMP 사용자 커뮤니티 선택을 하면 자신의 프로젝트에 대한 선택 기준에 대한 몇 가지 아이디어가 있을 수 있습니다.
- 어떤 모델이 더 나은 성능을 발휘할 수 있는지 전혀 모르고, 첫 번째 탐색적 모델링 테스트/알고리즘 간의 경쟁을 원합니다. 이 경우 데이터의 하위 집합(60-80%)을 사용하여 모델을 학습하고 비교할 수 있습니다. 또는 데이터 세트가 매우 작은 경우 교차 검증과 함께 전체를 사용하여 첫 번째 탐색 부분을 수행할 수 있습니다. 유망한 알고리즘을 식별한 후에는 명확한 검증 전략(예: 재현성을 위해 고정 시드를 사용한 계층화된 K-폴드 교차 검증)이 있는 개별 모델 플랫폼을 사용해 보십시오.
교차 검증과 결과 표시 방식에 대한 마지막 설명으로 몇 가지 경고가 있을 수 있습니다.
- 각 접기에 대한 결과가 표시됩니다. 모델 성능을 향상시키기 위해 최상의 데이터 분할을 선택하고 있기 때문에 "부정행위"로 간주될 수 있는 특정 접기에 대해 훈련되고 검증된 모델을 실행하지 마십시오. 이는 새로운 데이터/테스트에서 기대하는 전체 성능에 편향을 초래합니다. 세트.
- K-폴드 교차 검증은 올바른 검증 방법이 아니라 모델이 다양한 데이터 분할에서 어떻게 작동하는지 확인하기 위한 "강건성 테스트"에 가깝기 때문에 오해의 소지가 있는 이름을 가지고 있습니다. 참조: MFML 065 - k-겹 교차 검증 이해(youtube.com)
따라서 이 단계에서 중요한 정보는 각 폴드에 대한 모델의 개별 성능이 아니라 성능(모든 폴드에 대한 평균 성능 및 표준편차 성능)이 얼마나 규칙적이고 유사한지입니다. 결과에 불일치/높은 분산이 표시되면 모델이 작업에 적합하지 않거나 데이터에 단일 개별 지점(확인할)이 있어 모델을 혼란스럽게 하고 패턴을 일반화/찾는 데 방해가 된다는 의미일 수 있습니다.
- 마지막으로 교차 검증이 완료되면 결과를 어떻게 처리할지에 대한 합의가 없습니다. 일부는 전체 데이터 세트에서 선택한 모델을 재교육하고, 일부는 각 접기에 대해 교육된 개별 모델을 앙상블하거나 예측을 쌓습니다. 다음은 이 배포 단계에 대한 링크입니다 . 평가에서 최종 모델로 이동하는 방법(substack.com)
귀하에게 더 적합한 옵션을 선택하십시오.
이 게시물에서 보완적인 토론과 답변을 찾을 수도 있습니다. CROSS VALIDATION - VALIDATION COLUMN METHOD
너무 길어서 죄송합니다. 이 큰 답변에 도움이 될 만한 내용이 있기를 바랍니다!:)
Re: Model Screening 플랫폼에서 하이퍼파라미터를 수정하는 방법안녕하세요 Victor_G님,
당신의 도움을 주셔서 감사합니다. 하이퍼파라미터 튜닝 기능을 갖춘 모델 스크리닝 플랫폼이나 K-폴드 기능을 갖춘 모든 개별 모델 플랫폼 중 어느 것이든 내 문제를 쉽게 해결할 수 있습니다. 두 플랫폼에 일부 기능이 부족한 것은 유감입니다.
잠시 생각해 본 후 다음 단계가 적절한지 묻고 싶습니다.
(1) 80% 훈련과 20% 테스트 세트를 사용한 계층화된 샘플링.
(2) 훈련 세트(80%)에서 K-겹 교차 검증을 통해 여러 기계 학습 알고리즘을 훈련했습니다.모델 스크리닝 플랫폼에서. 물론 이 단계에서는 기본 하이퍼파라미터를 사용합니다. 비교 결과 Bootstrap Forest와 같은 알고리즘의 일부가 최적이라는 것을 알았습니다.
(3) 그런 다음 Tuning Design Table을 통해 Bootstrap Forest의 최적 하이퍼파라미터를 명확히 했습니다.
(4) 훈련 세트(80%)에서 최적의 하이퍼파라미터로 Bootstrap Forest 알고리즘을 다시 조정했습니다. 물론 다른 알고리즘에도 적합할 수 있습니다.
(5) 테스트 세트(20%)에서 Bootstrap Forest 및 기타 알고리즘의 모델 성능을 추가로 평가했습니다.
위 단계가 JMP에 적합합니까?
2단계에서는 기사의 기본 하이퍼파라미터를 사용하여 모델 비교 결과(K-겹 교차 검증 결과)를 보고할 수 있나요? 물론 우리는 많은 기사가 3단계에서 시작한 다음 2단계로 시작한다는 것을 알고 있습니다.최적의 하이퍼파라미터를 사용한 모델 비교 결과를 보고합니다.
4단계에서는 교차 검증 방법을 설정하지 않았는데 맞나요? 아니면 다른 방법이 있나요?
당신의 의견을 기다리겠습니다.
Re: Model Screening 플랫폼에서 하이퍼파라미터를 수정하는 방법안녕하세요 Victor_G님,
귀하의 답변은 매우 의미가 있습니다. K-Folds 유효성 검사 열을 만드는 방법을 알고 있습니다. 내가 아는 한, Bootstrap Forest, Boosted Tree, Baive Bayes와 같은 일부 알고리즘 플랫폼은 K-fold 교차 검증을 지원하지 않습니다. 이 내용은 JMP 도움말 (https://www.jmp.com/support/help/en/18.0/index.shtml#page/jmp/kfold-and-holdback-validation.shtml )에서 확인할 수 있습니다. 이 경우에는 작은 데이터를 훈련, 검증, 테스트 세트로 나누어야 합니다. 이러한 알고리즘 플랫폼(Bootstrap Forest, Boosted Tree 및 Baive Bayes)에서 K-fold 교차 검증을 사용할 수 있는 방법이 있습니까?
"결과는 각 폴드에 대해 표시됩니다. 특정 폴드에 대해 훈련 및 검증된 모델을 실행하지 마십시오. 그러면 부정 행위로 간주됩니다..."라고 말씀하셨고, 또 다른 사람은 "마지막으로 교차 검증이 완료되면 결과를 어떻게 처리할지에 대한 합의가 없습니다. 일부는 전체 데이터 세트에서 선택한 모델을 재교육하고 일부는 각 접기에 대해 교육된 개별 모델을 앙상블합니다. 특정 접기 또는 전체 훈련 세트에서 훈련하는 것 중 어떤 방법이 더 적절한지 모르겠습니다.
당신의 의견을 기다리겠습니다.
Re: Model Screening 플랫폼에서 하이퍼파라미터를 수정하는 방법안녕하세요 @Wang123 님 ,
죄송합니다. 일부 모델링 플랫폼에서는 K-폴드 교차 검증 열의 사용이 제한되어 있다는 말씀이 맞습니다.
한 가지 가능한 해결 방법은 공통 검증 열 수식(80% 훈련 및 20% 검증으로 구성된 계층화된 샘플링)을 생성하여 모델 플랫폼에서 사용하고 "시뮬레이트" 기능을 사용하여 많은 교차 검증 샘플 및 결과를 생성하여 견고성을 평가하는 것입니다. 다른 게시물에서 방법론을 설명했습니다. 해결: Re: 여러 반복 검증을 하나의 출력 탭으로 자동화하고 요약하려면 어떻게 해야 합니까... - JMP 사용자 커뮤니티
두 번째 질문에 관한 제 개인적인 의견은 개별 모델의 예측을 쌓아 각 개별 모델이 최종 예측에 동일한 기여를 하도록 하는 것입니다. 이는 가장 중립적인 접근 방식인 것으로 보이며 편향 및 (주로) 분산 감소(" 군중의 지혜 " 접근 방식)는 물론 과적합 방지도 가능합니다. 또한 개별 모델 기여 덕분에 불확실성 예측 구간을 추정할 수 있는 좋은 기회가 될 수도 있습니다.
개별 모델의 조합은 최종 앙상블 모델이 과적합되지 않고 일반화할 수 있는지 확인하기 위해 추가 검증이 필요하기 때문에 소규모 데이터 세트의 경우 앙상블이 너무 복잡합니다.
ML 알고리즘에 대한 자세한 지식에 따라 전체 데이터 세트를 사용하고 이에 대한 최종 모델을 학습하는 옵션을 사용할 수도 있으며, 교차 검증된 모델의 결과를 "검증되지 않은" 모델과 비교하여 징후를 찾아낼 수도 있습니다. 과적합.
다시 말하지만, 간단한 모델과 정규화/제한 기술을 사용하면 과적합을 방지하는 데 큰 도움이 됩니다.
이 답변이 도움이 되길 바랍니다.
Re: Model Screening 플랫폼에서 하이퍼파라미터를 수정하는 방법안녕하세요 @Wang123 님 ,
나는 1)과 2)단계가 적절하다고 생각한다.
여러 모델의 최적 하이퍼파라미터를 찾고, 평가, 비교하고 최종 모델을 선택하기 위해 3) 단계와 4) 단계를 결합할 수 있습니다. 검증 없이 하이퍼파라미터를 최적화하면 과적합으로 이어질 수 있으므로 이 단계에는 검증 전략도 필요합니다. (K-폴드?) 검증 세트에 대한 하이퍼파라미터 최적화 결과에 따라 가장 적절해 보이는 알고리즘을 선택합니다.
검증 전략에 따라 알고리즘을 그대로 훈련시키거나(모델을 비교하고 선택하기 위해 검증 세트를 사용한 경우), K-겹 교차 검증을 사용한 경우(평균을 얻기 위해 모델 스택을 수행할 수 있습니다) 개별 모델의 예측).
5단계에서는 새로운 데이터와 보이지 않는 데이터에 대한 최종 모델의 성능을 평가합니다. 이 단계에서는 알고리즘/모델이 하나만 있어야 합니다. 검증은 테스트 단계가 아닌 모델을 비교하고 선택하는 데 사용됩니다.
귀하의 질문에 관하여:
"2단계에서 기사의 기본 하이퍼파라미터를 사용하여 모델 비교 결과(K-겹 교차 검증 결과)를 보고할 수 있나요?" : 무엇을 보여주거나 시연하고 싶은지에 따라 다릅니다. 특정 모델을 선택한 이유를 설명하려면 2단계의 결과를 사용할 수 있습니다. 하이퍼파라미터 튜닝의 중요성과 이점을 강조하려면 선택한 알고리즘에 대해 2단계와 3단계의 결과를 비교하는 것이 더 합리적입니다. (Random Forests와 같은 일부 강력한 모델에서는 항상 중요한 것은 아닙니다).
"4단계에서는 교차 검증 방법을 설정하지 않았습니다. 이게 맞나요? 아니면 다른 방법이 있나요?" 강력한 알고리즘을 사용하고 과적합을 방지하는 측정항목이 없는 한 전체 훈련 세트를 다시 맞추는 것은 권장하지 않습니다. 랜덤 포레스트는 일반적으로 강력한 알고리즘의 좋은 예이며 Out-Of-Bag 샘플을 통해 내부 검증(지속적인 응답을 위해)을 갖습니다: https://www.jmp.com/support/help/en/17.2/#page/jmp/overview -of-the-bootstrap-forest-platform.shtml#
In-Bag 및 Out-Of-Bag 샘플의 측정항목을 비교하면 Random Forest에 과적합이 있는지 평가하는 데 도움이 될 수 있습니다.
다른 알고리즘을 사용 중이거나 그 견고성이 확실하지 않은 경우 이전 단계의 최적화된(검증된!) 모델(또는 K-겹 교차 검증을 사용하는 경우 누적 모델)을 유지하세요.
마지막 답변이 도움이 되길 바랍니다.
추신: 답변이 도움이 되었다면 답변을 "해결책으로 수락"하는 것을 잊지 마세요. 이는 다른 JMP 사용자가 모든 내용을 읽지 않고도 신속하게 해결책을 찾을 수 있는 좋은 방법입니다.
Re: Model Screening 플랫폼에서 하이퍼파라미터를 수정하는 방법안녕하세요 Victor_G님,
소중한 관점 감사드립니다! 이것은 나에게 매우 도움이 됩니다.