-
머신러닝(machine learning)의 기본 개념과 원리 (인공지능 vs. 머신러닝 vs. 딥러닝)머신러닝 with R 2020. 2. 22. 18:34
인공지능 vs. 머신러닝 vs. 딥러닝
머신러닝에 대해 공부하다 보면 여러가지 알고리즘을 볼 수 있는데.
특히 초반에 딥러닝과 머신러닝의 개념이 섞여 있어 이것을 어떻게 구분해야 할지 헷갈리곤 했다.
내가 공부하는게 머신러닝인가 딥러닝인가...
결국 이렇게 구분하는게 큰 의미가 없다는 것을 깨달았지만!
그래도 이론적으로는 어느 정도 구분을 해두면 공부할 때 조금 더 도움이 되는 것 같기도 하다.
위 다이어그램 처럼 AI 라고 부르는 인공지능에서 머신러닝이라는 개념이 생겨나게 되었고 이를 더 발전시켜 성능을 업그레이드 시킨 개념을 딥러닝이라고 한다.
인공지능은 말 그대로 기계가 사람의 행동을 모방하게 하는 기술이다.
이는 어떻게 보면 뜬구름 잡기 같은 개념이기도 하다. 하지만 머신러닝을 통해 인공지능에 한발짝 더 다가가게 되었다.
사람처럼 기계도 데이터로부터 학습을 할 수 있게 된 것이다.
또한 딥러닝을 통해 인공신경망에 기반하여 더 많은 데이터들을 학습 할 수 있게 되었다.
엄밀히 말하면 ANN, CNN, RNN 등과 같은 알고리즘은 딥러닝에 속하지만 딥러닝이 머신러닝에 포함되어 있으니 머신러닝이라고 불러도 크게 틀리지 않는 말이다.
머신러닝의 수학적 원리
그렇다면 머신러닝의 좀 더 수학적인 개념에 대해 알아보자.
주어진 데이터를 통해 입력변수와 출력변수 간의 관계를 만드는 함수 f를 만드는 것이 머신러닝이다.
" f(x)=ax+b "
일차방정식 문제에서 x 와 y의 값을 알고 있을 때 기울기와 절편을 구하는 것이 목적이 었다.
머신러닝에서는 이와 비슷하게 " H(x)=wx+b " 라는 식으로 표현할 수 있다.
즉 독립변수 (입력변수)와 종속변수 (출력변수)가 있다면 종속변수를 예측할 수 있도록 가장 적합한
w (weight)와 b (bias)를 구하는 것이 목표이다.
Neural Network
왜 신경망이라는 이름이 붙여졌을까?
인간의 신경세포를 모방하여 '퍼셉트론(Perceptron)' 이라는 알고리즘 구조를 만들게 되었기 때문이다.
위 그림처럼 인간의 신경세포는 수상돌기와 축삭돌기 등으로 이루어져 있다. 수상돌기에서는 여러개의 신호를 입력받아 종합 한 후 축삭돌기에서 다른 신경세포에 신호를 전달한다.
이와 마찬가지로 퍼셉트론에서 여러개의 신호(Input node)를 입력 받아 하나의 신호 (Output node)를 출력한다. 수상돌기와 축삭돌기의 역할을 파라미터(가중치와 편향)가 한다고 볼 수 있다.
반응형'머신러닝 with R' 카테고리의 다른 글
[데이터분석] 데이터 분석 기법, 회귀분석 (Regression Anaylysis) (0) 2022.10.25 [R 데이터 분석/ 기초 통계] 확률변수, 확률질량함수, 누적분포함수, 이항분포, 포아송분포 (random variable, probability mass function, cumulative distribution function) (0) 2020.04.25 [R 데이터 분석] 나이브 베이즈 분류 (Naive Bayes Classification) (0) 2019.11.03 [R 데이터 분석] 분류모형, 서포트 벡터 머신 (SVM) 분석 (1) 2019.09.18 [R 데이터 분석] 최근접 이웃 (K-Nearest Neighbor, KNN) 분석 (0) 2019.09.15