머신러닝&딥러닝 #1_3 Machine Learning

2019. 12. 29. 20:13필요/AIOT

안녕하세요. 연말 잘 보내고 계신지요.

교육에선 통계적 툴로 활용되는 Python의 몇 패키지를 짚고 넘어갔지만 저는 그냥 넘어가겠습니다.

Machine Learning

머신러닝의 개념을 설명하겠습니다.

Machine은 기계, 컴퓨터의 의미지만 여기선 그 단계가 매우 낮습니다. Model, Algorithm의 역할을 수행합니다.

수학에서의 함수로 생각하면 됩니다. x값을 주면 y값을 도출하는 F(x)입니다.

Learning은 학습이라는 뜻입니다. (행동을 바꿈으로써) 변화를 이끌어내기 위해 하는 것입니다.

수행할 작업을 명확히 정해야하고 (예측, 분류)

그 결과를 판단할 기준도 필요합니다.(예측은 Mean square Error, 분류는 Cross Entropy Error)

이 ②MSE, CEE는 실제 y값과 기계가 판단한 y값의 차이입니다. (Error이기에 낮을수록 좋습니다)

그리고 학습을 함에 따라 ③Update를 해줘야 합니다. 일반적인 y = w*x + b 의 함수를 차용하면 w와 b(Parameter)의 값을 바꿔주는 것이지요.

정리하자면 머신러닝은 주어진 input(x)와 output(y)을 기반으로 최적의 함수를 찾는 것입니다.

함수를 만든뒤에도 새로운 Data가 등장하면 그때 그때 Update를 해줘야 됩니다. 이를 수작업으로 하면 너무 오래 걸리기에 따로 코딩하지 않아도 x, y 값(New Data)을 주면 알아서 학습(함수를 수정) 하는 것이 머신러닝입니다!

 

But,,,,, x,y 값을 동시에 줘야 합니다. x에 대한 y값(답)을 인간이 주는 것이 Labeling입니다.

이렇게 x,y를 제공하는 학습이 지도 학습입니다.

Data가 아무리 많아도 Labeling 안되면 Garbage입니다. 물론 비지도학습도 있지요.

이렇게 종류가 나뉩니다. 비지도 학습은 x만 가지고 연습하는 것으로 함수기반이 아닙니다.

딥러닝은 100% 지도 학습입니다. (교수님이 비지도 학습은 이번 교육에서 다루지 않는다고 하셨습니다)

 

 

 

지도 학습에 대해 조금만 더 알아보고 마치겠습니다

분류  /   예측

분류, 예측 모두 함수를 기반으로 x에 대한 y를 제공합니다.

y ~ ax + b (x로 y를 설명하겠다)

이를 위해 x, y 값이 모두 필요한 것입니다.

 

머신러닝은 구조적 데이터 학습에 적합하고 (비선형 거의 불가),

딥러닝은 비선형도 가능하다고 합니다.

이는 차후에 설명하겠습니다.

다음 시간엔 머신러닝, 딥러닝 모두에 쓰이는 Gradient Descent(경사 하강)에 대해 배우겠습니다.

_ _