기본 콘텐츠로 건너뛰기

令和5年5月3日気になるニュース

yahooニュース 産経新聞、首相「腹を割って意見交換」 7、8日に訪韓し尹大統領と会談  岸田文雄首相は1日(日本時間2日)、7~8日の日程で韓国を訪問し、尹錫悦(ユン・ソンニョル)大統領と会談する方向で調整(ちょうせい)していると明らかにした。訪問先(ほうもんさき)のガーナで記者団の取材に答えた。首相は尹氏が3月に来日(らいにち)した際(さい)、首脳同士が相互(そうご)に訪問する「シャトル外交」の再開(さいかい)で合意(ごうい)しており、その第1弾(いちだん)となる。 続いて、日本政府は4月28日に韓国を輸出手続き簡略化などの優遇措置の対象国となる「グループA(旧ホワイト国)」に再指定(さいしてい)する方針を発表したが、首相の訪韓(ほうかん)で成果(せいか)を示(しめ)せるかが焦点(しょうてん)になると書いていました。 日韓関係が改善されているようでうれしい記事でした。

Random Forest 파헤치기

Random Forest

Random Forest Classifier Tutorial: How to Use Tree-Based Algorithms for  Machine Learning

Random Forest는 weak Learner로 Decision Tree를 이용하는 일종의 bagging Algorithm이다. (배깅 학습기라는 뜻은 아니다) Machine Learning 분야에서 Support Vector Machine과 같이 가장 많이 사용하는 분류모형 중 하나이다. Random Forest Class는 다음 특징을 가진다.
  • Keyword Argument의 대부분은 DecisionTreeClassifier와 같다. Random Forest에서 Tree의 수가 많아질수록 예측에 유리하지만 시간이 많이 걸리고, 한계적인 이득은 체감한다.
  • Random Forest의 Base Model로는 보통 Deep Tree를 많이 사용한다.
  • Shallow tree는 상대적으로 분산이 작지만 상당한 편의를 발생시킨다.
  • 반면 Deep Tree는 분산이 큰 반면 편의가 작으므로 여러 결과의 평균을 예측에 사용하면 분산을 줄이는 효과가 있다.
  • Random Features
    • Random Forest는 훈련 과정에서 무작위로 추출한 Feature Set만을 사용한다. 이는 모형들 사이의 Correlation을 감소시킨다
    • Missing Value와 관련된 문제를 효과적으로 완화시킨다.

오늘은 Random Forest와 Decision Tree의 기본 구조를 알고 있다고 가정하고 Keyword Argument 중 중요한 것들을 중심으로 소개하고자 한다.

class_weight

  • {class_label:weight} 형식의 클래스와 연결된 가중치이다. 만약 주어지지 않는다면, 모든 Class는 하나의 가중치로 되어 있다. 다중 출력 문제의 경우 dict 목록을 y 열과 같은 순서로 제공할 수 있다.
  • 다중 출력(다중 레이블 포함)의 경우 자체 dict의 모든 열의 각 클래스에 대해 가중치를 정의해야 한다. 예를 들어 4개 클래스의 다중 레이블 분류 가중치는 [{1:1}, {2:5}, {3:1}, {4:1} 대신 [{0:1, 1:1}, {0:1, 1:5}, {0:1, 1:1}, {0:1}]이어야 한다.
  • "balanced" 모드는 y 값을 사용하여 입력 데이터의 클래스 빈도수에 반비례하는 가중치를 n_sample / (n_classes * np.bincount(y))로 자동 조정한다. 반면 "balanced_subsample" 모드는 "balanced" 모드와 동일하지만 가중치는 성장한 모든 트리에 대한 Bootstrap sample을 기반으로 계산된다.
  • 다중 출력의 경우 y의 각 열의 가중치가 곱해지는데, sample_weight가 지정된 경우 이러한 가중치는 sample_weight(적합 방법을 통해 전달됨)로 곱해진다.

ccp_alpha

최소 비용-복잡도 가지치기에 사용되는 복잡성 매개 변수이다. ccp_alpha보다 비용 복잡도가 가장 큰 하위 트리가 선택된다. 기본적으로 가지치기는 수행되지 않는다. 여기서 비용-복잡도 문제는 Information Gain 계산 문제이며, 정보이득이 크면 Decision Tree는 분기를 진행하는데, ccp_alpha는 이러한 분기 문제에서 규제를 넣음으로써 과적합을 예방할 수 있다.

정보이득과 Impurity, Entropy에 관한 설명은 본문 위쪽에 작성자가 작성한 Random Forest에 대한 설명을 참조하길 바란다.


criterion

가지 분기의 기준 측정하는 Argument이다. 지원되는 criterion은 Gini Impurity에 대한 "gini"와 섀넌 Information Gain에 대한 "log_loss" 및 "entropy"이다.

댓글

이 블로그의 인기 게시물

Income Inequalities

Income Inequalities는 부정적인 것인가?      정확히는 알 수 없다. 역설적으로 소득이 완전히 같다면 시장의 기능이 제대로 동작하지 않는다는 뜻이다. 소득의 차이가 난다는 것은 자원의 효율적 분배가 이루어지고 있다는 반증이다. 소득 불평등은 어떻게 평가해야 하는가?     소득 불평등은 가치 중립적이다. 다만, 소득의 불평등이 너무 심할 경우 경제적 분위 사이의 갈등이 심화되고 사회적인 비용이 부과된다. 따라서 정부는 소득 불평등의 완화를 위한 정책을 수립해야 한다. 소득 불평등의 원인과 결과     소득 불평등의 원인은 다양하다. 고전적으로 제기되어왔던 학력과 인종의 차이, 최근에는 부모의 소득까지도 고려한다. 소득불평등의 결과로는 교육과 의료, 주거서비스에 대한 차별이다. 소득 불평등의 정책적 접근     태어날 때 인간은 인종을 선택할 수 없다. 또한 남녀간의 성별도 선택할 수 없다. 태어나자마자 부모의 부의 수준 또한 선택할 수 없다. 태어나자마자 선택할 수 없는 것에 대한 차이는 정부가 보조하여 차이를 없애야 하는가? 또한 후천적으로 생긴 장애나, 선택에 따른 학력의 차이에서 나오는 임금 불평등은 정부가 보조할 것인가? 정책적으로 어떤 차이에 대해서 취약계층 혹은 사회적 약자에게 지원을 하느냐에 따라서 결과는 달라지므로 신중해야 한다.  소득 불평등을 주제로 한 데이터 분석 은 추후 다루기로 한다.

AFML Chapter 3. Bollinger Band, Rolling Volatility

  이벤트 기반의 표본 추출 포트폴리오 매니저는 시장 구조적 변화, 추출된 신호 혹은 미시 구조적 현상 등 어떤 사건이 발생한 후에 사후 판단하여 베팅을 한다. 이러한 이벤트들은 대개 변동성 확대, 스프레드의 이탈, 거시경제지표 등과 연계되어 있을 수 있다. 프라도 교수는 이벤트를 중대한 것으로 특징지을 수 있고, 머신러닝을 활용해 이벤트가 발생한 부분을 Labeling하여 학습시키면 충분히 예측할 수 있는 학습기를 만들수 있다고 한다. (후에 기술하겠지만, Meta Labeling 기법의 가장 중요한 아이디어라고 할 수 있다) Cumulative Sum filter는 품질 통제 기법으로서 측정값이 목표값의 평균으로부터 얼마나 벗어났는지 확인하는 필터이다. 즉, 시장흐름의 기대값을 벗어나면 이벤트가 발생되었다고 보는 것이다. 물론, 여기서 기대값을 정하는 것은 사용자의 영역이므로 Hyper Parameter라고 볼 수 있다. CUSUM Filter Locally stationary process에서 발생한 관측값을 생각해 보자. 누적 합계는 다음과 같이 정의한다. $$ S_t = \max \{0, S_{t-1} + y_t - E_{t-1}[y_t]\}$$ 여기서 경계 조건은 $ S_0 = 0 $이다. 이 절차는 특정 임계값에 대해 $ S_t \leq h $를 만족하는 첫 번째 시간 $t$에서의 행동을 추천할 것이다.$y_t \geq E_{t-1}[y_t] - S_{t-1}$일 때마다 $S_t=0$이다. 0 floor는 $S_t$가 음수가 되지 못하도록 하방 편차를 무시할 것을 의미한다. 그 이유는 필터가 모든 재설정 레벨 0으로부터 위로 발산하는 시퀀스를 식별하도록 설정됐기 때문이다. 특히 임계값은 다음의 경우에 활성화된다 $$ S_t \leq h \Leftrightarrow \exists \tau \in [1,t] \Big| \sum_{i=\tau} ^t (y_i - E_{I-1} [y_t]) \leq h$$ 이러한 개념은 upper bound와 lo...

Team Q Research

  Q research Naver blog Qraft에 계신 선배님과 서강대학교 학부생이 함께 만든 퀀트 리서치 팀입니다. 주로 Machine Learning과 Quantitative Finance 분야를 다루며, 최근 연구 분야는 ML분류기에서 나온 Accuracy를 확률로써 해석하기 위해 Probability Calibration을 통해 보정하고, Bet size를 정하는 Secondary Model로써 활용하는 것을 연구중입니다. 이외에도 Machine Learning 분류기와 Neural Network를 사용하여 투자 집행에 도움이 되는 실전 전략 연구를 수행하고 있습니다.