머신러닝(37)
-
[MNIST] Random Forest를 이용한 간단한 모델 만들기
MNIST는 기계학습계의 "Hello world"라고 불릴 만큼 유명한 데이터셋입니다. MNIST데이터셋에는 여러 가지 종류가 있지만 이번 포스팅에서는 가장 기초적인 머신 러닝 모델 학습을 위해 숫자 데이터셋을 이용하도록 하겠습니다. 모델은 28*28 크기의 손글씨 숫자 데이터를 입력받아 해당 손글씨가 나타내는 숫자를 출력하는 간단한 모델입니다. 코드는 Jupyter notebook을 이용하여 Python3 환경에서 작성 및 실행되었으며, 제 Github Repository 에 전체 코드가 작성되어 있습니다. 머신러닝 모델을 만들기 전에 해야 할 가장 중요한 일 중의 하나는 모델에 학습시킬 데이터의 형태, 구조등을 분석하는 것입니다. 크기는 어느 정도인지, 몇 가지의 Feature가 있는지, 그리고 그 ..
2020.04.12 -
Principal Component Analysis(PCA)
Overview 머신러닝 혹은 딥러닝으로 모델을 학습시키다 보면, 엄청난 양의 행렬 연산이 요구되는 경우가 다반사입니다. 컴퓨터는 이미지, 데이터 분포등의 정보를 벡터들로 구성하여 인식하는 경우가 많기 때문에 대부분의 전처리된 Input Data는 벡터의 모습을 띄게 됩니다. 하지만 때때로 이 전처리된 벡터의 크기는 굉장히 커서, 딥 러닝 모델에 과도한 부하를 주고 학습의 효율을 떨어뜨립니다. 벡터를 구성하는 모든 차원(크기가 n인 벡터라고 할 때 n차원)의 정보가 의미있는 것은 아니며, 의미있는 부분들만 추려내어 차원을 축소시킬 수 있다면, 이는 데이터의 형태(분포)를 유지하면서 데이터의 크기를 줄여 학습의 효율을 높일 수 있을 것입니다. 예를 들어 아래 그림에서 데이터는 3차원 분포를 나타내지만, 실..
2020.04.02 -
Image Classification Pipeline
본 포스팅은 cs231n의 강좌를 정리한 글임을 서두에 밝힙니다. 캡쳐된 일부 강의 자료들은 CS231n에서 제공하는 PPT 슬라이드를 참조하였습니다. Image Classification 딥 러닝에 대한 연구가 가장 활발히 이루어지고 있는 분야 중 하나가 바로 컴퓨터 비전 분야입니다. 컴퓨터 비전(Computer Vision)이란, 기계의 시각에 해당하는 부분을 연구하는 연구 분야로, 카메라 등의 센서들을 이용해 얻은 데이터들을 식별하는 데에 주 목적을 두고 있습니다. 인간의 시각이 담당하는 중요한 기능 중의 하나가 이미지를 보고 그 이미지를 식별하는 것이라 할 수 있습니다. 마찬가지로 컴퓨터 비전 분야의 핵심 과제 중의 하나도 이와 같다고 말할 수 있는데, 이를 Image Classification이..
2020.03.28 -
Markov Decision Process (MDP)
Definition 마르코프 의사결정과정(Markov Decision Process. 이하 MDP)는 꽤 오랜 역사를 가지고 있지만, 실제적으로 인공지능 연구에 활용되기 시작한 것은 1990년대가 조금 지나서라고 합니다. 특히 의사결정과 그 보상에 대한 모델을 제시해 준다는 점에서 강화학습 (Reinforcement Learning)에 활용되고 있습니다. 강화학습은 컴퓨터가 환경과 상호작용하면서 받는 보상을 통해 더 나은 결정을 내릴 수 있도록 도와주는 모델입니다. 어떤 문제를 컴퓨터가 해결하기 위해서는 그 문제가 수학적으로 정의되어 있어야 하는데 MDP가 이 의사 결정 모델의 틀을 제공하여 수학적으로, 다시 말해서 코드화 할 수 있도록 도와줍니다. 보상은 컴퓨터(Agent)가 환경과 상호작용 하는 과정..
2020.03.28 -
Markov Chain
Definition 마르코프 체인(Markov Chain)은 마르코프 성질(Markov Property)을 지닌 확률 과정을 의미합니다. 여기서 두가지 정의하 등장하게 됩니다. '마르코프 성질(Markov Property)', '이산 확률 과정(Discrete-time Stochastic Process). 마르코프 성질이라는 것은 현재의 상태가 오로지 바로 이전의 상태에만 영향을 받는 것을 의미합니다. 다시 말해, 이전의 상태가 바로 지금 현재의 상황을 결정하는 것이라고도 할 수 있는 것입니다. 확률 과정이라는 것은 '확률 분포를 가진 임의의 변수가 일정 시간 간격으로 값을 발생시키는 것'을 수학적으로 모델링하는 데에 사용되는 개념입니다. 예를 들어 주사위를 여러번 던지는 시행이 있다고 할 때, 주사위를..
2020.03.24 -
Reinforcement Learning
보호되어 있는 글입니다.
2020.03.23