머신러닝 용어 및 기초 지식
아주 단순하게. (사실 저도 잘 몰라요;;)
인공지능, 머신러닝이라는게 영어를 잘하면 좋겠지만, 컴퓨터 언어를 잘 알면 좋겠지만 몰라도 크게 상관 없이 배우려고만 한다면 쉽게 배울 수 있다는게 정말 놀랍다...
ML - Machine Learning
머신러닝. AI 인공지능중에 한 분야.
기계를 학습시켜서 원하는 결과를 얻는 방법으로, 어떤 방법으로, 어떤 데이터로 학습했는지가 중요하다.
train : 트레인. 트레이닝. 학습.
기계가 학습하는걸 의미한다.
[데이터-결과] 세트를 미리 만들어야 하며, 이 [데이터-결과] 세트를 주고 특정 알고리즘에 의해 분석/학습하게 된다.
test : 테스트. 예측해봐~
이제 학습이 끝났다고 하고, 학습한 알고리즘에 데이터를 던져주면 기계가 알아서 결과를 만들어 낸다.
학습이 끝난 후에 예측해보라고 실제 데이터를 주는걸 대부분 코드상에서 test 로 명시하는데, 처음에는 무지 헛갈렸다. 코드에 test 라고 나오면 실제 데이터를 주고 결과를 예측해보라고 하는거다.
RNN : Recurrent Neural Network
데이터 흐름에 순서가 있다면 적합하다.
동영상, 음악, 언어, 번역 등은 순서/흐름이 중요하고, 이전에 나온 데이터와 같이 확인해야 하므로 RNN 에 적합하다.
CNN : Convolution Neural Network
이미지 분석에 적합하다.
이 그림이 고양이인지 새인지, 그림에서 어디가 사람인지, 이 사진이 방탄소년단이 맞는지, 맞다면 멤버 누구인지 등을 분석할때 적합하다. 심지어 고양이를 학습하지 않아도 고양이 종만 따로 분류할 수도 있다.
tanh : Hyperbolic Tangent : 하이퍼볼릭 탄젠트
http://terms.naver.com/entry.nhn?docId=1120035&cid=40942&categoryId=32219
https://en.wikipedia.org/wiki/Hyperbolic_function
여기에서 3번째, 파란색 점선, 쌍곡선 탄젠트 tanh(x) 만 눈여겨 보자. (이 함수를 다시 보게 될줄이야;;;)
일정값을 넘어가면 한없이 1 에 가까워지고 (1은 아님), 일정값 이하는 -1에 한없이 가까워진다. (-1은 아님)
이 임계값을 이용해서 참/거짓을 판단할 수 있다.
이렇게 삼각함수 하이퍼볼릭 탄젠트와 비슷한 함수가 ML 에서 따로 만들어졌는데, 그게 시그모이드 함수이다.
sigmoid : 시그모이드
https://en.wikipedia.org/wiki/Sigmoid_function
tanh(x) 와 비슷하고, 일정값 (0.5) 을 기준으로 0 또는 1 을 선택할 수 있는 함수이다.
Matrix : 행렬
행렬의 덧셈과 곱셈은 어떻게 하는지는 알아두는게 좋다.
물론 몰라도 상관없지만, 알고리즘 이해를 위해 이정도는 알고 있어야 한다.
http://terms.naver.com/entry.nhn?docId=3338358&cid=47324&categoryId=47324
Supervised Learning : 수퍼바이즈드 러닝.
정해져있는 기반 데이터를 가지고 분석하는 방법. 고양이 그림을 주고 이게 고양이야 하고 알려주는 방법.
UnSupervised Learning : 언수퍼바이즈드 러닝.
기반 데이터가 정해져 있지 않다. 비슷한 뉴스를 모아라, 특정 단어가 나오는 동영상을 찾아라 같은 방법.
Regression : 리그레션 : 0~100점 사이를 예측.
Binary Classification : 바이너리 클래시피케이션 : 둘중 하나를 예측.
Multi-Label Classification : 멀티 레이블 클래시피케이션 : A, B, C, D... 여러가지중 하나를 예측.
Linear Regression : 리니어 리그레션. 1차 비례함수라고 생각하면 쉽다. y=2x+1
hypothesis : 하이퍼디시스 : 가정. 가설. 가설을 세우고 학습시킨다.
overfitting : 오버피팅 : 학습을 너무 정확하게 해서 응용이 불가능하게 되버리는 경우.
Prediction : 예측, 머신러닝 결과값.
P : Probability : 확률
http://terms.naver.com/entry.nhn?docId=1155366&cid=40942&categoryId=32214
간단하게 읽어볼만한 내용.
Cost : 코스트. 가설값/예측값과 실제값 사이에서 차이나는 정도. 에러 정도를 나타낸다. 적으면 적을수록 좋다.
differential : 디퍼런샬 : 미분. 접선의 기울기를 구하는 방법.
https://ko.wikipedia.org/wiki/%EB%AF%B8%EB%B6%84
기울기를 구하는 개념이 결과값을 예측하는 학습방법과 유사하기 때문에 미분이 뭔지는 알고 있어야 좋다.
근데 이걸로 뭘 할 수 있을까?
'Tech > 머신러닝' 카테고리의 다른 글
[정리] 모두를 위한 딥러닝 00~01 (2) | 2018.01.10 |
---|---|
파이썬 기본 문법 - edwith 최성준님 (0) | 2018.01.04 |
파이썬 실행 에러 - failed to create cublas handle (0) | 2018.01.03 |
[윈도] 딥러닝 개발환경 만들기 - TensorFlow 설치 (0) | 2017.12.19 |
머신러닝 강의 동영상 추천 - 모두를 위한 딥러닝 Sung Kim (0) | 2017.12.19 |