AI/ML

[ML] 머신러닝 이란? ( Machine Learning )

죵욜이 2024. 12. 28. 20:54

머신러닝 이란? ( Machine Learning )

머신러닝은 컴퓨터가 명시적인 프로그래밍 없이 데이터에서 학습하고, 그 학습을 바탕으로 새로운 데이터에 대해 예측하거나 결정을 내리는 인공지능(AI) 의 한 분야이다.

 

머신러닝은 수학, 통계학, 컴퓨터 과학 등을 기반으로 하며, 데이터의 패턴을 찾고 이를 모델로 만들어 활용한다.


쉽게 얘기하자면

H(x) = wx + b
  • H : 가설 
  • w : 가중치
  • b : 편향

잘 학습을 시키며 적절한 가중치를 찾아 최적의 가설식을 세우는것을 말한다.


머신러닝의 주요 구성 요소

  1. 데이터:
    머신러닝 모델은 데이터를 기반으로 학습합니다. 데이터의 품질과 양이 모델의 성능에 큰 영향을 미칩니다.
    • 구조화된 데이터: 테이블 형식의 데이터 (예: CSV 파일)
    • 비구조화된 데이터: 텍스트, 이미지, 오디오 등
  2. 특성(Feature):
    학습에 사용되는 입력 변수입니다. 예를 들어, 집값 예측 문제에서는 면적, 방 개수, 위치 등이 특성으로 사용될 수 있습니다.
  3. 모델(Model):
    데이터를 학습하여 패턴을 이해하고, 이를 바탕으로 예측을 수행하는 알고리즘입니다.
  4. 목표(Objective):
    모델이 수행하려는 작업으로, 분류, 회귀, 군집화 등 여러 종류가 있습니다.
    예측하고자 하는 목표변수를 레이블 이라고 표현하기도 함
  5. 평가 지표(Metrics):
    모델의 성능을 평가하기 위해 사용하는 기준입니다. 예를 들어, 정확도(Accuracy), 평균 제곱 오차(MSE) 등이 있습니다.

머신러닝의 종류

  1. 지도학습(Supervised Learning):
    • 정의: 입력 데이터(특성)와 그에 대응하는 정답(레이블)이 주어진 데이터로 학습.
    • 목표: 정답을 예측하는 모델 생성.
    • 예시:
      • 분류(Classification): 이메일이 스팸인지 아닌지 분류.
      • 회귀(Regression): 집값이나 주식 가격 예측.
    • 대표 알고리즘: 선형 회귀, 로지스틱 회귀, SVM, 결정 트리, 랜덤 포레스트, 신경망 등.
  2. 비지도학습(Unsupervised Learning):
    • 정의: 정답(레이블)이 없는 데이터를 기반으로 패턴이나 구조를 학습.
    • 목표: 데이터의 숨겨진 구조 발견.
    • 예시:
      • 군집화(Clustering): 고객을 그룹으로 나누기.
      • 차원 축소(Dimensionality Reduction): 데이터 시각화 또는 효율적 데이터 표현.
    • 대표 알고리즘: K-평균, DBSCAN, PCA(주성분 분석), t-SNE 등.
  3. 강화학습(Reinforcement Learning):
    • 정의: 에이전트가 환경과 상호작용하며 보상을 최대화하는 행동을 학습.
    • 목표: 최적의 행동 방침(Policy)을 학습.
    • 예시:
      • 자율 주행 자동차.
      • 체스나 바둑 같은 게임에서의 최적 전략 학습.
    • 대표 알고리즘: Q-러닝, 딥 Q-네트워크(DQN), 정책 그라디언트 등.
  4. 준지도학습(Semi-Supervised Learning):
    • 지도학습과 비지도학습의 중간 형태로, 일부 데이터만 레이블이 있는 경우.
    • 라벨된 데이터를 보완하여 학습 성능을 높임.
  5. 앙상블 학습 (Ensemble Learning)
    • 배깅(Bagging) : 여러 모델을 독립적으로 학습시키고, 예측을 평균내거나 다수결 투표로 최종예측
    • 부스팅(Boosting) : 여러 모델을 순차적으로 학습시키고, 이전 모델의 오차를 보완하여 최종예측을 수행
    • 스태킹(Stacking) : 여러 모델을 학습시키고 예측결과를 새로운 데이터로 사용하여 메타 모델을 학습

머신 러닝의 일반적인 과정

 

  1. 문제 정의: 해결하려는 문제를 명확히 정의.
  2. 데이터 수집 및 전처리:
    • 데이터 수집, 결측값 처리, 데이터 정규화 등.
  3. 특성 선택 및 엔지니어링:
    • 학습에 적합한 특성을 선택하거나 생성.
  4. 모델 선택 및 학습:
    • 적절한 알고리즘을 선택하고 학습.
  5. 모델 평가:
    • 학습한 모델을 테스트 데이터로 평가.
  6. 하이퍼파라미터 튜닝:
    • 최적의 모델을 찾기 위해 파라미터를 조정.
  7. 모델 배포:
    • 학습한 모델을 실제 환경에서 활용.