[머신러닝] 개념

kkiyou·2021년 7월 21일
0

Machine Laerning

목록 보기
1/10

1. 머신러닝의 정의

Machine Learning은 사전에 정의된 알고리즘에 따라, 데이터의 패턴을 학습하여 결과를 예측하는 기법을 의미한다. 머신러닝 알고리즘은 다양한 수학적 기법을 활용하여, 예측 오류를 최소화고 데이터의 통계적 신뢰도를 향상시켜 인간이 찾아내기 어려운 거대한 데이터 속에서 특별한 인사이트를 찾아낸다.

y=f(x)y = f(x)
머신러닝은 위와 같은 수식으로 표현할 수 있다.
yy는 Label / Target 등으로 불리며 종속변수로서 우리가 알고싶은 값을 의미한다.
xx는 feature로 불리며 독립변수로서 y를 결정하는 요인이다.
f()f()는 머신러닝 모델로서 독립변수 x를 넣으면 y가 나오도록 하는 수식을 의미한다.

따라서 머신러닝은 빅데이터 집합 xx를 머신러닝 모델 f()f()에 집어넣어 결과값 yy를 도출하는 과정이라고 할 수 있다.




2. 머신러닝의 분류

2.1. 지도 학습

Supervised Learning(지도 학습), 입력값과 결과값(정답)이 존재하는 데이터를 활용해 학습하는 방식이다. 일반적으로 입력값을 바탕으로 미래 결과를 예측하는데 주로 사용한다.


분류

  • 분류(Classification)
  • 회귀(Regression)
  • 추천 시스템
  • 시각/음성 감지/인지
  • 텍스트 분석, NLP

2.2. 비지도 학습

Unsupervised Learning(비지도 학습), 입력값만 존재하는 데이터를 활용해 학습하는 방식이다. 일반적으로 데이터의 유사성을 파악해 Grouping하는데 주로 사용한다.


분류

  • 군집화(Clustering)
  • 차원 축소(Dimension Reduction)
  • 강화 학습(Reinforcement Learning)

2.2.1. 강화 학습

Reinforcement Learning(강화 학습), 행동 심리학 이론을 기반으로 보상을 통해 알고리즘을 강화해나가는 학습 방식이다. 일반적으로 게임, 로봇 등 최적의 동작을 찾는데 주로 사용한다.




3. 머신러닝의 특징

3.1. 장점

3.2. 단점

  • 데이터에 대한 의존성이 매우 강하다. 때문에 무의미한 데이터를 넣으면 쓰레기 같은 결과를 반환한다.(Garbage In, Garbage Out.)



4. 주요 Python Package

1) 머신러닝 패키지

  • Scikit_Learn(사이킷런)
  • TensorFlow(텐서플로)
  • Keras(케라스)
    ...

2) 행렬/선형대수/통계 패키지

  • Numpy
  • SciPy

3) Data Handling

  • Pandas
  • Matplotlib

**4) 시각화

  • Matplotlib
  • Seaborn(시본)



5. 용어

  • Hyper Parameter(하이퍼 파라미터)
    최적의 머신러닝 알고리즘 학습을 위해 직접 입력하는 Parameter를
    의미한다.

  • Label(레이블)
    datasets에 포함되어 있는 결정값(정답)을 의미한다.

  • Target
    ML 학습의 결과로 도출하기 위한 목표(정답)을 의미한다.

  • Class
    분류에서 Label을 구성하는 고유값을 의미한다.

  • Feature
    데이터에서 예측인자로 사용될 데이터의 속성들을 의미한다.

  • Estimator Class
    Classifier Class와 Regressor Class를 의미한다. Esitimator Class는 머신러닝 모델을 학습시키는 fit() Method와 학습한 머신러닝 모델로 결과를 도출하는 predict() Method를 가진다.

  • fit
    Esitimator Class에서는 머신러닝 모델을 학습시키는 Method이다. 반면, 비지도학습(Unsupervised Learning)과 피처 추출(Feature Extraction)에서는 입력 데이터의 형태로 데이터를 맞추는 것을 의미한다.

  • Ovetdirrinf(과적합)
    머신러닝 모델이 과도하게 학습 데이터에만 최적화되어, 다른 데이터로 예측을 수행할 때 성능이 떨어지는 것을 의미한다.

  • Cross Validation(교차검증)
    과적합 문제를 해결하기 위해 training datasets를 여러개의 training datasets와 validation datasets으로 나누는 것을 의미한다. training datasets를 활용해 머신러닝 모델을 학습하며, validation datasets를 활용해 머신러닝 모델이 training dataset에 과적화되는 것을 방지한다. test datasets의 가장 큰 차이점은 test datasets가 학습된 머신러닝 모델의 성능을 평가하는 반면, validation datasets는 학습 과정에 참여한다는 점이다.
    참고자료1

0개의 댓글