"강한이김"의 두 판 사이의 차이

cdc wiki
이동: 둘러보기, 검색
(서론)
(서론)
59번째 줄: 59번째 줄:
 
* Web Socket
 
* Web Socket
 
::TCP 연결에 완전 이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜. 웹소켓 프로토콜은 HTTP 폴링에 비해 더 낮은 부하를 사용하여 웹 브라우저과 웹 서버 간의 통신을 가능케 하며 서버와의 실시간 데이터 전송을 용이케 한다. 이는 클라이언트에 의해 요청을 받는 방식이 아니라 서버가 내용을 클라이언트에 보내는 표준화된 방식을 제공함으로써 또 연결이 유지된 상태에서 메시지들을 오갈 수 있게 허용함으로써 가능하게 되었다. 이러한 방식으로 클라이언트와 서버 간에 양방향 통신이 발생할 수 있다.
 
::TCP 연결에 완전 이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜. 웹소켓 프로토콜은 HTTP 폴링에 비해 더 낮은 부하를 사용하여 웹 브라우저과 웹 서버 간의 통신을 가능케 하며 서버와의 실시간 데이터 전송을 용이케 한다. 이는 클라이언트에 의해 요청을 받는 방식이 아니라 서버가 내용을 클라이언트에 보내는 표준화된 방식을 제공함으로써 또 연결이 유지된 상태에서 메시지들을 오갈 수 있게 허용함으로써 가능하게 되었다. 이러한 방식으로 클라이언트와 서버 간에 양방향 통신이 발생할 수 있다.
Socket.io는 node.js 기반으로 만들어진 기술로, 거의 모든 웹 브라우저와 모바일 장치를 지원하는 실시간 웹 애플리케이션 지원 라이브러리이다. 이것은 100% 자바스크립트로 구현되어 있으며, 현존하는 대부분의 실시간 웹 기술들을 추상화했다. 다시 말해, Socket.io는 자바스크립트를 이용하여 브라우저 종류에 상관없이 실시간 웹을 구현할 수 있도록 한 기술이다.
+
::Socket.io는 node.js 기반으로 만들어진 기술로, 거의 모든 웹 브라우저와 모바일 장치를 지원하는 실시간 웹 애플리케이션 지원 라이브러리이다. 이것은 100% 자바스크립트로 구현되어 있으며, 현존하는 대부분의 실시간 웹 기술들을 추상화했다. 다시 말해, Socket.io는 자바스크립트를 이용하여 브라우저 종류에 상관없이 실시간 웹을 구현할 수 있도록 한 기술이다.
  
 
* Time Series Analysis
 
* Time Series Analysis
 
::XGBoost 는 Gradient Boosting 알고리즘을 분산환경에서도 실행할 수 있도록 구현해놓은 라이브러리로, Regression, Classification 문제를 모두 지원하며 성능과 자원 효율이 높다. XGBoost는 여러 개의 Decision Tree를 조합해서 사용하는 Ensemble 알고리즘으로, 여러 개의 이진 노드를 겹쳐서 피쳐벌로 판단해 최종 값을 뽑아내는 형태가 된다.
 
::XGBoost 는 Gradient Boosting 알고리즘을 분산환경에서도 실행할 수 있도록 구현해놓은 라이브러리로, Regression, Classification 문제를 모두 지원하며 성능과 자원 효율이 높다. XGBoost는 여러 개의 Decision Tree를 조합해서 사용하는 Ensemble 알고리즘으로, 여러 개의 이진 노드를 겹쳐서 피쳐벌로 판단해 최종 값을 뽑아내는 형태가 된다.
Ensemble 알고리즘은 여러 개의 모델을 조합해서 그 결과를 뽑아내는 기법으로, 정확도가 높은 강한 모델을 하나 사용하는 것보다, 정확도가 약한 모델을 여러 개 조합하는 방식이 정확도가 높다는 방법에 기인한다. Ensemble은 방식에 따라 Bagging과 Boosting으로 분류되는데, Bagging은 여러 모델을 사용할 때 각 모델에서 나온 값을 계산하여 최종 결과값을 내는 방식이고, Boosting은 모델에 샘플링된 데이터를 넣고 예측이 잘못된 값들에 가중치를 더해 다음 모델에 넣는 방식이다. 각 모델의 성능이 모두 다르기 때문에, 각 모델의 가중치 W를 반영하며, 여러 모델을 거쳐 최종적으로 나온 값의 오차를 줄이는 방식이다.
+
::Ensemble 알고리즘은 여러 개의 모델을 조합해서 그 결과를 뽑아내는 기법으로, 정확도가 높은 강한 모델을 하나 사용하는 것보다, 정확도가 약한 모델을 여러 개 조합하는 방식이 정확도가 높다는 방법에 기인한다. Ensemble은 방식에 따라 Bagging과 Boosting으로 분류되는데, Bagging은 여러 모델을 사용할 때 각 모델에서 나온 값을 계산하여 최종 결과값을 내는 방식이고, Boosting은 모델에 샘플링된 데이터를 넣고 예측이 잘못된 값들에 가중치를 더해 다음 모델에 넣는 방식이다. 각 모델의 성능이 모두 다르기 때문에, 각 모델의 가중치 W를 반영하며, 여러 모델을 거쳐 최종적으로 나온 값의 오차를 줄이는 방식이다.
  
 
::ARIMA는 AR모형과 MA모형이 결합된 시계열 예측모형이다. AR 모형은 자기 회귀모형으로, Auto Correlation의 약자이다. 자기상관성을 시계열 모형으로 구성하였으며, 이전 자신의 관측값(이 이후 자신의 관측값에 영향을 준다는 아이디어에 기반하여 예측하고자 하는 특정 변수의 과거 관측값의 선형 결합으로 해당 변수의 미래값을 예측하는 모형이다. MA 모형은 Moving Average 모형으로, 예측 오차(ε)를 이용하여 미래를 예측하는 모형이다. ARIMA(p,d,q) 모형은 d차 차분한 데이터에 AR(p) 모형과 MA(q) 모형을 합친 모형으로 자기 회귀 및 이동 평균이 모두 적용된 미래를 예측하는 모형이다. y'은 d차 차분을 구한 시계열, p는 자기회귀 부분의 차수, d는 차분 회수, q는 이동평균 부분의 차수이다.  언급된 AR(p) 모형, MA(q) 모형, ARIMA(p, d, q) 모형의 식은 각각 아래와 같다.
 
::ARIMA는 AR모형과 MA모형이 결합된 시계열 예측모형이다. AR 모형은 자기 회귀모형으로, Auto Correlation의 약자이다. 자기상관성을 시계열 모형으로 구성하였으며, 이전 자신의 관측값(이 이후 자신의 관측값에 영향을 준다는 아이디어에 기반하여 예측하고자 하는 특정 변수의 과거 관측값의 선형 결합으로 해당 변수의 미래값을 예측하는 모형이다. MA 모형은 Moving Average 모형으로, 예측 오차(ε)를 이용하여 미래를 예측하는 모형이다. ARIMA(p,d,q) 모형은 d차 차분한 데이터에 AR(p) 모형과 MA(q) 모형을 합친 모형으로 자기 회귀 및 이동 평균이 모두 적용된 미래를 예측하는 모형이다. y'은 d차 차분을 구한 시계열, p는 자기회귀 부분의 차수, d는 차분 회수, q는 이동평균 부분의 차수이다.  언급된 AR(p) 모형, MA(q) 모형, ARIMA(p, d, q) 모형의 식은 각각 아래와 같다.

2021년 12월 19일 (일) 10:32 판

프로젝트 개요

기술개발 과제

국문 : 스톡크래프트

영문 : StockCraft

과제 팀명

강한이김

지도교수

유하진 교수님

개발기간

2021년 09월 ~ 2021년 12월 (총 4개월)

구성원 소개

서울시립대학교 통계학과 20185800** 강**(팀장)

서울시립대학교 컴퓨터과학부 20159200** 한**

서울시립대학교 컴퓨터과학부 20179200** 이**

서울시립대학교 컴퓨터과학부 20189200** 김**

서론

개발 과제의 개요

개발 과제 요약

  • 웹 기반 실시간 멀티플레이 모의 투자 게임 제공
  • 머신러닝 모델을 활용한 과거 주가 차트 기반 미래 주가 차트 생성
  • 사용자의 아이템 혹은 스킬 사용과 랜덤으로 생성되는 기업 공시 등의 주가 변동 요소 추가
  • 각 사용자마다 다른 역할 부여와 사용자 간 채팅 기능을 추가하여 게임 내 인터랙션 강화

개발 과제의 배경

  • 주식 투자에 대한 흥미와 학습 유도
최근 한국을 포함해 세계 주요 증시가 오르면서, 학생들 사이에서도 주식 투자에 대한 관심이 늘고 있다. 하지만 대부분은 투자 경험도 적고 투자 관련 지식을 쌓기 위한 공부에 시간을 내기도 어렵다보니, 주식 투자에 어려움을 느끼고 쉽게 접근하지 못하거나, 기본적인 지식 없이 주변 지인의 추천이나 신뢰도가 낮은 정보에 의존해 투자하고 손실을 보는 경우도 있다. Stockcraft는 모의 주식 투자 기반 웹 게임으로, 게임 내에서 사용자가 아이템 혹은 스킬을 사용하여 흥미를 느낄 수 있는 시스템을 통해 투자에 대한 접근성을 높이고, 주식 거래 경험과 함께 기본적인 투자 상식을 얻을 수 있도록 유도하고자 한다.
  • 기존 모의 투자 게임의 한계 돌파
기존의 모의 투자 게임은 과거 특정 종목 주가 차트를 기반으로 게임이 진행되는데, 사용자가 과거 차트를 암기하는 경우에는 미래의 흐름을 완벽하게 예측하고 비정상적으로 게임을 진행할 가능성이 있다. 이와 달리 Stockcraft는 과거 주가 차트를 기반으로 새로운 주가 차트를 생성하며, 사용자가 아이템 혹은 스킬을 사용하여 주가 차트에 변동을 줄 수 있는 요소를 넣어, 사용자에게 새로운 경험을 제공해고자 한다. 뿐만 아니라 주가 차트와 함께 기업 정보를 제공하기 힘든 기존 모의 투자 게임 환경과 달리, Stockcraft는 랜덤으로 생성되는 기업 공시 정보를 추가하여 사용자가 차트 뿐만 아니라 정보를 기반으로 투자를 진행하여 건전한 투자 습관을 가지도록 유도하고자 한다.
  • 사용자 간 투자 실력 비교를 통한 흥미 유도
Stockcraft 에서는 여러 명의 사용자가 10분 내외의 짧은 시간 동안 같은 주가 차트를 보고 실시간으로 게임을 진행하여 서로 간에 투자 실력을 비교한다. 또한 특정 사용자가 아이템 혹은 스킬을 사용하거나 특정 정보를 미리 획득할 수 있도록 구성하여, 사용자 간에 인터랙션을 가질 수 있도록 유도한다. 각 사용자마다 다른 주가 차트를 바탕으로 게임을 진행하거나, 여러 사용자가 단순히 같은 주가 차트를 보고 거래하는 기존 모의 투자 게임과 달리, 여러 사용자가 함께 새로운 게임을 만들어 가도록 하여 사용자의 흥미를 높이고자 한다.

개발 과제의 목표 및 내용

  • 10분 내외의 시간 동안 게임을 진행하며, 랜덤으로 선택된 각 기업의 특정 시기 주가 차트를 기반으로 게임을 진행하는 동안 머신러닝 모델을 활용하여 주가 차트를 생성한다. 각 게임마다 모델의 예측력에 따라 다른 주가 차트가 생성된다.

개발 과제의 기술적 기대효과

  • 최대 16인의 사용자가 웹 브라우저에서 실시간으로 소통하며 다같이 한 게임을 즐길 수 있다.
  • 실제와 유사한 주식 차트를 생성하고, 사용자의 행동이 실시간으로 주식 차트 생성에 영향을 미친다.

개발과제의 경제적 및 사회적 파급효과

  • 게임이라는 오락 매체를 통해 MZ세대 사이의 사회적, 정서적 교류가 더 활발해진다.
  • 주식에 관심이 생기기 시작한 MZ세대가 주식 거래 방식과 다양한 용어를 이해하고 주식과 시장경제에 대한 관심을 키운다.


관련 기술의 현황

관련 기술의 현황 및 분석(State of art)

  • Web Socket
TCP 연결에 완전 이중 통신 채널을 제공하는 컴퓨터 통신 프로토콜. 웹소켓 프로토콜은 HTTP 폴링에 비해 더 낮은 부하를 사용하여 웹 브라우저과 웹 서버 간의 통신을 가능케 하며 서버와의 실시간 데이터 전송을 용이케 한다. 이는 클라이언트에 의해 요청을 받는 방식이 아니라 서버가 내용을 클라이언트에 보내는 표준화된 방식을 제공함으로써 또 연결이 유지된 상태에서 메시지들을 오갈 수 있게 허용함으로써 가능하게 되었다. 이러한 방식으로 클라이언트와 서버 간에 양방향 통신이 발생할 수 있다.
Socket.io는 node.js 기반으로 만들어진 기술로, 거의 모든 웹 브라우저와 모바일 장치를 지원하는 실시간 웹 애플리케이션 지원 라이브러리이다. 이것은 100% 자바스크립트로 구현되어 있으며, 현존하는 대부분의 실시간 웹 기술들을 추상화했다. 다시 말해, Socket.io는 자바스크립트를 이용하여 브라우저 종류에 상관없이 실시간 웹을 구현할 수 있도록 한 기술이다.
  • Time Series Analysis
XGBoost 는 Gradient Boosting 알고리즘을 분산환경에서도 실행할 수 있도록 구현해놓은 라이브러리로, Regression, Classification 문제를 모두 지원하며 성능과 자원 효율이 높다. XGBoost는 여러 개의 Decision Tree를 조합해서 사용하는 Ensemble 알고리즘으로, 여러 개의 이진 노드를 겹쳐서 피쳐벌로 판단해 최종 값을 뽑아내는 형태가 된다.
Ensemble 알고리즘은 여러 개의 모델을 조합해서 그 결과를 뽑아내는 기법으로, 정확도가 높은 강한 모델을 하나 사용하는 것보다, 정확도가 약한 모델을 여러 개 조합하는 방식이 정확도가 높다는 방법에 기인한다. Ensemble은 방식에 따라 Bagging과 Boosting으로 분류되는데, Bagging은 여러 모델을 사용할 때 각 모델에서 나온 값을 계산하여 최종 결과값을 내는 방식이고, Boosting은 모델에 샘플링된 데이터를 넣고 예측이 잘못된 값들에 가중치를 더해 다음 모델에 넣는 방식이다. 각 모델의 성능이 모두 다르기 때문에, 각 모델의 가중치 W를 반영하며, 여러 모델을 거쳐 최종적으로 나온 값의 오차를 줄이는 방식이다.
ARIMA는 AR모형과 MA모형이 결합된 시계열 예측모형이다. AR 모형은 자기 회귀모형으로, Auto Correlation의 약자이다. 자기상관성을 시계열 모형으로 구성하였으며, 이전 자신의 관측값(이 이후 자신의 관측값에 영향을 준다는 아이디어에 기반하여 예측하고자 하는 특정 변수의 과거 관측값의 선형 결합으로 해당 변수의 미래값을 예측하는 모형이다. MA 모형은 Moving Average 모형으로, 예측 오차(ε)를 이용하여 미래를 예측하는 모형이다. ARIMA(p,d,q) 모형은 d차 차분한 데이터에 AR(p) 모형과 MA(q) 모형을 합친 모형으로 자기 회귀 및 이동 평균이 모두 적용된 미래를 예측하는 모형이다. y'은 d차 차분을 구한 시계열, p는 자기회귀 부분의 차수, d는 차분 회수, q는 이동평균 부분의 차수이다. 언급된 AR(p) 모형, MA(q) 모형, ARIMA(p, d, q) 모형의 식은 각각 아래와 같다.
yt = c + ϕ1yt-1 + ϕ2yt-2 + ... + ϕpyt-p + εt ¨¨( 수식 1. AR 모형 )
yt = c + θ1εt-1 + θ2εt-2 + ... + θpεt-p + εt ¨¨( 수식 2. MA 모형 )
yt'= c + ϕ1yt'-1 + ϕ2yt'-2 + ... + ϕpyt'-p + θ1εt-1 + θ2εt-2 + ... + θpεt-p + εt ¨¨( 수식 3. ARIMA 모형 )
  • 특허조사 및 특허 전략 분석

내용

  • 기술 로드맵

내용

시장상황에 대한 분석

  • 경쟁제품 조사 비교

내용

  • 마케팅 전략 제시

내용

개발과제의 기대효과

기술적 기대효과

내용

경제적, 사회적 기대 및 파급효과

내용

기술개발 일정 및 추진체계

개발 일정

내용

구성원 및 추진체계

내용

설계

설계사양

제품의 요구사항

내용

설계 사양

내용

개념설계안

내용

이론적 계산 및 시뮬레이션

내용

상세설계 내용

내용

결과 및 평가

완료 작품의 소개

프로토타입 사진 혹은 작동 장면

내용

포스터

내용

관련사업비 내역서

내용

완료작품의 평가

내용

향후계획

내용

특허 출원 내용

내용