[Tensorflow] 01 머신러닝 배우기의 시작
* 비전공자이기 때문에 이 글엔 오류가 많을 수 있습니다.
01 머신 러닝에 대하여
시작에 앞서 저의 머릿속에 있는 그대로 ‘머신러닝’에 대해 설명해보겠습니다.
머신러닝은 인간의 “학습 능력”을 기계에게 접목시키는 것입니다. 알파고의 등장으로 생명체의 고유 능력인 줄로만 여겨졌던 학습이 한순간에 기계의 능력으로 전이되었습니다. ‘전이’라는 표현을 쓴 것은 알파고의 학습 능력이 이세돌보다 뛰어났기 때문입니다.
1959년 Arthur Samuel 박사는 머신러닝을 가리켜 “명시적인 프로그래밍 없이(without being explicitly programmed) 학습할 수 있는 능력(the ability to learn)”이라고 말했습니다. 기존의 컴퓨터는 언제나 프로그래머의 손에 의해 좌지우지 되었다면 기본적인 코딩만 해놓으면 컴퓨터가 스스로 학습한다는 이야기입니다.
머신러닝은 이러한 배경 속에서 탄생하였습니다. 현대화가 급속히 이루어지고 방대한 양의 데이터가 쏟아지면서 코딩을 직접 일일이 할 수 없게 된 프로그래밍 세계에서 머신러닝의 탄생은 필연적이었을 것입니다.
02 머신러닝의 분류
머신러닝은 크게 다음과 같이 분류합니다.
- Supervised learning
- Unsupervised learning
Unsupervised Learning은 이름이 붙여져 있지 않은(Unlabeled) 데이터를 컴퓨터에게 주는 것입니다. 위 그림에서 오른쪽과 같이 아무런 표식이 되어있지 않은 데이터 덩이를 던져주고 컴퓨터 스스로 학습하도록 하는 방식입니다.
음… 솔직히 맞는 말인지 모르겠네요. // 전공자 분들의 의견 부탁드립니다.
이와 반대로 Supervised Learning은 표식이 되어있는(Labeled) 데이터를 컴퓨터에게 입력하는 방식입니다. 왼쪽 그림과 같이 미리 O, X표를 쳐놓은 데이터를 컴퓨터에게 입력하면 컴퓨터는 이를 바탕으로 학습을 하게 됩니다.
대표적으로 컴퓨터에게 이미지를 학습시키는 방식이 이러합니다. ‘고양이’와 ‘사람’ 라벨이 붙여진 사진을 컴퓨터에게 입력하면 컴퓨터는 이를 바탕으로 특정 정보를 추출합니다. 반복 입력을 해주면 결국 나중에는 라벨이 붙여져 있지 않은 사진을 컴퓨터에게 입력을 해주었을 때 여태껏 학습한 정보를 바탕으로 새로운 사진을 구분해냅니다.
제가 공부해보고자 하는 거은 Supervised Learning입니다. (그 이유는 아래에서…)
03 학습도구
본격적인 공부에 앞서 머신러닝 코딩의 다수가 파이썬(Python)을 사용하길래 파이썬 기본 문법을 익혔습니다. 또한 공대 다니는 친구가 [자료구조]와 [알고리즘]이 컴퓨터/전자 관련 공학의 기본이라고 하길래 이 역시 기본적인 개념을 알고자 하였습니다.
파이썬 학습 > Codecademy
:: https://www.codecademy.com/learn/python
자료구조 > 권오흠 교수님 유투브 강의
:: https://www.youtube.com/playlist?list=PL52K_8WQO5oWDnFrXFYMyplrh94a2D2JL
알고리즘 > 권오흠 교수님 유투브 강의
:: https://www.youtube.com/playlist?list=PL52K_8WQO5oUuH06MLOrah4h05TZ4n38l
그 후 머신러닝 강의를 찾아보았고 홍콩과기대 김성훈 교수님의 <모두를 위한 머신러닝/딥러닝> 강의를 찾았습니다.
머신러닝 > 모두를 위한 머신러닝/딥러닝 강의
:: http://hunkim.github.io/ml/
04 학습의 시작
이 카테고리의 속할 게시물들은 앞으로 머신러닝/딥러닝 강의를 들으며 제가 배운 것들을 정리하게 될 글들입니다. 작성의 목적은 비전공자 입장에서 조금이라도 강의를 더 잘 이해하고자 하는 것입니다.
따라서 이 게시물을 포함하여 앞으로의 글들은 틀린 내용이 다수 포함될 수 있습니다. 저 역시 최대한 이해한 후에 글을 작성할테지만 분명 한계가 있으리라 생가됩니다. 매 게시물마다 표기하겠지만 아무쪼록 오해 없으시길 바라겠습니다.