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

 
박사 상인 :

유전학은 올바른 매개변수를 찾기 위해 제한된 수 의 함수 호출을 시도합니다. 이 매개변수에 대한 옵션의 수를 좁히면(200 대신 30), 유전학은 1에서 30까지 해당 지역을 더 자세히 탐색할 수 있습니다. 그리고 이것은 정확합니다. 일부 모델 매개변수를 검색하기 위한 특정 한계를 알고 있다면 유전학이 이 정보를 즉시 제공하는 것이 좋습니다.


또는:

코드에 이 줄(녹색)을 추가하면 유전학은 기본 50개 대신 500명의 개체를 모집단에 갖게 됩니다. 그리고 10배 더 많은 모델을 확인할 수 있습니다(그러나 스크립트 실행 시간은 10배 증가). 가능한 많은 모델 매개변수 조합을 정렬합니다. 최대에서도. 뉴런의 수는 200으로, 유전학도 0.85로 더 나은 결과를 찾거나 적어도 그것에 근접할 수 있다고 생각합니다.

무슨 유전자를 말씀하시는지 이해가 안됩니다. ELM에는 유전학이 없습니다. ELM 이론이나 elmNN 패키지 설명을 살펴보십시오.

"ELM 알고리즘은 기존 기울기 기반 학습 알고리즘( 역전파처럼).

ELM을 사용한 SLFN 교육은 3단계 학습 모델입니다.

주어진 훈련 세트 P = {(xi , ti )|xi ER , ti ER , i = 1,..., N}, 은닉 노드 출력 함수 G(a, b, x), 은닉 노드 수 L

1) 은닉 노드 매개변수(ai , bi ), i = 1,..., L을 무작위로 할당합니다. 이는 입력 레이어와 은닉 레이어 사이의 호 가중치와 은닉 레이어 바이어스가 무작위로 생성됨을 의미합니다.

2) 사용 가능한 활성화 함수 중 하나를 사용하여 은닉층 출력 행렬 H를 계산합니다.

3) 출력 가중치 B를 계산합니다. B = ginv(H) %*% T(행렬 곱하기), 여기서 T는 훈련 세트의 목표 출력입니다.

ginv(H)는 은닉층 출력 행렬 H의 무어-펜로즈 일반화 역입니다. 이것은 MASS 패키지 함수 ginv에 의해 계산됩니다.

SLFN이 훈련되면 일반 테스트 세트의 출력은 단순히 Y = H %*% B(행렬 곱셈)입니다. 두드러진 특징:

- ELM의 학습 속도는 매우 빠릅니다.

- 미분 가능한 활성화 함수에 대해서만 작동하는 기존의 그래디언트 기반 학습 알고리즘과 달리 ELM은 모든 유계 비상수 조각별 연속 활성화 함수에 대해 작동합니다.

- 로컬 최소값, 부적절한 학습률 및 과적합 등과 같은 여러 문제에 직면하는 기존의 그래디언트 기반 학습 알고리즘과 달리 ELM은 이러한 사소한 문제 없이 간단하게 솔루션에 도달하는 경향이 있습니다.

- ELM 학습 알고리즘은 다른 인기 있는 학습 알고리즘인 신경망 및 지원 벡터 머신보다 훨씬 간단해 보입니다."

적은 수의 뉴런이 있어도 두 개의 동일한 신경망을 얻는 것은 불가능합니다. 연속 출력을 클래스로 변환하기 위한 임계값을 잘못 정의하고 있습니다. 임계값 = 0.5 최악의 경우. 허용 가능 = 중앙값/ 하지만 더 고급 항목이 있습니다.

행운을 빕니다

 
막심 드미트리예프스키 :

오, 읽을 것이 있을 것입니다. 그렇지 않으면 그것이 무엇인지 잊어버렸습니다. 아니면 오히려 GBM이 XGboost와 어떻게 다른지 잊었거나..

어떤 모델이든 부스트할 수 있는 것처럼 gbb, 나무에서처럼 xgb

숲이 만들어지는 배깅보다 부스팅이 조금 더 낫다는 걸 압니다. 그리고 재교육은 어떤지 모르겠습니다.


과적합은 모델 유형 과 아무 관련이 없습니다.

모델은 다음 두 가지 경우에 재학습됩니다.

  • 노이즈 예측 변수의 존재가 주요 문제이며 예측 변수를 선택해야만 해결됩니다.
  • 모델의 너무 정확한 피팅 - 일반적으로 작은 샘플에서 매개 변수의 "최적화". 이러한 오버트레이닝은 개발자의 경험으로 해결됩니다.

 
산산이치 포멘코 :

SanSanych, 히스테리를 멈춰라

 
블라디미르 페레르벤코 :

무슨 유전자를 말씀하시는지 이해가 안됩니다. ELM에는 유전학이 없습니다. ELM 이론이나 elmNN 패키지 설명을 살펴보십시오.

"ELM 알고리즘은 기존 기울기 기반 학습 알고리즘( 역전파와 같은).

ELM을 사용한 SLFN 교육은 3단계 학습 모델입니다.

주어진 훈련 세트 P = {(xi , ti )|xi ER , ti ER , i = 1,..., N}, 은닉 노드 출력 함수 G(a, b, x), 은닉 노드 수 L

1) 은닉 노드 매개변수(ai , bi ), i = 1,..., L을 무작위로 할당합니다. 이는 입력 레이어와 은닉 레이어 사이의 호 가중치와 은닉 레이어 바이어스가 무작위로 생성됨을 의미합니다.

2) 사용 가능한 활성화 함수 중 하나를 사용하여 은닉층 출력 행렬 H를 계산합니다.

3) 출력 가중치 B를 계산합니다. B = ginv(H) %*% T(행렬 곱하기), 여기서 T는 훈련 세트의 목표 출력입니다.

ginv(H)는 은닉층 출력 행렬 H의 무어-펜로즈 일반화 역입니다. 이것은 MASS 패키지 함수 ginv에 의해 계산됩니다.

SLFN이 훈련되면 일반 테스트 세트의 출력은 단순히 Y = H %*% B(행렬 곱셈)입니다. 두드러진 특징:

- ELM의 학습 속도는 매우 빠릅니다.

- 미분 가능한 활성화 함수에 대해서만 작동하는 기존의 그래디언트 기반 학습 알고리즘과 달리 ELM은 모든 유계 비상수 조각별 연속 활성화 함수에 대해 작동합니다.

- 로컬 최소값, 부적절한 학습률 및 과적합 등과 같은 여러 문제에 직면하는 기존의 그래디언트 기반 학습 알고리즘과 달리 ELM은 이러한 사소한 문제 없이 간단하게 솔루션에 도달하는 경향이 있습니다.

- ELM 학습 알고리즘은 다른 인기 있는 학습 알고리즘인 신경망 및 지원 벡터 머신보다 훨씬 간단해 보입니다."

적은 수의 뉴런이 있어도 두 개의 동일한 신경망을 얻는 것은 불가능합니다. 연속 출력을 클래스로 변환하기 위한 임계값을 잘못 정의하고 있습니다. 임계값 = 0.5 최악의 경우. 허용 가능 = 중앙값/ 하지만 더 고급 항목이 있습니다.

행운을 빕니다

내 작은 훈련 파일에는 운동 간에 100% 일치가 있습니다.

 

어느 기간 동안 데이터를 덤프합니까?

나는 2년의 차이가 있고 데이터의 차이는 15초입니다. 예측 변수: "(double)(val1 < val2)" 형식으로 생성된 30개의 자연 및 1000개 이상.

저도 처음에는 예측 변수의 수를 줄여야 한다고 생각했지만 실제로는 많을수록 좋은 것으로 나타났습니다.

물론 2년 동안 1000개의 예측자는 약 3GB의 볼륨을 제공합니다. 이러한 볼륨과 함께 R을 사용하는 것은 심각하지 않습니다.

TensorFlow, Spark, MXNet과 같은 프로젝트 에 연결된 Cython 및 Jython이 있기 때문에 Python은 데이터 마이닝에서 R을 능가했습니다.

 
박사 상인 :

유전학은 올바른 매개변수를 찾기 위해 제한된 수 의 함수 호출을 시도합니다. 이 매개변수에 대한 옵션의 수를 좁히면(200 대신 30), 유전학은 1에서 30까지 해당 지역을 더 자세히 탐색할 수 있습니다. 그리고 이것은 정확합니다. 일부 모델 매개변수를 검색하기 위한 특정 한계를 알고 있다면 유전학이 이 정보를 즉시 제공하는 것이 좋습니다.


또는:

코드에 이 줄(녹색)을 추가하면 유전학은 기본 50개 대신 500명의 개체를 모집단에 갖게 됩니다. 그리고 10배 더 많은 모델을 확인할 수 있습니다(그러나 스크립트 실행 시간은 10배 증가). 가능한 많은 모델 매개변수 조합을 정렬합니다. 최대에서도. 뉴런의 수는 200으로, 유전학도 0.85로 더 나은 결과를 찾거나 적어도 그것에 근접할 수 있다고 생각합니다.

감사해요!!!! 실제로 결과가 개선되었습니다. 좋아, 무엇을, 어떻게 봅시다 ... 가장 중요한 것은 지속적으로 수익을 올리는 것입니다 ...

 
블라디미르 페레르벤코 :

무슨 유전자를 말씀하시는지 이해가 안됩니다.

이것은 내가 약 100페이지 전에 Mikhail에게 보여준 R 스크립트에 있습니다. 유전 알고리즘 은 elmnn(활성화 함수, HPC 시드, 숨겨진 뉴런의 수)에 대한 매개변수를 열거합니다. 유전학에 대한 적합성 함수에서 elmnn 모델 위원회는 이러한 매개변수를 사용하여 훈련되고 kfold 등으로 평가됩니다.

스크립트 자체는 elmnn 및 베이지안 최적화에 대한 기사에서 영감을 받아 작성되었습니다. 하지만 나는 Baes 대신 유전학을 했고 훨씬 더 빨리 효과가 있었고 위원회의 평가를 내 취향에 맞게 만들었습니다.

 
산산이치 포멘코 :

모델은 다음 두 가지 경우에 재학습됩니다.

  • 노이즈 예측 변수의 존재가 주요 문제이며 예측 변수를 선택해야만 해결됩니다.

질문은 당신뿐만 아니라 모든 사람을 위한 것입니다.

실제로 이것은 사실입니다. 노이즈 예측자가 있는 경우 NN은 50-55%에서 벗어날 수 없습니다. 뽑으면 70%를 줄 수 있다.

그런데 왜 그럴까요?
1) 결국, NN은 훈련 중에 노이즈 예측자에 대해 0에 가까운 가중치를 선택해야 합니다(선택 중 제외와 동일). 우리는 분기 시작 부분의 문제에서 이것을 보았습니다.
2) 가중치를 과소평가하는 훈련이 아닌 경우, 최소한 dropout은 가중치를 필터링해야 합니다...

 
박사 상인 :

이것은 내가 약 100페이지 전에 Mikhail에게 보여준 R 스크립트에 있습니다. 유전 알고리즘 은 elmnn(활성화 함수, HPC 시드, 숨겨진 뉴런의 수)에 대한 매개변수를 열거합니다. 유전학에 대한 적합성 함수에서 elmnn 모델 위원회는 이러한 매개변수를 사용하여 훈련되고 kfold 등으로 평가됩니다.

블로그에 복사하면 다른 사람에게 유용할 수 있습니다. 여기에서 찾을 것이 없습니다.
 
도서관 :

질문은 당신뿐만 아니라 모든 사람을 위한 것입니다.

실제로 이것은 사실입니다. 노이즈 예측자가 있는 경우 NN은 50-55%에서 벗어날 수 없습니다. 뽑으면 70%를 줄 수 있다.

그런데 왜 그럴까요?
1) 결국, NN은 훈련 중에 노이즈 예측자에 대해 0에 가까운 가중치를 선택해야 합니다(선택 중 제외와 동일). 우리는 분기 시작 부분의 문제에서 이것을 보았습니다.
2) 가중치를 과소평가하는 훈련이 아닌 경우, 최소한 dropout은 가중치를 필터링해야 합니다...

추가 차원이 여전히 남아 있고 이를 통해 어떻게든 곡선을 그릴 필요가 있습니다. 아마도 큰 오류가 있을 수 있습니다.

반대로 dropout은 오류를 증가시키지 않습니까?

사유: