오늘부터 ML 공부를 차근차근 시작해보려고 한다. 강의를 들으면서 이해하지 못한 부분이나 놓친 개념이 많은 것 같아 백지 상태로 돌아가 처음부터 공부하는 것이 좋을 것 같았다.
공부 기록을 남기면서 나중에 다시 볼 수 있도록 잘 정리하는 것이 목표이다.
공부에 사용할 교재는 모두의 딥러닝 개정3판(조태호 저), 밑바닥부터 시작하는 딥러닝(사이토 고키 저)이며 수업 강의록도 참고한다.
모두의 딥러닝 1장, 2장과 강의록을 인트로 삼아 머신러닝 공부를 시작해보도록 하겠다.
📌머신러닝이란?
인공지능의 하위 범주로 기존의 데이터를 이용해 앞으로의 일을 예측하는 것이다. 딥러닝은 머신러닝의 한 종류가 되는 알고리즘으로, 인공지능, 머신러닝, 딥러닝의 관계는 이러한 포함관계를 가지고 있다.
인공지능 > 머신러닝 > 딥러닝
딥러닝의 실행을 위해 필요한 요소로는 입력할 데이터와 프로그램을 돌릴 컴퓨터, 프로그램이 필요하다. 머신러닝 프로그램을 실행시킬 때에는 GPU가 탑재된 하드웨어를 갖추는 것이 좋다.
나는 환경이 갖추어지고 GPU 프로세서를 사용할 수 있는 Google Colab을 이용하여 앞으로의 실습과 프로젝트를 진행 할 예정이다.
📌머신러닝의 종류
지도 학습(Supervised learning)
output이 lable(target value)로 주어진다. 맞춰야 정답이 있는 것이라고 생각할 수 있다. ex) 면접자의 합격 여부 예측
1) Classification(Discrete)
분류하는 것이다. 예/아니오와 같이 두 class를 가진 분류, 동물 종 분류와 같은 예시를 생각하면 된다. KNN 알고리즘이 이에 포함된다.
2) Regression(Continous)
예측할 값이 Continous한 경우이다. ex) 집값 예측
비지도 학습(Unsupervised learning)
올바른 정답인 lable(target value)이 주어지지 않은 경우. input만 주어진다. ex) lable이 주어지지 않고, 100명의 사람이 주어지면 공통 특성을 파악해 3개의 팀으로 분류하기
1) Clustering(Discrete)
유사도를 이용한 군집화를 생각할 수 있다.
2) Density estimation(Continous)
ex) Expectation maximization
Semi-Supervised learning
강화학습(Reinforcement learning)
📌몇몇 용어
Model
머신러닝에서 본 적이 없는 데이터를 가지고 예측하는 패턴 학습 프로그램
Feature
데이터를 설명하는 input 값
ex) 식물 분류 - 잎 너비, 줄기의 둘레, 성장 속도, 색깔 등
Lable
예측하려고 하는 실제 항목
지도학습에서의 정답이 된다.
📌주요 라이브러리
머신러닝에서는 파이썬을 사용하는데, 파이썬은 라이브러리가 다양하게 잘 갖추어져있는 것이 장점이다.
주로 사용하는 라이브러리가 정해져 있는데, 몇가지 소개하겠다.
numpy
벡터, 행렬 다룰 때 사용
pandas
행렬 데이터, 엑셀 데이터 다룰 때 사용. excel 읽기/쓰기
scikit-learn
지도학습, 비지도학습 모델에 사용
matplotlib
시각화(그래프)에 사용
머신러닝을 간단하게 개괄해보았다.
당분간은 입문 수준의 공부 정리가 될 것이다.
입문만 할 것인지, 더 공부해볼 것인지는 앞으로 공부하면서 느끼는 흥미에 따라 달라질 것이다. 하지만 내가 할 수 있는 안에서 최선을 다 할 것이라는 것은 확실히 기록해두고 싶다.
앞으로 어떻게 될 지는 모르겠지만 수강하고 있는 이상 열심히 해보자.