본문 바로가기

인공지능/스터디

(17)
[강화학습: RL] 3-2. Asynchronous Dynamic Programmin(비동기적 동적 계획법) 단단한 강화 학습 4장 '동적 프로그래밍'과 인터넷 강의를 참고해서 만든 게시글입니다. 이전의 내용은 아래의 링크를 참고해주세요. [강화학습: RL] 3-1. Dynamic Programmin(DP, 동적 계획법) 단단한 강화 학습 4장 '동적 프로그래밍'과 인터넷 강의를 참고해서 만든 게시글입니다. 이전의 내용은 아래의 링크를 참고해주세요. [강화학습: RL] 2-2. 마르코프, Markov(MDP) 단단한 강화 학습 3장 ekdud7667.tistory.com DP보다 더 효율적인 Asynchronous DP(비동기적 동적 계획법)에 대해서 다루겠다. 기존의 DP는 정책 평가를 반복하고, 정책평가가 수렴한 뒤 정책 개선을 반복했다. 즉, 정책 반복 안에서 정책 평가, 정책 개선 2개의 반복문이 돌아야..
[강화학습: RL] 2-1. 마르코프, Markov(MP, MRP) 단단한 강화 학습 3장 '유한 마르코프 결정 과정'과 인터넷 강의를 참고해서 만든 게시글입니다. 이번 게시글에서는 MP, MRP를, 다음 게시글에서는 MDP(Markov Decision Process, 마르코프 결정 과정)을 다루도록 하겠다. MP(Markov Processes): 마르코프 과정 마르코프 특성 $P(S_{t+1}|S_t)= P(S_{t+1}|S_t, S_{t-1},...S_0)$ 현재 상태 $S_t$를 알면 역사를 아는 것과 동일한 수준으로 미래 상태를 추론할 수 있다. 즉, 미래 상태는 과거와 무관하게 현재의 상태만으로 결정될 수 있다. 따라서 마르코프에서는 과거의 state는 필요 없고, 현재의 state만 있으면 학습이 가능하다. 정의 MP는 인 튜플로 정의된다. - S: (유한한)..
[강화학습: RL] 1. 개요 이 게시글은 단단한 강화 학습과 인터넷 강의를 참고해서 쓴 글입니다. 개념 강화학습이란 주어진 상황에서 어떠한 행동을 취할지를 학습하는 것이다. 이때 그 행동의 결과는 최대한의 보상(이득)을 가져다줘야 한다. 강화 학습은 지도 학습, 비지도 학습과는 전혀 다르다. 지도 학습처럼 label이 있지도 않고, 비지도 학습처럼 데이터 집합 안에서 숨겨진 구조를 찾으려 하지 않기 때문이다. 강화 학습은 exploitaion과 exploration사이에서 절충을 해야 한다. exploitation: 학습 내용을 기준으로 최대 보상을 받을 수 있는 action을 선택한다. exploration: 더 좋은 보상이 있는지 확인하기 위해 현재의 최대 보상이 아닌 다른 action을 선택한다. 구성요소 구성요소에는 poli..
Embedding Embedding의 필요성 skip gram은 encording이 아닌 embedding에 포함되어 있다. embedding은 단어를 벡터로 표현하는 encording과 유사하지만 큰 차이점이 있다. onehotencording은 encording의 대표적이 예시인데, 하지만 이 벡터들은 유사도가 없다. 예를 들어, king과 man은 woman보다 유사도가 높아야하는데 이를 표현할 수가 없다. 이 문제점을 보완하기 위해 embedding이 나왔다. embedding을 적용하면 encoding보다는 낮은 차원이 나오지만 의미있는 숫자로 구성되어 유사도를 표현할 수 있다. Embedding 절차 1. neighbor 설정(window) skip gram은 문장이 주어졌을 때 특정 단어에서 window si..
SVM(2): Kernel, polynomial Kernel, Radial Kernel(RBF) SVM을 이해하기 위해 필요한 Maximal Margin Classifier, SVC를 설명하고 최종적으로 SVM을 설명하겠다. SVM에 사용되는 kernel, Kernel Trick도 알아보자. 아래의 내용은 https://www.youtube.com/user/joshstarmer를 보며 정리한 내용이다. 1. Maximal Margin Classifier 쥐의 무게를 보고 정상인지 비만인지 분류해보자. 임계값을 주황색 선으로 잡고, 임계값보다 작으면 주황색(정상), 크면 (비만)으로 분류하겠다. 새로운 점(초록점)이 들어온다면, 입계 값보다 크기 때문에 비만 데이터로 예측할 것이다. 하지만 만약 임계값에 가까운 검은색 데이터가 들어온다면 어떻게 될까? 임계값보다는 크기 때문에 비만으로 분류되겠지만, ..
Adaboost(에이다부스트) Adaboost는 Random Forest의 Boost모델 일종이다. Boost와 Bagging에 대한 설명은 아래 링크를 걸어두겠다. https://ekdud7667.tistory.com/13?category=887591 [Ensemble] 개요(Bagging, Boosting, Stacking) 아래의 포스팅은 팀블로그인 '데이터 맛집'에서 참고한 내용입니다. 팀블로그-앙상블 기법정리 [앙상블 기법 정리] 1. 앙상블(Ensemble) 기법과 배깅(Bagging), 부스팅(Boosting), 스태킹(Stacking) 안녕하세요,.. ekdud7667.tistory.com 개념 아래의 그림처럼 +와 -를 Adaboost를 이용해 나눠보자. 그림에서는 왼쪽 +를 모두 맞췄지만 오른쪽 + 3개를 맞추지 못..
SVM(Support Vector Machine)(1) 서포트 벡터 머신은 지도 학습 모델로 분류와 회귀 분석을 위해 사용한다. 두 개의 카테고리가 주어질 때 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델이다. SVM은 2차원에서 2개의 카테고리로 나눌 수 없으면 3차원, 4차원..으로 차원을 확장한다. 즉, 차원을 확장해 2개의 카테고리를 어떻게 잘 나눌 수 있느냐에 대한 모델이다. 그렇다면 SVM은 데이터를 어떻게 나눌까? Hard margin SVM Soft margin SVM Nonlinear SVM 3개를 나눠서 설명할 예정이며, 2번과 3번은 다음 링크에 게시했다. 1. Hard margin SVM 개요 2차원 이런 데이터가 있다고 했을 때 직선 $B_1, B_2$는 모두 데이터를 잘 나누고 있다. 하지만 $B_1,..
KNN CF(Collaborative Filtering) 구현 KNN을 2가지 방법으로 구현하겠다. 참고한 출처는 맨밑에 있다. (팀블로그 :데이터 맛집 에도 게시한 내용입니다.) 1. sklearn패키지 이용 2. 코드 구현 1. sklearn패키지 사용 Import & Data df는 rating, movie 데이터로 만든 데이터 프레임이다. rating을 하나도 못받은 영화의 경우, df_rating movie id가 존재하지 않기 때문에 df 데이터프레임을 만들었다. 1 2 3 4 5 6 7 8 9 10 import pandas as pd import numpy as np import glob import matplotlib.pyplot as plt from matplotlib.backends.backend_pdf import PdfPages import t..