| 기계 학습과 데이터 마이닝 |
| --- |
| Scatterplot featuring a linear support vector machine's decision boundary (dashed line) |
| 패러다임
* 지도 학습
* 비지도 학습
* 온라인 기계 학습
* 메타-학습
* 준지도 학습
* 자기 지도 학습
* 강화 학습
* 규칙 기반 기계 학습
* 양자 기계 학습
 |
| 문제
* 분류
* 클러스터 분석
* 회귀 분석
* 클러스터 분석
* 이상 탐지
* 데이터 정제
* 연관 규칙
* 구조 기반 예측
* 특징 공학
* 특징 학습
* 순위 학습
* 문법 유도
* 온톨로지 학습
* 멀티모달 학습
 |
| 지도 학습 (**통계적 분류** • **회귀 분석**)
* 결정 트리 학습법
* 앙상블 학습법 (배깅, Boosting, 랜덤 포레스트)
* 최근접 이웃 탐색
* *k*-NN
* 선형 회귀
* 나이브 베이즈
* 인공신경망
* 로지스틱 회귀
* 퍼셉트론
* 상관 벡터 머신(RVM)
* 서포트 벡터 머신(SVM)
 |
| 클러스터 분석
* BIRCH
* 계층적 군집화
* *k*-평균 알고리즘
* 기댓값 최대화 알고리즘
* DBSCAN
* OPTICS
* Mean-shift
 |
| 차원 축소
* 인자 분석
* CCA
* 독립 성분 분석
* LDA
* 음수 미포함 행렬 분해
* 주성분 분석
* t-SNE
 |
| 구조화 예측
* 그래프 모형
	+ 베이즈 네트워크
	+ 조건부 무작위장
	+ 은닉 마르코프 모형
* 잠재 디리클레 할당
 |
| 이상 탐지
* *k*-최근접 이웃 알고리즘
* 국소 특이점 요인
 |
| 인공 신경망
* 오토인코더
* 인지 컴퓨팅
* 딥 러닝
* 딥드림
* 생성적 적대 신경망
* 다층 퍼셉트론
* 순환 신경망
	+ LSTM
	+ GRU
* 제한된 볼츠만 머신
* 변환기
	+ 비전
* 자기조직화지도
* 합성곱 신경망
 |
| 강화 학습
* Q 러닝
* SARSA
* 시간차 학습
 |
| 인간 참여학습
* 러닝 커브
* 크라우드소싱
* 인간 참여형
 |
| 모델 진단
* 러닝 커브
 |
| 이론
* 편향-분산 트레이드오프
* 계산학습이론
* 경험적 위험 최소화
* PAC 러닝
* 통계적 학습이론
* VC 이론
 |
| 회의/저널
* NeurIPS
* ICML
* ICLR
* ML
* JMLR
 |
| 관련 문서
* 기계 학습 알고리즘 목록
 |
| * v
* t
* e
 |

**Q 러닝**(Q-learning)은 모델 없이 학습하는 강화 학습 기법 가운데 하나이다. Q 러닝은 주어진 유한 마르코프 결정 과정의 최적의 정책을 찾기 위해 사용할 수 있다. Q 러닝은 주어진 상태에서 주어진 행동을 수행하는 것이 가져다 줄 효용의 기대값을 예측하는 함수인 Q 함수를 학습함으로써 최적의 정책을 학습한다. 정책이란 주어진 상태에서 어떤 행동을 수행할지 나타내는 규칙이다. Q 함수를 학습하고나면 각 상태에서 최고의 Q를 주는 행동을 수행함으로써 최적의 정책을 유도할 수 있다. Q 러닝의 장점 중 하나는 주어진 환경의 모델 없이도 수행하는 행동의 기대값을 비교할 수 있다는 점이다. 뿐만 아니라 Q 러닝은 전이가 확률적으로 일어나거나 보상이 확률적으로 주어지는 환경에서도 별다른 변형 없이 적용될 수 있다. Q 러닝은 임의의 유한 MDP에 대해서 현재 상태에서 최대의 보상을 획득하는 최적의 정책을 학습할 수 있다는 사실이 증명되어 있다.

알고리즘
----

Q 러닝이 해결하고자 하는 문제는 하나의 에이전트(의사결정자), 상태의 유한 집합 S, 그리고 각 상태 {\displaystyle s\in S}에서 취할 수 있는 행동의 집합 {\displaystyle A\_{s}\subseteq A}으로 구성된다. 어떤 상태 s에서 어떤 행동 {\displaystyle a\in A\_{s}}를 취하면 에이전트는 이에 따른 보상을 얻는다. 에이전트의 목표는 보상의 총합을 최대화하는 것이다. 이를 위해 에이전트는 각 상태에서 어떤 행동을 취하는 것이 최적인지 학습해야 한다. 각 상태에서 최적의 행동이란, 그 상태에서 장기적으로 가장 큰 보상을 얻을 수 있도록 하는 행동을 의미한다. 장기적인 보상을 계산할 때에는 보통 할인된 보상의 총계(sum of discounted rewards)의 기댓값을 계산하며, 여기서 지금으로부터 \Delta t 시간 후에 얻는 보상 r은 {\displaystyle \gamma ^{\Delta t}} 만큼 할인되어 {\displaystyle r\cdot \gamma ^{\Delta t}}로 계산된다. 이 때 \gamma 는 0과 1 사이의 값을 가지는 할인 인자(discount factor)로, 현재 얻는 보상이 미래에 얻는 보상보다 얼마나 더 중요한지를 나타내는 값이다.

알고리즘은 각 상태-행동 쌍에 대하여 다음과 같은 Q 함수를 가진다.

{\displaystyle Q:S\times A\to \mathbb {R} }
알고리즘이 시작되기 전에 Q 함수는 고정된 임의의 값을 가진다. 각 시간 t에 에이전트는 어떠한 상태 {\displaystyle s\_{t}}에서 행동 {\displaystyle a\_{t}}를 취하고 새로운 상태 {\displaystyle s\_{t+1}}로 전이한다. 이 때 보상 {\displaystyle r\_{t}}가 얻어지며, Q 함수가 갱신된다. 알고리즘의 핵심은 다음과 같이 이전의 값과 새 정보의 가중합(weighted sum)을 이용하는 간단한 값 반복법이다.

{\displaystyle Q(s\_{t},a\_{t})\leftarrow (1-\alpha )\cdot \underbrace {Q(s\_{t},a\_{t})} \_{\rm {old~value}}+\underbrace {\alpha } \_{\rm {learning~rate}}\cdot \left(\overbrace {\underbrace {r\_{t}} \_{\rm {reward}}+\underbrace {\gamma } \_{\rm {discount~factor}}\cdot \underbrace {\max \_{a}Q(s\_{t+1},a)} \_{\rm {estimate~of~optimal~future~value}}} ^{\rm {learned~value}}\right)}
\alpha 는 학습 속도 인자로, 0보다 크고 1보다 작거나 같은 값을 가진다.

도달한 상태 {\displaystyle s\_{t+1}}이 종결 상태일 경우 알고리즘의 에피소드 하나가 끝난다. 그러나, Q 러닝은 작업이 에피소드로 구성되지 않더라도 학습이 가능하다. 할인 인자 \gamma 가 1보다 작을 경우 무한히 반복하더라도 할인된 총계는 유한하기 때문이다.