179번째 줄: |
179번째 줄: |
| </syntaxhighlight> | | </syntaxhighlight> |
| |} | | |} |
| + | |
| + | = 성능을 개선하기 위한 노력 = |
| + | 어떻게 하면 성능이 더욱 개선될까? |
| + | |
| + | 상황에 따라, 데이터 형태에 따라 하이퍼파라미터는 바뀌기 마련이지만, 이에 대한 연구가 있어 간략하게 써 본다.<ref>Journal of Digital Convergence. LSTM을 이용한 주가예측 모델의 학습방법에 따른 성능분석(정종진, 김지연. 2020)</ref> |
| + | |
| + | 그리고 향상의 노력을 이곳에 담아본다. |
| + | |
| + | == 데이터 전처리 == |
| + | 거래량 특정값에 있어 거래량 수치 자체를 사용하는 것보다 거래량의 변화량을 사용한 경우가 평균제곱오차에서 성능이 더 좋았다. |
| + | |
| + | == 성능평가 == |
| + | 평균제곱근오차(RMSE)를 사용한다. 모델의 예측값과 실제 환경에서 관찰되는 값의 차리를 다룰 때 흔히 사용되는 평가방법이라 한다. |
| + | |
| + | == 가중치 초기화 방법 == |
| + | {| class="wikitable" |
| + | !과정 |
| + | !설명 |
| + | !적합한 방법 |
| + | |- |
| + | |kernel initializer |
| + | | |
| + | |Xavier normal |
| + | |- |
| + | |recurrent initializer |
| + | | |
| + | |randsom normal |
| + | |- |
| + | |bias initializer |
| + | | |
| + | |he uniform |
| + | |} |
| + | |
| + | == 정규화 방법 == |
| + | {| class="wikitable" |
| + | !과정 |
| + | !설명 |
| + | !적합한 방법 |
| + | |- |
| + | |kernel |
| + | |activity가 L2(0.1)일 때. |
| + | |L2(0.003) |
| + | |- |
| + | | |
| + | | |
| + | | |
| + | |} |
| + | |
| + | == 활성화 함수 == |
| + | {| class="wikitable" |
| + | !과정 |
| + | !설명 |
| + | !적합한 방법 |
| + | |- |
| + | |기본 활성화 함수 |
| + | | |
| + | |elu, softsign, tanh |
| + | |- |
| + | |recurrent활성화 함수 |
| + | | |
| + | |elu, softsign, tanh, hard sigmoid |
| + | |} |
| + | 위 둘의 조합으로는 케라스의 기본 설정인 tanh와 hard sigmoid가 가장 성능이 좋았다고 한다. |
| + | |
| + | == 최적화 함수 == |
| + | 활성화 함수가 tanh일 땐 Adam이 가장 좋았다고 한다. |
| [[분류:LSTM]] | | [[분류:LSTM]] |