### 2021.12.20

 

 

from 이수안컴퓨터연구소 

https://www.youtube.com/watch?v=rWz582-yKuQ

 

 

머신러닝 (Machine Learning)

  • 명시적인 프로그래밍 없이 컴퓨터가 학습하는 능력을 갖추게 하는 연구 분야
  • 머신러닝은 데이터를 통해 다양한 패턴을 감지하고, 스스로 학습할 수 있는 모델 개발에 초점

 

머신러닝 분류

지도학습(Supervised Learning)

  • 지도 학습은 주어진 입력으로 부터 출력값을 예측하고자 할 때 사용
  • 입력과 정답 데이터를 사용해 모델을 학습시킨 후 새로운 입력데이터에 대해 정확한 출력예측하도록 하는 것이 목표
  • 지도 학습 알고리즘의 학습 데이터를 만드는 것은 많은 사람들의 노력과 자원이 필요하지만 높은 성능을 기대할 수 있음

분류와 회귀

  • 지도 학습 알고리즘은 크게 분류(classification)회귀(regression)로 구분
  • 분류는 입력 데이터를 미리 정의된 여러개의 클래스 중 하나로 예측하는 것
  • 분류는 클래스의 개수가 2개인 이진 분류(binary classification)와 3개 이상인 다중 분류(multi-class classification)로 나눌 수 있음
  • 회귀는 연속적인 숫자를 예측하는 것으로 어떤 사람의 나이, 농작물의 수확량, 주식 가격 등 출력 값이 연속성을 갖는 다면 회귀 문제라고 할 수 있음

지도 학습 알고리즘

  • 선형 회귀(Linear Regression)
  • 로지스틱 회귀(Logistic Regression)
  • 서포트 벡터 머신(Support Vector Machine)
  • k-최근접 이웃(k-Nearest Neighbors)
  • 결정트리(Decision Tree)
  • 앙상블(Ensemble)
  • 신경망(Neural Networks)

 

비지도 학습(Unsupervised Learning)

  • 비지도 학습은 원하는 출력 없이 입력 데이터를 사용
  • 입력 데이터의 구조나 패턴을 찾는 것이 목표
  • 미리 정해진 결과가 없고, 방대한 양의 데이터에서 유용한 통찰력을 얻을 수 있음

클러스터링, 차원축소, 연관규칙

  • 비지도 학습 알고리즘은 크게 클러스터링(Clustering), 차원 축소(Dimensionality Reduction), 연관 규칙(Association Rules)으로 구분
  • 클러스터링은 공간상에서 서로 가깝고 유사한 데이터를 클러스터로 그룹화
  • 차원 축소는 고차원의 데이터에 대해서 너무 많은 정보를 잃지 않으면서 데이터를 축소시키는 방법
  • 연관 규칙은 데이터에서 특성 간의 연관성이 있는 흥미로운 규칙을 찾는 방법

비지도 학습 알고리즘

  • 클러스터링(Clustering)
    • k-Means : k개의 클러스터를 찾는 것
    • DBSCAN : 밀집된 클러스터를 찾는 것 (밀도)
    • 계층 군집 분석(Hieracrchical Cluster Analysis)
    • 이상치 탐지(Outlier Detection), 특이값 탐지(Novelty Detection) : ex) 신용카드 이상거래(해외 거래) - 패턴을 벗어나는 값
  • 차원축소(Dimensionality Reduction)
    • 주성분 분석(Principal Component Analysis) : 주성분을 찾아내고 그것을 기반으로 차원 축소
    • 커널 PCA(Kernel PCA)
    • t-SNE(t-Distribusted Stochastic Neighbor Embedding) : 시각화에서 많이 사용
  • 연관 규칙(Association Rule Learning)
    • Apriori
    • Eclat

 

준지도 학습(Semi-supervised Learning)

  • 레이블이 있는 것과 없는 것이 혼합된 경우 사용
  • 일반적으로는 일부 데이터에만 레이블이 있음
  • 준지도 학습 알고리즘은 대부분 지도 학습 알고리즘과 비지도 학습 알고리즘의 조합으로 구성

 

강화 학습(Reinforcement Learning)

  • 동적 환경과 함께 상호 작용하는 피드백 기반 학습 방법
  • 에이전트(Agent)가 환경을 관찰하고, 행동을 실행하고, 보상(reward)또는 벌점(penality)를 받음
  • 에이전트는 이러한 피드백을 통해 자동으로 학습하고 성능을 향상시킴
  • 어떤 지도가 없이 일정한 목표를 수행

 

온라인 vs. 배치

  • 온라인 학습(Online Learning)
    • 적은 데이터를 사용해 미니배치(mini-batch)단위로 점진적으로 학습
    • 실시간 시스템이나 메모리 부족의 경우 사용
  • 배치 학습(Batch Learning)
    • 전체 데이터를 모두 사용해 오프라인에서 학습
    • 컴퓨팅 자원이 풍부한 경우 사용

 

사례 기반 vs. 모델 기반

  • 사례 기반 학습(Instance-based Learning)
    • 훈련 데이터를 학습을 통해 기억
    • 예측을 위해 데이터 사이의 유사도 측정
    • 새로운 데이터와 학습된 데이터를 비교
  • 모델 기반 학습(Model-based Learning)
    • 훈련 데이터를 사용해 모델을 훈련
    • 훈련된 모델을 사용해 새로운 데이터를 예측

 

일반화, 과대적합, 과소적합

일반화(genearalization)

  • 일반적으로 지도 학습모델은 학습데이터로 훈련시킨 뒤 평가데이터에서도 정확하게 예측하기를 기대함
  • 훈련된 모델이 처음보는 데이터에 대해 정확하게 예측한다면, 이러한 상태모델이 일반화(generalization) 되었다고 함
  • 모델이 항상 일반화 되는 것은 아님

과대적합(overfitting)

  • 주어진 훈련 데이터에 비해 복잡한 모델을 사용한다면, 모델은 훈련 데이터에서만 정확한 성능을 보이고, 평가 데이터에서는 낮은 성능을 보임
  • 즉, 모델이 주어진 훈련 데이터는 잘 예측하지만 일반적인 특징을 학습하지 못해 평가 데이터에서는 낮은 성능을 보이는 상태를 과대적합(overfitting) 이라고 함

과소적합(underfitting)

  • 과대적합과 반대로 주어진 훈련 데이터에 비해 너무 간단한 모델을 사용하면, 모델이 데이터에 존재하는 다양한 정보들을 제대로 학습하지 못함
  • 이러한 경우 모델은 훈련 데이터에서도 나쁜 성능을 보이고 평가 데이터에서도 낮은 성능을 보이는 과소적합(underfitting) 되었다고 함 

 

모델 복잡도와 데이터셋 크기의 관계

  • 데이터의 다양성이 클수록 더 복잡한 모델을 사용하면 좋은 성능을 얻을 수 있음
  • 일반적으로 더 큰 데이터셋(데이터수, 특징 수)일수록 다양성이 높기 때문에 더 복잡한 모델을 사용할 수 있음
  • 하지만, 같은 데이터를 중복하거나 비슷한 데이터를 모으는 것은 다양성 증가에 도움이 되지 ㅇ낳음
  • 데이터를 더 많이 수집하고 적절한 모델을 만들어 사용하면 지도 학습을 사용해 놀라운 결과를 얻을 수 있음

 

훈련 세트 vs 테스트 세트 vs 검증 세트

  • 머신러민 모델의 일반화 성능을 측정하기 위해 훈련 세트, 테스트 세트로 구분
  • 훈련 세트로 모델을 학습하고 테스트 세트로 모델의 일반화 성능 측정
  • 하이퍼파라미터는 알고리즘을 조절하기 위해 사전에 정희하는 파라미터
  • 테스트 세트를 이옹해 여러 모델을 평가하면 테스트 세트에 과대적합됨
  • 모델 선택을 위해 훈련 세트, 테스트 세트, 검증 세트로 구분

 

+ Recent posts