트레이딩의 머신러닝: 이론, 모델, 실전 및 알고리즘 트레이딩 - 페이지 486

 
나는 누군가가 어떻게 계산하는지 모르지만 추측하지 않은 옵션의 백분율을 계산합니다.
예를 들어, 이 옵션에 따르면 1000개의 입력이 있었고 그 중 600개는 플러스(추측)로, 400개는 마이너스(추측하지 않음)에서 작동했습니다. 따라서 오류는 모든 옵션과 관련하여 추측되지 않은 옵션의 수입니다. 이 예에서는 오류 = 400/1000 = 0.4입니다.

감사합니다.
 
안드레이 키셀료프 :
나는 누군가가 어떻게 계산하는지 모르지만 추측하지 않은 옵션의 백분율을 계산합니다.
예를 들어, 이 옵션에 따르면 1000개의 입력이 있었고 그 중 600개는 플러스(추측)로, 400개는 마이너스(추측하지 않음)에서 작동했습니다. 따라서 오류는 모든 옵션과 관련하여 추측되지 않은 옵션의 수입니다. 이 예에서는 오류 = 400/1000 = 0.4입니다.

감사합니다.

여기에서 내가 이해한 대로 최종 오류는 다음을 제거하면 어떤 이유로 입력 수를 곱한 예제 수로 나뉩니다.

 return (result/(npoints*df.m_nclasses));

다시 곱하면 0.5578064232767638과 같이 매우 이해하기 쉬운 결과가 나타납니다. :)


 
막심 드미트리예프스키 :

여기에서 내가 이해한 대로 최종 오류는 다음을 제거하면 어떤 이유로 입력 수를 곱한 예제 수로 나뉩니다.

다시 곱하면 0.5578064232767638과 같이 매우 이해하기 쉬운 결과가 나타납니다. :)


더 가능성이
 return (result/( npoints *df.m_nclasses));
...에서 추측된 점 유형의 _Point(points)를 의미하거나 그 반대의 경우도 마찬가지입니다.

감사합니다.
 
안드레이 키셀료프 :
더 가능성이
...에서 추측된 점 유형의 _Point(points)를 의미하거나 그 반대의 경우도 마찬가지입니다.

감사합니다.

아니요, 여기서 npoints는 입력 벡터의 길이를 의미합니다. :)

그리고 nclasses는 출구의 수입니다. 오, 심지어 어떻게

 //+------------------------------------------------------------------+
//| This subroutine builds random decision forest.                   |
//| INPUT PARAMETERS:                                                |
//|     XY          -   training set                                 |
//|     NPoints     -   training set size, NPoints>=1                 |
//|     NVars       -   number of independent variables, NVars>=1    |
//|     NClasses    -   task type:                                    |
//|                     * NClasses=1 - regression task with one      |
//|                                    dependent variable            |
//|                     * NClasses>1 - classification task with      |
//|                                    NClasses classes.             |
//|     NTrees      -   number of trees in a forest, NTrees>=1.      |
//|                     recommended values: 50-100.                  |
//|     R           -   percent of a training set used to build      |
//|                     individual trees. 0<R<=1.                    |
//|                     recommended values: 0.1 <= R <= 0.66.        |
//| OUTPUT PARAMETERS:                                               |
//|     Info        -   return code:                                 |
//|                     * -2, if there is a point with class number  |
//|                           outside of [0..NClasses-1].            |
//|                     * -1, if incorrect parameters was passed     |
//|                           (NPoints<1, NVars<1, NClasses<1,       |
//|                           NTrees<1, R<=0 or R>1).                |
//|                     *  1, if task has been solved                |
//|     DF          -   model built                                  |
//|     Rep         -   training report, contains error on a training|
//|                     set and out-of-bag estimates of              |
//|                     generalization error.                        |
//+------------------------------------------------------------------+
static void CDForest::DFBuildRandomDecisionForest(CMatrixDouble &xy,
                                                   const int npoints,
                                                   const int nvars,
                                                   const int nclasses,
                                                   const int ntrees,
                                                   const double r, int &info,
                                                  CDecisionForest &df,
                                                  CDFReport &rep)

저것들. 최종 오류에는 출력 수를 곱한 훈련 샘플의 길이를 곱해야 합니다(1이면 출력 생략).

누군가에게 유용한 mb

아무 것도 섞지 않고 올바르게 했으면 좋겠습니다 :) 적어도 오류의 의미는 이해할 수 있게 되었습니다.
 
막심 드미트리예프스키 :

아니요, 여기서 npoints는 입력 벡터의 길이를 의미합니다. :)

그런 다음 제수가 입력 매개변수이기 때문에 결과가 무엇인지 확인해야 합니다.

감사합니다.
 
안드레이 키셀료프 :
그런 다음 제수가 입력 매개변수이기 때문에 결과가 무엇인지 확인해야 합니다.

감사합니다.

간단히 말해서 이것은 모든 예제에 대한 평균 오류일 뿐이지만 도대체 무엇이 필요한가.. rezult는 전체 오류만 반환한 다음 샘플의 예제 수로 나눕니다(제거 가능)

 
막심 드미트리예프스키 :

간단히 말해서 이것은 모든 예제에 대한 평균 오류일 뿐인데 도대체 무엇이 필요한가.. rezult는 전체 오류만 반환한 다음 샘플의 예제 수로 나눕니다.

따라서 제수를 곱하여 원래 상태로 되돌려야 합니다.

Т.е. итоговую ошибку нужно домножить на длину обучающей выборки умноженную на кол-во выходов (если 1 то выходы опускаем)



감사합니다.

 
안드레이 키셀료프 :

따라서 제수를 곱하여 원래 상태로 되돌려야 합니다.



감사합니다.


뭔가 수정하고 아이처럼 기뻐할 때의 그 느낌 :)

 
막심 드미트리예프스키 :

뭔가 수정하고 아이처럼 기뻐할 때의 그 느낌 :)

찬장을 들여다보고 꽃병에서 사탕을 꺼냅니다.

감사합니다.
 
막심 드미트리예프스키 :

이론상 랜덤 포레스트 에서는 약간의 오차가 있어야 합니다. 왜냐하면 의사 결정 트리에 구축할 때 모든 변수가 사용되며 신경망에서와 같이 메모리 사용에 제한이 없기 때문입니다(뉴런 수). 여기에서는 레벨 제한, 나무 가지치기 또는 자루에 넣기와 같은 개별 작업만 사용하여 결과를 "흐리게"할 수 있습니다. alglib의 MQ 구현에 크롭이 있는지 모르겠지만 배깅이 있습니다.

//      R           -   percent of a training set used to build      |
//|                     individual trees. 0<R<=1.                    |
//|                     recommended values: 0.1 <= R <= 0.66.  

이 변수가 1보다 작게 만들어지면 오류가 증가해야 합니다.