[Study] Data Science
-
[강화학습] Policy Gradient와 Actor-Critic[Study] Data Science/머신러닝&딥러닝 2022. 1. 25. 01:56
이전까지는 에이전트가 가치함수를 기반으로 행동을 선택하고, 가치함수를 업데이트하면서 학습을 하는 '가치기반 강화학습(value-based Reinforcement Learning)'을 배웠다. 이번에는 가치함수를 바탕으로 행동을 선택하는 것이 아니라, 상태에 따라 바로 행동을 선택하는 '정책기반 강화학습(Policy-based Reinforcement Learning)'에 대해 정리해보고자 한다. Policy Gradient : 목표함수의 경사상승법을 따라 근사된 정책을 업데이트하는 방식 '정책기반 강화학습'의 목표도 다른 강화학습에서와 동일하게 "누적보상을 최대로 하는 최적의 정책"을 찾는 것이다. 다만 정책기반 강화학습에서는 가치함수를 바탕으로 정책을 찾는 것이 아니라, input이 '상태', out..
-
[강화학습] Model Free Prediction: Monte-Carlo, Temporal Difference, SARSA[Study] Data Science/머신러닝&딥러닝 2022. 1. 5. 14:58
이전에 배웠던 MDP는 보상과 상태 변환 확률 등 환경의 정보를 안다는 가정하에만 진행할 수 있다는 한계가 존재한다. Model-Free Reinforcement Learning이란 환경 정보가 알려진 MDP와 달리, 직접 환경과 상호작용하며 value를 예측하고 최적화하는 학습 방법이다. 이 과정에서 value를 예측하고 평가하는 것을 'Model-Free Prediction'이라고 하며, 예측에는 크게 '몬테카를로 예측'과 '시간차 예측'이 있다. value를 최적화하는 것은 'Model-Free Control'이라고 하며, 시간차 제어의 일종인 'SARSA'가 있다. 1. Monte-Carlo Methods 주요 특징 MDP transitions나 rewards에 대한 정보는 모르는 상태(model..
-
[강화학습] Model-based Planning by Dynamic Programming[Study] Data Science/머신러닝&딥러닝 2021. 12. 31. 00:36
1. Dynamic Programming 개념 들어가기에 앞서, Dynamic Programming의 개념을 살펴보고자 한다. 여기서 'Dynamic'의 의미는 문제를 한 번에 해결하는 것이 아니라, iteration 방식과 같이 얻어진 정보를 바탕으로 다음의 문제를 해결하는 접근법이다. 'Programming'은 컴퓨터 프로그래밍보다는 '식순', 순서대로 처리하는 의미로 해석하면 된다. 즉 여러 개의 단순한 sub-problems를 해결한 후, 해결된 sub-problems를 합쳐 최종적인 solution 도출하는 형태이다. 이 'Dynamic Programming'은 두 가지 특성을 가진 문제들에 대해 일반적인 솔루션이 될 수 있다. 1) Optimal substructure 하나의 문제를 subpr..
-
[강화학습] Markov Decision Process(MDP)[Study] Data Science/머신러닝&딥러닝 2021. 12. 27. 21:52
Markov Decision Process는 완전히 관찰가능한 환경을 전제로 하며, 대부분의 강화학습 문제는 MDP의 형태로 구조화할 수 있다. ■ Markov Property 현재의 State에서 다음 State로 갈 확률과 이전의 모든 정보를 가지고 다음 State로 갈 확률은 같다. → 즉 현재 상태에서의 정보들은 과거의 중요한 정보들을 포함하고 있다고 볼 수 있다는 의미로, 이러한 특성을 Markov Property라고 한다. ■ State Transition Matrix State Transition Probability : 어떤 상태 s에서 s'로 갈 확률 State Transition Matrix : 모든 state에서 State Transition Probability에 대해 행렬로 표현한..
-
[강화학습] 강화학습의 기본개념[Study] Data Science/머신러닝&딥러닝 2021. 12. 26. 22:32
강화학습의 특징 label이 없고(=supervisor가 없음), reward에 의존하여 학습한다→ 전체적인 미래의 보상을 최대화하는 행동을 선택하는 것이다. reward는 그 환경에 따라 즉각적으로 나타날 수도, 그렇지 않을 수도 있다 → 즉, 장기적인 보상을 위해서 단기적인 보상을 희생하게 될 수도 있다. Agent의 행동은 다음의 reward에 영향을 미친다. 주요 개념 1) History : observations, actions, rewards의 연속적인 데이터 2) State : 다음 step에서 일어날 일을 결정하기 위해 활용되는 정보로, 관찰 가능한 상태의 집합이다. 히스토리에 대한 함수라고 할 수 있다. ① Environment State : agent에게는 보이지 않는 환경으로 전체적인..
-
[기초통계] 표본분포[Study] Data Science/기타 2021. 12. 6. 00:24
■ 통계학의 근본목적 - 모집단에서 추출된 표본에서 얻어진 정보를 기초로, 모집단에 대해 추론하는 것 - 추론을 위해 표본에서 표본통계랑(sample statistic)을 계산 *표본통계량 값은 추출된 표본이 변함에 따라 같이 변하기 때문에, 표본통계량도 확률변수 → 표본통계량의 확률분포 : 표본분포 1. 확률표본 (배경) 모집단을 대표하기 위해서는 추출방법이 중요 → 무작위추출(random sampling)이 합리적 (정의) 확률표본? 확률추출에 의해 선택된 관측값으로 이루어진 표본, 독립적으로 동일한 확률분포로부터 추출 2.1 표본평균의 표본분포 (배경) 표본에서 구한 표본통계랑인 표본평균 Xbar를 이용하여 모평균 μ를 추론하는데 필요한 표본평균의 특성 파악 (특징) ① 확률변수 X1, X2, ....
-
XGBoost 알고리즘[Study] Data Science/머신러닝&딥러닝 2021. 11. 6. 13:22
XGBoost(Extreme Gradient Boosting)은 약한 학습기를 앙상블하여 생성하는 Gradient Boosting에서 파생된 개념으로, 지도학습 중 하나이다. XGBoost의 개념 XGBoost 알고리즘을 설명하기에 앞서, XGBoost는 회귀 혹은 분류 시에 일반적인 트리와는 다른 독특한 트리를 기반으로 하고 있다. 회귀의 경우에서 XGBoost 트리를 먼저 살펴보고자 한다. 아래와 같이 x축은 Drug Dosage를, y축은 그에 따른 효과인 Drug Effectiveness를 나타내는 데이터가 있다. Drug Effectiveness에 대한 임의의 예측값을 0.5라고 설정하자. 그리고 각각의 데이터와 임의의 예측값 0.5와의 차이를 잔차라고 한다. 1) 모든 잔차를 다음과 같이 나열..
-
[Kaggle] 신용카드 사기 거래 탐지(1)[Study] Data Science/Kaggle 리뷰 2021. 6. 15. 23:06
Kaggle의 고전적인(?) 데이터셋인 에 대해 리뷰하고자 한다. 다음 글은 대표적인 노트북 코드를 참고 후, 코드를 살펴보는 식으로 정리해봤다. (*데이터셋 출처 : https://www.kaggle.com/mlg-ulb/creditcardfraud) 해당 데이터 셋의 특징은 전체 신용카드 거래 중 이상거래의 비중이 매우 작기 때문에, 이렇게 불균형한 데이터셋에서도 예측의 정확도를 일정 수준 이상으로 잘 유지하는 것이 핵심이다. 1. 데이터셋 탐색 및 전처리 (1) 패키지 import 및 데이터셋 불러오기 import numpy as np import pandas as pd # data processing, CSV file I/O (e.g. pd.read_csv) import tensorflow as ..