코딩로그
Lec 01 - 머신러닝의 기본적인 용어와 개념 본문
<머신러닝이란 무엇일까?>
- 보통의 프로그램들은 특정한 입력에 대해 특정한 출력을 내도록 엔지니어가 코드를 작성한다. 이를 explicit programming이라고 한다. 그러나 여기에는 몇가지 문제점들이 있다.
- spam filter : 스팸을 걸러내는 경우 rule이 너무 많아서 일정한 rogic으로 해결하기가 힘들다.
- 자율주행 : 이또한 rule이 너무 많다
- 이를 해결하기 위해 나온 것이 '머신러닝'이다
- 머신러닝 : explicit programming 없이 데이터를 보고 직접 학습할 능력을 갖는 프로그램
<supervised/unsupervised learning>
# superviesd learning : 정해진, 이미 레이블된 데이터(training set)를 갖고 학습하는 것이다.
ex) 고양이인지 강아지인지 알아보는 것들
사람들이 cat이란 레이블이 달려있는 것을 주고 이게 고양이야, 학습해봐 하는 것
# unsupervised learning : 레이블되지 않은 데이터를 갖고 학습하는 것이다.
ex) google news grouping – 자동적으로 유사한 뉴스들을 그룹화한다. - 레이블화하기 어려움
ex) 비슷한 단어를 모으는 것
<supervised learning으로 해결할 수 있는 문제들>
-
강아지인지 고양이인지 같이, 이미지를 레이블링 하는 문제
-
스팸메일인지 아닌지를 판단하는 문제
-
시험성적을 예측하는 문제
<Training data set>
- 먼저 오른쪽과 같이 머신러닝 모델이 있다고 하자. 그 때 이 모델을 학습시키려면
왼쪽의 표와 같은 training data set이 필요하다.
- training data set 은 x라는 feature와 y라는 결과값으로 이루어져 있다.
- 열심히 training data set을 통해 학습을 했다고 하자. 그럼 모델은 어떻게 활용하면 될까?
- 만약 외부에서 특성 x = [9,3,6] 를 입력하면 모델은 학습을 바탕으로 y라는 결과값을 예측한다. 이렇게 활용하는것이다!
- training set : 기전 바둑의 기보
- 이세돌 선수의 돌 – 특성 X
- 알파고가 놓기로 결정한 돌 – 결과 Y
<supervised learning의 종류>
- regression : 0~100까지의 수치로 나타내는 것
- binary classification : 시험에서 pass냐 non-pass냐 하는 것
- multi-label classification : ABCDEF 중에서 골라 학점을 매기는 것.
'코딩로그 > 모두를 위한 딥러닝' 카테고리의 다른 글
4. multi-variable linear regression을 TensorFlow에서 구현하기 (0) | 2020.01.04 |
---|---|
3. linear regression의 cost 최소화 알고리즘의 원리 (0) | 2020.01.04 |
Lab 02 – TensorFlow로 간단한 linear regression을 구현 (0) | 2020.01.04 |
Lec 02 - Linear regression의 hypothesis와 cost 설명 (0) | 2020.01.04 |
Lab 01 - tensorflow의 설치 및 기본적인 operations (0) | 2020.01.04 |