본문 바로가기

Programmer Jinyo/Machine Learning

머신러닝,딥러닝 초보를 위한 튜토리얼 강의 3 ( Supervised Unsupervised Learning , Classification , Regression )


투명한 기부를 하고싶다면 이 링크로 와보세요! 🥰 (클릭!)

바이낸스(₿) 수수료 평생 20% 할인받는 링크로 가입하기! 🔥 (클릭!)

2018/06/29 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 4 ( linear classification , SVM Loss Function)

2018/06/27 - [Programmer Jinyo/Machine Learning] - 머신러닝,딥러닝 초보를 위한 튜토리얼 강의 2 ( Cost Function , Gradient Descent )


이번 글을 읽기에 앞서서 이전 강의에서 정리 한 것들을 복습하자.


Y_predict, 다른말로  H( x ) 함수 ( H( x )의 H는 Hypothesis , 가설 의 약자이다.)

 - 우리가 만든 가설함수 ( 우리가 만든 예측모델)

 

Cost function

 - 함수와 실제 데이터의 차이를 '비용'으로 정의한 함수

 

Gradient descent algorithm

 - 비용을 줄이기 위해 파라미터들을 미분해서 Cost가 줄어드는 방향으로 조금씩 변화시켜 나아가는 알고리즘







자. 그럼 이제 머신러닝의 종류에 대해서 조금 더 알아보는 시간을 가지자.


기본적으로 머신러닝을 크게 분류할 때, 


Supervised LearningUnsupervised Learning으로 분류한다.



Supervised Learning 은 보통의 경우, 데이터에서 우리가 이미 정해진 답을 가지고 있는 경우를 말한다.


예를 들어, 

사진을 보여주고 -> label 정하기.

Mail을 보여주고 -> Spam인지 아닌지 정하기.

시험 공부를 한 시간을 알려주고 -> 성적 예측하기.



적나라하게 말해서, Cost function을 만들 때 '정답과의 차이'를 비교하는 방식으로 진행되는 학습 방법이 Supervised Learning이다.


오늘은 Supervised Learning의 내용을 주로 다루게 될 것이다.


그럼 반대로,


Unsupervised Learning은 정해진 답은 없지만, 최대한 예쁜 결과를 내기 위해서 노력하는 것이라고 할 수 있는데


예를 들어,


비슷한 뉴스끼리 그룹짓기.

단어간의 유사도 분석하기.


등등의 것들이 될 수 있겠다.


Supervised Learning 또한 어떤것을 학습하기 원하느냐에 따라서 그 분류를 세분화시킬 수 있다.


( 이렇게 세분화 시키는 이유는 Model (가설함수나 Cost Function) 설계가 각각 조금씩 달라질 수 있기 때문이다. )


Supervised Learning은 


어떠한 


'분류'를 맞추게 되는 Classification 과 

''을 맞추게 되는 Regression 으로 나누게 된다.





Classification은 예를들어, 


어떤 단어가 욕설인지 아닌지 두 카테고리중 하나로 분류한다거나, 

Spam인지 아닌지 메일을 분류한다거나, 

어떤 숫자 이미지가 0인지 1인지 2인지.. 9인지 분류한다거나 하는 등의

'몇몇개의 class로 분류' 를 하는 작업을 수행하게 되고


Regression은


내일 온도를 맞춘다거나,

내일 주식의 가격이 어떤 가격이 될지를 맞춘다거나 하는 등의

'연속되는 수'를 맞추는 작업을 수행하게 된다.


다음 글에서는 실제로 어떻게 이 모델을 설계하는지에 대해 알아보겠다.