혼돈에 패턴이 있을까요? 찾아보겠습니다! 특정 샘플의 예에 대한 머신 러닝. - 페이지 18

 
Aleksey Vyazmikin #:

랜덤은 고정되어 있습니다 :) 이 시드는 까다로운 방식으로 계산되는 것 같습니다. 즉, 모델 구축에 허용되는 모든 예측자가 포함될 수 있으며 그 수를 변경하면 선택 결과도 변경됩니다.

시작 시드는 고정되어 있습니다. 그리고 HSC를 호출할 때마다 새로운 번호가 나타납니다. 그렇기 때문에 예측자 수가 달라져도 전체 예측자 수와 동일한 예측자에 DST가 떨어지지 않습니다.

알렉세이 뱌즈미킨 #:

이것이 왜 적합 하다고 생각하시나요? 저는 시험 샘플이 기차에서 시험보다 시험과 더 다르다고 생각하는 경향이 있습니다. 즉, 예측 변수의 확률 분포가 다르다는 것입니다.

시험에서 잘 맞기를 바라며 가장 좋은 시험 변형을 선택합니다. 가장 좋은 시험에 따라 예측 변수를 선택합니다. 그러나 그들은 시험에 대해서만 최고입니다.

알렉세이 뱌즈미킨 #:

"err_" 메트릭이란 무엇인가요?

err_ oob - OOB에 대한 오류 (시험이 있습니다), err_trn - 기차에 대한 오류. 이 공식을 통해 두 샘플 사이트에서 공통적으로 발생하는 오류를 얻을 수 있습니다.

그건 그렇고, 토론에서 우리는 테스트와 시험을 바꿨습니다. 처음에는 테스트에 대한 중간 점검과 시험에 대한 최종 점검을 계획했습니다. 그러나 문맥을 보면 이름이 바뀌었지만 무엇이 무엇인지 명확하게 알 수 있습니다.

 
elibrarius #:

시작 번호는 고정되어 있습니다. 그리고 DST를 호출할 때마다 새로운 번호가 나타납니다. 따라서 예측자 수와 DST의 수가 다르면 전체 예측자 수와 동일한 예측자에 해당되지 않습니다.

아니요, 훈련에 사용된 예측자가 같은 수에 남아 있으면 변형이 재현됩니다.

엘리바리우스 #:

글쎄요, 시험에서 좋은 점수를 받기를 바라면서 최고의 시험 변형을 선택합니다. 예측자는 최고의 시험에 의해 선택됩니다. 그러나 그들은 시험에 대해서만 최고입니다.

이 변형은 시험과 시험에서 적절한 이익으로 가장 균형 잡힌 것이 었습니다. 아래 그림은 처음에 선택한 모델 인 "Was"와 10k 훈련 후 가장 균형 잡힌 모델 인 "Become"입니다. 일반적으로 결과가 더 좋고 더 적은 수의 예측 변수가 사용되므로 노이즈가 제거됩니다. 여기서 문제는 훈련 전에 이러한 노이즈를 피하는 방법입니다.


따라서 논리는 테스트에서 훈련이 중단되는 것이므로 훈련에 전혀 참여하지 않는 샘플보다 긍정적 인 결과가있을 가능성이 더 높으므로 후자에 중점을 둡니다.

엘리바리우스 #:

err_ oob - OOB에 대한 오류 (시험이 있습니다), err_trn - trn에 대한 오류. 이 공식을 통해 두 샘플 사이트에서 공통적으로 발생하는 오류를 확인할 수 있습니다.

내 말은, "오류"가 어떻게 계산되는지 모르겠습니다 - 정확도인가요? 그리고 기본 접근 방식 시험에서는 알 수 없기 때문에 왜 시험이 아니라 테스트가 아닌지.

엘리바리우스 #:

그건 그렇고, 우리는 토론에서 테스트와 시험을 전환했습니다. 처음에는 시험에 대한 중간 시험과 시험에 대한 최종 시험을 치를 계획이었습니다. 그러나 문맥에 따라 이름을 변경했지만 무엇이 무엇인지 명확합니다.

나는 아무것도 바꾸지 않았습니다 (어딘가에 설명했을까요?) - 훈련-훈련, 테스트-훈련 중지 제어, 시험-어떤 종류의 훈련과도 관련이없는 섹션입니다.

저는 단지 평균 수익을 포함하여 모든 모델의 평균으로 접근 방식의 효과를 평가하고 있습니다. 좋은 결과를 얻은 가장자리보다 얻을 가능성이 더 높습니다.

 
Aleksey Vyazmikin #:
그리고 훈련을 시작하기 전에 그 소음을 피하는 방법에 대한 질문이 있습니다.

분명히 할 수 없습니다. 노이즈를 걸러내고 올바른 데이터에서 학습하는 것이 바로 이 작업입니다.

알렉세이 뱌즈미킨 #:

"오류"가 어떻게 고려되는지 모르겠습니다. 정확도인가요?

테스트를 통해 훈련에 대한 오류를 합산/요약하는 방법입니다. 모든 종류의 오류를 합산할 수 있습니다. 그리고 (1- 정확도), RMS, AvgRel, AvgCE 등이 있습니다.

알렉세이 비야즈미킨 #:

나는 아무것도 변경하지 않았습니다(어딘가에서 나 자신을 설명했을까요?)-훈련-훈련, 테스트-훈련 중지 제어 및 시험-어떤 종류의 훈련에도 관여하지 않는 섹션에서 그런 방식입니다.

사진에서 시험은 시험을 의미하는 것 같았습니다
예를 들어 여기.

그리고 위의 표에서 시험 결과는 테스트보다 낫습니다. 확실히 가능하지만 그 반대 여야합니다.

 
elibrarius #:

분명히 그렇지 않습니다. 노이즈를 제거하고 올바른 데이터를 통해 학습하는 것이 과제입니다.

그렇지 않으면 모두 쓸모없거나 무작위일 뿐입니다.

엘리바리우스 #:

이것은 테스트와 함께 훈련에 대한 오류를 합산/요약하는 방법입니다. 모든 종류의 오류를 합산할 수 있습니다. 그리고 (1-정확도), RMS, AvgRel, AvgCE 등도 가능합니다.

알았어요, 제 데이터에서는 작동하지 않지만 적어도 상관관계가 있어야 합니다.)

엘리바리우스 #:

사진에서 시험이 테스트를 의미하는 것 같았습니다
예를 들어 여기

그리고 위의 표에서 시험 결과가 시험보다 낫습니다.

예, 시험이 모델러에게 더 많은 돈을 벌 가능성이 더 높다는 것이 밝혀졌습니다-나는 상황을 완전히 이해하지 못합니다.

불행히도 이제 어느 시점에서 전체 샘플 (행)을 혼동했고 이제 2022 년의 예제가 기차에 있다는 것을 알았습니다 :(.

모든 것을 다시 실행하겠습니다. 몇 주 안에 결과가 나올 것 같습니다. 전체 그림이 바뀌는 지 살펴 보겠습니다.

 
Aleksey Vyazmikin #:
안타깝게도 이제 어느 시점에서 전체 샘플(행)을 혼동한 것을 발견했고 이제 기차에는 2022년의 예가 포함되어 있습니다 :(

다시 해보겠습니다 - 몇 주 안에 결과가 나올 것 같습니다 - 전체적인 그림이 바뀌는지 확인하겠습니다.

시험으로 평가하든 시험으로 평가하든 아무런 차이가 없습니다. 중요한 것은 평가 사이트가 교육이나 초기 평가에 사용되지 않았다는 것입니다.

2주. 당신의 체력에 놀랐습니다. 저도 3시간 동안 계산하는 게 짜증나네요..... 그리고 이미 당신과 거의 같은 총 5년을 MO에 보냈습니다.

요컨대, 은퇴 후 무언가를 벌기 시작할 것입니다 )))) 아마도요.

 
Aleksey Vyazmikin #:

안타깝게도 어느 순간 전체 샘플(행)을 혼동하여 이제 기차가 2022년의 예시로 채워진 것을 발견했습니다.

저는 모든 것을 하나의 순차 배열로 붙였습니다. 그런 다음 적절한 양을 분리합니다. 이렇게 하면 아무것도 섞이지 않습니다.

 
elibrarius #:

시험으로 평가하든 시험으로 평가하든 아무런 차이가 없습니다. 중요한 것은 평가 사이트가 교육이나 초기 평가에 사용되지 않았다는 것입니다.

Maxim과 같이 최종 훈련을하는 것이 더 나은지, 통제를 위해 선사 시대 샘플을 가져 오는 것이 더 나은지, 아니면 최고의 모델에서 평균적으로 사용 가능한 전체 샘플을 가져 와서 나무 수를 제한하는 것이 더 나은지 궁금합니다.

엘리바리우스 #:

2 주... 당신의 체력에 놀랐습니다. 저도 3시간 동안 계산하는 게 짜증나네요..... 그리고 이미 당신과 거의 같은 총 5 년을 MO에 보냈습니다.

물론 항상 더 빨리 결과를 얻고 싶겠죠. 나는 내 계산이 다른 것들을 방해하지 않도록 하드웨어를로드하려고 노력합니다. 나는 종종 주 작업 컴퓨터가 아닌 다른 컴퓨터를 사용합니다. 동시에 다른 아이디어를 코드로 구현할 수 있습니다. 코드에서 확인할 시간보다 더 빨리 아이디어를 떠올립니다.

엘리바리우스 #:

요컨대, 우리는 은퇴 후 무언가를 벌기 시작할 것입니다 )))) 아마도요.

동의합니다 - 전망이 슬프다. 비록 느리긴 하지만 연구가 진전을 보지 못했다면 아마 지금쯤이면 작업을 끝냈을 것입니다.

 
elibrarius #:

저는 모든 것을 하나의 순차 배열로 붙입니다. 그런 다음 그 배열에서 적절한 양을 분리합니다. 이렇게 하면 아무것도 섞이지 않습니다.

예, 샘플을 바이너리 파일로 변환했고 스크립트에서 실수로 샘플 혼합을 담당하는 확인란을 넣었으므로 문제가되지 않으며 CatBoost에는 3 개의 개별 샘플이 필요하지만 내장 된 교차 유효성 검사가 있지만 행 범위에서 선택하지 않았습니다.

 
Aleksey Vyazmikin #:

또한 Maxim과 같이 최종 훈련을 할 때 제어를 위해 선사 시대 샘플을 가져오는 것이 더 나은지, 아니면 최고의 모델에서 평균적으로 사용 가능한 전체 샘플을 가져와 나무 수를 제한하는 것이 더 나은지 궁금합니다.

저에게 사전 훈련과 테스트는 평균적으로 가장 좋은 하이퍼파라미터(나무 수 등)와 예측자를 선택할 수 있는 기회입니다. 테스트 없이도 트레이닝을 통해 훈련하고 즉시 트레이딩에 들어갈 수 있습니다.

선사 시대 샘플링의 아이디어는 패턴이 변하지 않으면 작동 할 것입니다. 그러나 변경 될 위험이 있습니다. 그래서 저는 위험을 감수하고 향후 샘플링을 테스트하지 않는 것을 선호합니다.

또 다른 질문은 이 선사시대 샘플이 얼마나 오래 전의 것일까, 6개월 전일까 아니면 15년 전일까 하는 것입니다. 6개월 전은 괜찮을지 모르지만 15년 전의 시장은 지금과 같지 않습니다. 하지만 확실하지 않습니다. 어쩌면 수십 년 동안 지속되어 온 패턴이 있을 수도 있습니다.
 

여기서 설명한 것과 동일한 알고리즘을 사용하여 얻은 결과를 설명하되 샘플이 혼합되지 않은 상태, 즉 시간순으로 유지된 상태로 설명하겠습니다.

제가 변경한 유일한 점은 이제 10000개의 모델에 대한 학습이 제외된 예측자가 포함된 전체 샘플이 아니라 제외된 예측자가 포함된 열이 제거된 재구성된 샘플에서 수행되어 학습 프로세스가 빨라졌다는 것입니다(대용량 파일을 펌핑하는 데 많은 시간이 걸리는 것 같습니다). 이러한 변경 덕분에 6단계의 예측자 스크리닝을 일관되게 수행할 수 있었습니다.

그림 1: 샘플의 모든 예측자에 대해 100개의 모델을 학습시킨 후 샘플 테스트의 수익 히스토그램.


그림 2: 선택한 샘플 예측자에 대해 10,000개의 모델을 학습시킨 후의 시험 샘플 수익 히스토그램 - 1단계.


그림3: 선택한 샘플 예측자에 대해 10,000개의 모델을 학습시킨 후의 시험 샘플 수익 히스토그램 - 2단계.


그림 4: 선택한 샘플 예측자에 대해 1만 개의 모델을 학습시킨 후의 시험 샘플에 대한 수익 히스토그램 - 3단계.

그림 5: 선택한 샘플 예측자에 대해 10,000개의 모델을 학습시킨 후의 시험 샘플에 대한 수익 히스토그램 - 4단계.

그림 6: 선택한 샘플 예측자에 대해 10,000개의 모델을 학습시킨 후의 시험 샘플에 대한 수익 히스토그램 - 5단계.


그림 7: 선택한 샘플 예측자에 대해 10,000개의 모델을 학습시킨 후 검사 샘플의 수익 히스토그램 - 6단계.



그림 8: 예측자(특징) 수가 감소하는 후속 샘플을 형성하기 위해 선택된 모델의 특성이 포함된 표입니다.


예측자 선택의 6번째 단계에서 얻은 다음과 같은 특성을 가진 모델을 고려해 보겠습니다.


그림 9: 모델 특성.

그림 10. 샘플 검사에 대한 모델을 분류 확률에 대한 분포로 시각화한 결과(X축 - 모델에서 얻은 확률, Y축 - 전체 샘플의 백분율).

그림 11. 시험 샘플에 대한 모델의 균형.


이제 예측자 선택의 6단계에서 얻은 합리적으로 좋은 모델과 매우 나쁜 모델의 예측자를 비교해 보겠습니다.


그림 12. 모델의 특성 비교.

이제 어떤 예측 변수가 재무 결과에 나쁜 영향을 미치고 학습을 망치는지 확인할 수 있을까요?

그림 13. 두 모델에서 예측자의 가중치.


그림 13을 보면 사용 가능한 예측자 중 하나를 제외하고 거의 모든 예측자가 사용되고 있지만 이것이 문제의 근원은 아닌 것 같습니다. 그렇다면 사용량의 문제가 아니라 모델을 구축할 때의 사용 순서가 문제인 것일까요?

인덱스 대신 서수로 유의도를 지정하여 두 테이블을 비교하고 모델에서 이 유의도가 얼마나 다르게 순위가 매겨지는지 확인했습니다.

그림 14: 두 모델에서 예측자의 중요도(사용)를 비교한 표입니다.

더 나은 시각화를 위한 우물과 히스토그램 - 마이너스 편차는 두 번째(수익성이 없는) 모델의 예측자가 나중에 사용되었고, 플러스 편차는 더 일찍 사용되었음을 의미합니다.


그림 15. 모델에서 예측자의 중요도 편차.

편차가 심한 것을 볼 수 있는데, 이것이 사실일 수도 있는데 이를 어떻게 찾거나 증명할 수 있을까요? 아마도 모델을 벤치마크와 비교하는 복잡한 접근 방식이 필요할 것 같은데, 어떤 아이디어가 있으신가요?

첫 번째 모델에 대한 예측 변수의 중요도, 즉 감소하는 계수를 고려하여 전반적인 편향을 설명할 수 있는 일종의 혼란 지수가 있을까요?


어떤 결론을 도출할 수 있을까요?

제 생각에는 이런 것 같습니다:

1. 과거 샘플에서 결과가 훨씬 더 좋았는데, 이는 샘플의 연대기를 혼합하여 미래의 이벤트에 대한 정보가 "누출"되었기 때문이라고 생각합니다. 뒤섞인 샘플과 일반 샘플 중 어느 쪽이 모델이 더 안정적일지는 의문입니다.

2. 모델에서 추가 적용을 위해 예측 변수의 중요도 구조를 구축해야합니다. 즉, 숫자 외에도 논리를 배치해야합니다. 그렇지 않으면 적은 수의 예측 변수에서도 모델 결과의 분산이 너무 큽니다.

사유: