주식 AI모델 개발과정 리포트 - 231023

주식 AI모델 개발과정을 기록함(데이타 정리, 신경망 선정, 과적합 및 지연요인 등)
AI development

안지환

0 • 0 • 2024-02-02 13:23:12.0


주식 AI모델 개발 과정


2023.10.23


1.    진행상황


l  927일 이후 Fnguide의 도움을 받아 중요팩터에 대한 data를 추출하였음


l  데이터가 누락된 부분을 처리하고, 인공지능망과 연결시키는 과정까지 진행하였음


l  실행하는과정에서


데이터의 수집(시스템의 정보수집 테스트 과정도 포함): 1개월


신경망의수립: 1주일


신경망학습과 수정: 1개월정도로 예상하고 진행하였음 


l  최초에 200개 대상 종목에 대해 5년치 데이터로 AI모델을 개발하려는 계획에서 실제로는 200개 대상종목에 대한 20년치 데이터로 데이터를 확대하였음


l  애초에 하나의통합 모델과 분기별 4개의 모델을 별도로 개발하려는 기획안을 가지고 있었으나, 안준환 이사의 조언(실제로 데이터 날짜가 입력되기 때문에, 모델에 계절성을 반영할 수 있다는 의견)과 신팀장의 의견(별도의 모델을 만들 경우, 데이터의 부족으로 인해 분기별 모델의 완성도가떨어질 것이라는 의견)을 반영하여, 하나의 모델을 개발하는것을 우선순위로 하였음


l  주식시스템을위한 별도의 컴퓨터를 구매하여 모델학습에 사용하였음


l  구글 텐서플로우를통해서 문제를 해결할 계획인데, 텐서플로우의 특징은 다음과 같음


    순위예측 알고리즘이 존재함. (SoftMax Layer )


복잡한미분계산에서 해방될 것


무료임


④ 대학교에서연구용으로 쓸 정도라고 하니, 복잡한 수정도 가능하다는 점


l  데이터를관리하는 과정에서 적자 지속, 흑자전환, 적자전환 등의 데이터표시에 대해서 수치로 읽어 들이고, 기준을 잡는 과정이 있었음


 

2.    딥러닝 트레이닝시 과적합 방지 방법


l  과적합: 신경망이 훈련 데이터에만 지나치게 적응되어 그 외의 데이터에는 제대로 대응하지 못하는 상태를 말함


l  해소방법


    데이터의양을 늘이기: 데이터 양이 적을 경우, 해당 데이터의 특정패턴이나 노이즈까지 쉽게 암기하기 때문에 과적합 현상이 발생할 가능성이 늘어남. 데이터 양이 늘어날수록일반적인 패턴을 학습하여 과적합을 방지 가능


    모델의복잡도 줄이기: 인공신경망의 복잡도는 은닉층(hidden layer)의수나 매개변수의 수 등으로 결정됨. 과적합 현상이 포착되었을 때, 인공신경망 모델에 대해서 할 수 있는 한가지 조치는 인공신경망의 복잡도는 줄이는 것


    가중치규제(Regulation)적용하기: 복잡한 모델이 간단한모델보다 과적합될 가능성이 높음. 간단한 모델은 적은 수의 매개변수를 가진 모델을 말함


-L1규제: 가중치 w들의절대값 합계를 비용함수에 추가함. L1 Norm이라고 함

-L2규제: 모든 가중치w들의제곱합을 비용함수에 추가함

-인공신경망에서는 L2규제는 가중치 감쇠(weight decay)라고 부름


    Drop out: 학습과정에서 신경망의 일부를 사용하지 않는 방법. 드롭아웃의비율이 0.5라고 한다면, 학습마다 랜덤으로 절반의 뉴런을사용하지 않고, 절반의 뉴런만을 사용함을 의미


    Early Stopping(조기학습종료) : 일정횟수 이상 validation loss가 증가하는 시점부터 overfitting이발생했다고 판단하고, 이에 학습을 종료시킴


    Batch Normalization(배치 정규화): 데이터 분포를 통일시켜서과적합 방지

 

3.    지연요인

 

l  텐서플로우설치 오류: 일부 잘못 설치되어서, 처음부터 다시 설치(1016)


l  프로젝트일부 변경


①  Net Framework 닷넷 프레임워크: 많은 기능들 중에서 윈도우 대화상자를 쉽게 편집하는 기능이 있음


②  TensorFlow 텐서플로우: 신경망 기능이 많은 라이브러리


    1~2번이 같은 프로그램에서 구동이 되지 않아서, 닷넷 프레임워크를삭제한 새 프로젝트로 진행하였음


   첫작품은 콘솔로 나올 것을 기대함. 버튼이 있는 보기 편한 디자인은 일단 이것이 나온 뒤에 닷넷 프레임워크가아닌 다른 방법으로 짜면 될 것임


⑤  데이터를입력할 수 있는 입력층을 완성하였음


⑥  실제사용할 신경망에 대해서는 아직 마무리되지 않은 상황임

 

      

Settings

Set your own customized style

Color Scheme

Choose the perfect color mode for your app.


RTL Mode

Switch your language direction

RTL Documentation

Fluid Layout

Toggle container layout system

Fluid Documentation

Navigation Position

Select a suitable navigation system for your web application


Vertical Navbar Style

Switch between styles for your vertical navbar

See Documentation

Like What You See?

Get Falcon now and create beautiful dashboards with hundreds of widgets.

Purchase
customize