Neural nets_validation 세트는 학습 세트보다 더 높은 모델 적합도를 얻습니다.문제: 검증 세트가 훈련 세트보다 더 잘 작동하는 이유는 무엇입니까?
데이터: 200개의 데이터 포인트; 훈련에 90%, 검증에 10%
통계:
1. 유효성 검사 열 만들기
유효성 검사 열 만들기(
트레이닝 세트( 0.90 ),
검증 세트( 0.10 ),
테스트 세트( 0.00 ),
수식 랜덤);
2. 신경망:
은닉층 1개, 노드 3개 TanH
부스팅: 모델 수(10), 학습률(0.1)
피팅 옵션: 투어 수( 10 )
3. 위 단계를 1000회 반복
4. 트레이닝 세트 및 검증 세트에 대한 R 제곱의 평균을 계산합니다.
문제에 대한 설명:
검증 세트의 평균 R 제곱은 훈련 세트의 평균 R 제곱보다 훨씬 컸습니다. 왜 그럴까요? 페널티 방법 없이도 시도했지만 유효성 검사 세트는 여전히 훈련보다 더 잘 작동했습니다.
JMP는 검증 세트의 추정 모수를 어떻게 최적화합니까?
부트스트랩 포리스트를 사용하는 경우 왜 그렇지 않습니까? 즉, 부트스트랩 포리스트의 경우 훈련 세트가 검증 세트보다 더 잘 작동했습니다.
감사해요.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.당신은 여기 아무도 귀찮게하지 않습니다! 귀하와 같은 질문은 JMP 커뮤니티에 토론 영역이 있는 주된 이유 중 하나입니다! 반면에 일부 논의는 이 형식의 범위나 기능을 벗어날 수 있습니다.
참고: 논의 중입니다. 예측 모델 , 아니다 설명 모델 . 따라서 우리는 미래를 예측하는 모델의 능력에만 관심이 있습니다. 미래는 사용할 수 없습니다. 훈련 모델을 선택하고 모델을 선택합니다.
모든 종류의 교차 검증은 이론의 결과가 아닙니다. 수행하는 방법의 문제에 대한 해결책입니다. 정직한 평가 하나의 모델을 선택하기 전과 후의 모델 성능. 홀드 아웃 세트 접근 방식은 대용량 데이터 세트의 경우에 먼저 개발되었습니다. 추론은 이러한 경우 모델 선택에 도움이 되지 않습니다. 미래는 사용할 수 없습니다. 무엇을 해야 합니까? 데이터의 일부( 확인 ). 이러한 데이터는 교육 절차에 사용할 수 없습니다. 그런 다음 적합 모델을 홀드아웃 세트에 적용하여 모델 예측을 얻습니다. 모델은 어떻게 했나요? 다른 모델은 어떻게 하나요?
유효성 검사 데이터를 사용하여 모델을 선택했기 때문에 일부 모델러는 세 번째 부분( 시험 ) 선택한 모델을 평가합니다.
교차 검증은 매우 좋은 솔루션이지만 원래 관찰 세트의 큰 크기에 의존합니다. 샘플 크기가 작을 때 어떻게 해야 합니까? K-fold 접근 방식은 이러한 경우를 위해 특별히 개발되었습니다. 일부 모델러는 이를 극단적으로 가져와 K를 샘플 크기로 설정합니다. 이 버전은 ' 하나를 빼다 .' 데이터를 더 효율적으로 사용하고 있기 때문에 이러한 경우 홀드아웃 세트보다 더 잘 작동합니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.친애하는 Mr. Bailey,
권장한 대로 신경망과 단계적 회귀(모두 입력)를 사용한 k-겹 교차 검증을 사용했습니다. 루프를 작성하고 각 분석을 100번 실행했습니다. 결과는 검증 세트에 대한 평균 R 제곱이 훈련 세트보다 높지 않음을 보여줍니다.
이제 K-겹 교차 검증이 작은 샘플 크기에서 더 잘 작동하는 이유와 신경망을 사용한 홀드아웃 검증이 어색한 결과(즉, 검증 세트가 더 높은 평균 R 제곱을 얻음)를 얻는 이유가 궁금합니다. 이론적 또는 수학적 이유는 무엇입니까?
감사합니다.다시 한 번 번거롭게 해드려 죄송합니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.JMP Pro는 Stepwise Platform에서 회귀 분석을 위한 k-fold를 제공합니다. 모형에 유지할 항을 결정하는 데 사용됩니다. JMP 설명서에서:
K-Fold Crossvalidation (연속형 응답에만 사용 가능) 선택 프로세스에서 K-Fold 교차 검증을 수행합니다. 이 옵션을 선택하면 Max K-Fold RSquare 중지 규칙이 활성화됩니다(250페이지의 "단계별 회귀 제어 패널"). 이상
유효성 검사에 대한 자세한 내용은 275페이지의 "유효성 검사 사용"을 참조하십시오.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.아니요, JMP의 최소 제곱 맞추기 플랫폼은 교차 검증을 제공하지 않습니다. 표준 선형 회귀 모델을 포함하는 JMP Pro의 일반화 회귀 플랫폼은 시작 대화 상자의 홀드아웃 교차 검증과 플랫폼 검증 옵션으로 K-폴드 교차 검증을 모두 제공합니다.
표본 크기가 작기 때문에 교차 검증 대신 모델 선택에 AICc를 사용하는 것을 고려할 수 있습니다.
요구하는 유연성을 제공하는 오픈 소스 소프트웨어 사용을 고려할 수도 있습니다. 예를 들어 JMP를 사용하여 R 또는 Python에 연결하고 두 소프트웨어로 작업할 수 있습니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.친애하는 Mr. Bailey,
감사해요. 질문이 하나 더 있습니다. JMP에서 표준 최소 제곱 회귀와 함께 K-겹 교차 검증을 사용할 수 있습니까?
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.감사합니다. 예, 아래 스크립트만 찾았습니다. 하지만 부트스트랩 포레스트 모델과 결합할 수는 없었습니다.
obj = Open( "$SAMPLE_DATA/Car Poll.jmp" ) << Partition(
Y( :country ),
X( :sex, :marital status, :age, :type, :size )
);
obj << K Fold Crossvalidation( 5 );
obj << Go;
도움을 주셔서 감사합니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.JMP에서 Bootstrap Forest 모델 선택과 함께 K-겹 교차 검증을 사용할 수 없습니다. 홀드아웃 세트만 사용할 수 있습니다.
대부분의 예측 모델 유형은 대규모 데이터 세트를 위한 것임을 기억하십시오. 데이터가 모델 가정을 충족하는 경우 다중 회귀를 사용할 수도 있습니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.제안해 주셔서 감사합니다. 우리는 k-fold를 시도했고 우리의 경우 더 잘 작동합니다. 그러나 새로운 문제가 발생합니다. 부트스트랩 포리스트에 대해 어떻게 k-겹 교차 검증을 수행할 수 있습니까?
감사해요.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.제안해 주셔서 감사합니다. 예, 1000번의 반복은 데이터 세트의 1000번 무작위 분할이 있음을 의미합니다. 그리고 유효성 검사 세트의 R 제곱이 훈련 세트보다 항상 크지는 않다는 것이 사실입니다(그림 참조). 그러나 검증 세트 이외의 R 제곱의 평균은 모든 응답 매개변수에 대한 훈련 세트의 평균보다 항상 큽니다. 지금 k-fold로 분석을 하고 있습니다. 어떤 일이 일어날지 봅시다.
Mr. Bailey가 언급했듯이:
"트레이닝 세트는 모델 매개변수를 추정하는 데 사용됩니다. 검증 세트는 후보 모델에서 선택하는 데 사용됩니다. 테스트 세트는 선택한 모델을 평가하는 데 사용됩니다."
위 문장과 관련하여 두 가지 질문이 있습니다.
- 교육 과정에서 몇 명의 후보자가 준비됩니까? 후보자는 어떻게 계산합니까? 부스팅에 의해 결정되는가?
- 소프트웨어는 어떻게 최상의 후보를 선택합니까? 최고의 후보에 대한 기준은 무엇입니까? 유효성 검사 세트에 대해 최상의 R Square를 제공하는 후보입니까?
k-fold에 관해서도 두 가지 질문이 있습니다.
- 200개의 데이터 포인트가 있고 훈련 세트와 검증 세트(겹치지 않음)에 대해 90%/10%의 분할을 사용했다면 아마도 180개의 데이터 포인트로 구성된 훈련 세트와 20개의 데이터 포인트로 구성된 검증 세트를 얻게 될 것입니다. 10배 검증 방법을 사용하는 경우에도 마찬가지입니다. 맞습니까? k-폴드 검증과 90%/10% 검증의 차이점은 무엇입니까?
- K-겹 교차 검증에서 다시 한 번 최고의 후보에 대한 기준은 무엇입니까? 최적화된 모델을 어떻게 찾을 수 있습니까? 90%/10% 검증과 동일한 방식인가요?
설명서에서 나는 “K-겹 교차 검증이 사용될 때 설명된 절차는 페널티 매개변수의 각 시도 값에 대한 데이터의 K 훈련-홀드백 파티션 각각에 적용됩니다. 모델이 모든 폴드에 맞춰진 후 검증 세트 우도는 다음과 같습니다. 합계 각 접기의 매개변수 추정치를 사용하여 접기 전체에 걸쳐. 이는 페널티 매개변수 선택 시 최적화된 값입니다. 매개변수 추정치가 전체 데이터 세트에서 최상의 값을 제공하는 폴드는 플랫폼에서 보관하고 사용하는 매개변수 추정치입니다. 가장 좋은 모델로 이어진 훈련-홀드백 쌍은 보고서에서 모델 진단이 제공되는 쌍입니다.” 이것은 가장 큰 모델을 의미합니까? 합산 우도 최고입니까?
다시 감사합니다.

Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.확실하지는 않지만 주장이 우월하지 않다고 생각합니다. 훈련 세트와 검증 세트 사이의 평균 R 제곱의 차이를 기반으로 합니다. 사실 샘플링 분포가 겹치기 때문에 우월할 수 없습니다. R 제곱의 샘플링 분포를 근사화하기 위해 정규 분포를 사용하여 명시된 분포 매개변수 값을 사용하여 정규 PDF의 다음 두 그래프를 얻습니다.

참고: R 스퀘어는 경계 [0,1] 때문에 정상적으로 분포되지 않는다는 것을 알고 있지만 이 경우 근사치가 충분히 잘 작동하기 위해 두 경계에서 충분히 멀리 떨어져 있습니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.귀하의 설명을 이해하면 약간 당황합니다.1000번 반복한다는 것은 데이터 세트의 1000번 무작위 분할에서 신경망을 실행했다는 의미입니까?그렇다면 모든 분할이 교육 데이터보다 유효성 검사 데이터에서 더 나은 성능을 가져온다면 이상하다고 생각합니다.샘플 크기와 기능 수에 대한 우려는 그러한 방식으로 작동하는 반복의 수(심지어 많음)를 설명할 수 있지만 아마도 모두 1000개는 아닐 것입니다. 내가 당신을 올바르게 이해하고 있다면 그것은 당신의 데이터와 당신이 가진 특정 기능.기꺼이 데이터를 게시하면 더 많은 도움을 드릴 수 있지만 귀하가 한 일을 이해하지 못하는 경우가 아니면 귀하가 말한 내용을 기반으로 생각이 소진되는 것 같습니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.제안해 주셔서 감사합니다. 예측 변수로 사용할 7가지 기능이 있습니다. 그리고 어떤 경우에는 검증 세트에 대해 Std가 더 크지 않습니다. 평균 R2train = .56, SDtrain = .11; 평균 R2val = .70, SDval = .11.
그리고 우리는 또한 12개의 예측 변수로 시도했습니다. 결과의 패턴은 동일합니다. 1000회 반복 검증 세트의 평균 R 제곱은 항상 훈련 세트보다 컸습니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.학습 세트는 모델 매개변수를 추정하는 데 사용됩니다. 검증 세트는 후보 모델에서 선택하는 데 사용됩니다. 테스트 세트는 선택한 모델을 평가하는 데 사용됩니다.
나는 동의한다 @dale_lehman 홀드아웃 교차 검증 방법을 사용하기에는 데이터 세트가 너무 작습니다. K-폴드 교차 검증을 추천합니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.얼마나 많은 기능이 있습니까?작은 샘플 크기에 대해 여전히 의심이 듭니다.검증 데이터의 경우 R-제곱과 표준 편차가 모두 더 큽니다.기능이 충분하면 테스트 데이터로 이월되지 않는 상대적으로 작은 유효성 검사 세트(30% 분할로도)에 "적합"할 수 있다고 생각합니다.아마도 mbailey가 이에 대해 약간의 설명을 할 수 있을 것입니다. 하지만 검증 데이터는 신경망을 튜닝하는 데 사용되므로 모델링 프로세스에서 전혀 사용되지 않는 테스트 데이터와 동일하지 않은 것 같습니다.따라서 데이터 포인트가 적고 기능이 충분하면 검증 데이터를 매우 잘 맞출 수 있지만 테스트 데이터에서는 성능이 좋지 않습니다.
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.감사합니다. 내 연구를 더 설명하려면:
반복할 때마다 교육 및 검증 세트에서 새로운 분할을 사용했습니다.
훈련 및 검증에 대한 결과가 있습니다: 평균 R2트레인 = .58, SD트레인 = .09; 평균 R2val = .71, SDval = .12
응답 매개변수는 연속 변수입니다.
패턴은 70%/30% 분할에 대해 동일합니다.그래서 유효성 검사에서 어떤 일이 일어나는지 잘 이해하지 못했습니다. 모델을 테스트하는 것 이상의 것이 있어야 합니까?
예를 들어 3단계 절차(훈련, 검증 및 테스트)를 사용하는 경우 검증 세트에 대한 평균 R 제곱이 훈련에 대한 것보다 다시 높지만 테스트에 대한 드롭다운이 있습니다. 테스트와 유효성 검사의 차이점은 무엇입니까?
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.K-폴드 교차 검증은 특히 샘플 크기가 작은 경우를 위한 것임을 언급하는 것을 잊었습니다. 유효성 검사 홀드아웃 세트 대신 이 방법을 사용해 보셨습니까?
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.귀하의 연구에 대한 저의 이해를 확인하십시오. 각 1000개의 교육 이벤트 전에 교육 및 검증 보류 세트에 행을 다시 할당했습니까?
JMP는 검증 홀드아웃 세트에 대한 교육을 최적화하지 않습니다. 교육이 완료된 후에만 검증 홀드아웃 세트를 평가합니다.
트레이닝 및 검증 홀드아웃 세트에 대한 R 제곱 샘플 통계의 평균 및 표준편차는 무엇입니까?
응답의 성격은 무엇입니까? 연속적입니까? 범주적입니까? 그렇다면 응답 수준은 몇 단계입니까?
Re: Neural nets_validation 세트가 학습 세트보다 더 높은 모델 적합도를 얻습니다.이것이 일반적인 결과가 아니라는 것이 맞습니다. 비록 일어날 수 있고 실제로 일어나고 있지만 말입니다.이 경우에는 주로 초기 분할의 결과라고 생각합니다.특히 관찰 수가 적은 10% 유효성 검사 세트는 유효성 검사 결과가 매우 적은 수의 데이터 포인트에 적용된 모델에 대한 것임을 의미합니다.신경망은 문제를 복잡하게 만들 수 있지만 OLS 모델도 20개의 데이터 포인트를 잘 맞출 수 있습니다.교육/검증 분할을 70%/30%로 변경하면(특히 더 많은 데이터가 있는 경우) 이 이상 현상이 사라질 것이라고 믿습니다.