머신러닝(Machine Learning) 분류

2020. 8. 10. 23:57캐리의 데이터 세상/캐리의 데이터 공부 기록

반응형

머신러닝 수업을 시작하긴 했으나 낯선 용어들과 빠른 진도로 큰 그림을 보기에는 부족한 것 같아서 개념들, 관련 영상들 찾아보면서 익히는 내용들 정리해 봅니다. 600페이지가 넘는 <파이썬 머신러닝 완벽 가이드> 교재로 수업을 듣고 있기에 기본 개념들은 책에서 살짝 발췌하되 다루는 예제들도 이미 전 세계적으로 알려진 오픈소스니 영어 영상들 검색하면 다 나옵니다. 회귀, 강화학습 등 우리말로 풀었을 때 더 애매한 한자어들 어차피 코드 짜려면 다 영어라서 영어 표기도 함께! 먼저 AI, 머신러닝, 딥러닝의 개념을 아래 표와 함께 간단하게 정의하면,

 

인공지능 / 머신러닝 / 딥러닝 정의

 

 

 

Source : 오라클 블로그

 

 

머신러닝의 분류

머신러닝은 일반적으로 지도학습(Supervised Learning), 비지도학습(Un-supervised Learning), 강화학습(Reinforcement Learning)으로 나뉜다. 지도학습의 대표적인 머신러닝은 분류(Classification)와 회귀(Regression), 비지도 학습에는 대표적으로 클러스터링(Clustering)을 들 수가 있다.

 

지도 학습(Supervised Learning)c

 

  • 지도 학습은 입력 값(x)과 정답(t, label)을 포함하는 Training Data를 이용하여 학습, 학습된 결과를 바탕으로 Test Data에 대한 미래 값을 예측(Predict) 하는 방법이다. 학습결과를 바탕으로 미래의 무엇을 예측하느냐에 따라 회귀와 분류 등으로 구분할 수 있다.
  • 분류(Classification) : Training Data를 이용하여 주어진 입력 값이 어떤 종류인지 구별
  • 회귀(Regression) : Training Data를 이용하여 연속적인(숫자) 값을 예측
  • 추천시스템
  • 시각/음성 감지/인지
  • 텍스트 분석, NLP

 

비지도 학습(Unsupervised Learning)

비지도 학습은 Training Data에 정답은 없고 입력 데이터만 있음. 입력에 대한 정답을 찾는 것이 아닌 패턴이나 특성 등을 학습을 통해 발견하는 방법. (예: 군집화를 이용한 뉴스 그룹핑, 상품 추천 시스템 등)

 

  • 클러스터링
  • 차원 축소

 

지도 학습과 비지도 학습의 프로세스를 순서도로 나타내면 하기와 같습니다. 참고로 해당 자료는 사이킷런의 핵심개발자인 Andreas Mueller의 강의 슬라이드에서 가져왔는데요, 사이킷런 기반 머신러닝의 전반적인 흐름을 파악할 수 있는 심플한 자료라서 한번 살펴보시면 좋을 것 같습니다.

 

지도학습 프로세스
지도학습 프로세스

 

비지도학습 프로세스
비지도학습 프로세스

Image Source : amueller/odscon-2015

 

파이썬 머신러닝 생태계 구성하는 주요 패키지

  • 머신러닝 패키지 : 가장 대표적인 사이킷런(Scikit-Learn)은 데이터 마이닝 기반의 머신러닝에서 독보적인 위치. 텐서 플로, 케라스 등 전문 딥러닝 라이브러리는 영상, 음성, 언어 등의 비정형 데이터 분야에서 각광 받음
  • 행렬/선형대수/통계 패키지 : 머신러닝의 이론적 백그라운드는 선형대수와 통계로 이뤄짐. 넘파이(NumPy)파이썬의 대표적인 행렬과 선형대수를 다루는 패키지다. 사이킷런을 비롯한 많은 머신러닝 패키지가 넘파이 기반임. 
  • 데이터 핸들링 : 판다스(Pandas) 파이썬 세계의 대표적인 데이터 처리 패키지. 넘파이는 행렬 기반의 데이터 처리에 특화되어 있어서 일반적인 데이터 처리에는 부족한 부분이 많음. 판다스는 2차원 데이터 처리에 특화.
  • 시각화 : Matplotlib, Seaborn

참고교재 <파이썬 머신러닝 완벽 가이드, 위키북스>

 

 

기본 개념을 간단하게 정리해보니 어떤 공부로 보완해야 할지 윤곽이 조금씩 잡히는 듯합니다. 무작정 선형대수만  팔 수는 없으니 가장 중요한 넘파이와 판다스 기본 프레임워크와 많이 쓰이는 API만 습득하고 예제로 부딪혀봐야 할 듯한데요, 수업 때도 사이킷런 기반으로 캐글 예제 다뤄보면서 분석을 바로 들어가고 있기에 초심자인 만큼 따라 하기부터 응용까지 차근차근해보겠습니다. 

 

수포자는 아니었고 수학을 좋아하던 문과생 상경계 출신인데 10여 년 전 통계학 수업에서 잠깐 접했던 행렬과 미분을 다시 마주하니 잠깐 숨이 턱 막혔지만 시대가 좋아서인지 정말 쉽게 또 이미지화되도록 잘 가르쳐 주는 유튜버들이 넘쳐납니다. 오래간만에 수학 공부도 곁들이니 굳었던 뇌가 살아나는 느낌이 들긴 하는데요, 칸 아카데미는 영상 수가 많아서 시간 날 때마다 찬찬히 보고 최근에 봤던 압축 버전 영상 및 채널 몇 개 소개합니다:)

머신러닝의 기초 - 선형 회귀 한 번에 제대로 이해하기(유튜브 동빈나)

 

초등학생도 이해하는 미분(유튜브 깨봉)

머신러닝, 딥러닝을 위한 수학 공부 가이드(유튜브 Matt)

 

그럼 저를 비롯하여 수학 때문에 겁먹고 인공지능 공부를 포기하는 일이 없길 바라며^^ 그나마 영어에 대한 두려움은 사라진 게 다행인 것 같습니다. 확실히 영어 영상들이 눈과 귀에 잘 들어오게 잘 설명하는 자료들이 넘쳐나기에 한글로는 애매한 지도 vs 비지도 학습 예시와 함께한 비교 영상도 함께 소개합니다.

 

Machine Learning Basics

 

What Is Artificial Intelligence? Crash Course AI #1

 

대표적인 AI 로봇인 Sophia와 나눈 인터뷰 영상도 한번 보세요. AI 로봇에게 코로나바이러스 대응에 AI가 어떤 역할을 할 수 있을지 얘기한다는 설정 자체가 흥미. 요건 올해 6월 영상인데 연도별로 소피아의 언어 실력이 얼마나 변천했는지 살펴보는 것도 AI 기술이 어느 정도 발전했는지 느껴볼 수 있을 것 같습니다.

Neil deGrasse Tyson and Sophia the Robot Explore COVID-19 and Artificial Intelligence

 

반응형