/ AI

Machine Learning

머신러닝(Machine Learning)

기본적으로 ChatGPT를 이용하여 틀을 잡고 만들어갈 것이며, 하나씩 해결해나가는 느낌으로 ML을 복습 및 검토한다.

머신러닝의 정의

  • 인공지능(artificial intelligence) 의 한 분야로, 컴퓨터데이터를 분석하고 패턴을 학습하여 일련의 작업을 수행하도록 하는 기술을 의미합니다.

  • 데이터와 통계적 모델링 기술, 최적화 알고리즘 등을 활용하여 패턴을 인식

    • 이를 통해 미지의 데이터에 대한 예측이나 판단을 수행하는 컴퓨터 시스템을 만들어 내는 기술입니다.
      • 예를 들어, 스팸 메일 필터링, 음성 인식, 이미지 인식, 자연어 처리, 추천 시스템 등에 적용될 수 있습니다.

학습 종류

  • 지도 학습 (Supervised Learning)

    레이블이 있는 데이터를 활용하여 학습하는 방식으로,
    분류(Classification)와 회귀(Regression) 문제가 있습니다.

  • 비지도 학습 (Unsupervised Learning)

    레이블이 없는 데이터를 활용하여 학습하는 방식으로,
    군집화(Clustering), 차원 축소(Dimensionality Reduction), 밀도 추정(Density Estimation) 등의 문제가 있습니다.

  • 강화 학습 (Reinforcement Learning)

    에이전트가 환경과 상호작용하며 보상을 최대화하기 위한 방식으로,
    게임, 로봇 제어, 자율 주행 등의 분야에서 활용됩니다.

  • 준지도 학습 (Semi-supervised Learning)

    레이블이 일부만 있는 데이터를 활용하여 학습하는 방식으로,
    지도학습과 비지도학습의 중간 형태입니다.

  • 전이 학습 (Transfer Learning)

    학습된 모델을 다른 문제에 재활용하는 방식으로,
    학습 데이터가 적은 경우에도 활용됩니다.

  • 생성 모델 (Generative Models)

    데이터를 생성하는 모델로, GAN, VAE 등이 있습니다.

  • 딥 러닝 (Deep Learning)

    여러 층으로 이루어진 인공 신경망을 활용하여 학습하는 방식으로,
    이미지, 음성, 자연어 등의 분야에서 활용됩니다.

일반적인 머신러닝 단계

  1. 문제 정의

    머신러닝을 적용할 문제를 정의합니다.
    이 단계에서는 어떤 데이터를 사용하고,
    어떤 문제를 해결하려는지 결정합니다.

  2. 데이터 수집

    문제를 해결하기 위해 필요한 데이터를 수집합니다.
    이 단계에서는 데이터의 형태, 양, 품질 등을 고려해야 합니다.

  3. 데이터 전처리

    수집한 데이터를 분석에 적합한 형태로 가공합니다.
    이 단계에서는 결측치 처리, 이상치 제거, 스케일링, 인코딩 등의 작업을 수행합니다.

  4. 모델 선택

    문제의 종류와 데이터의 특성에 맞는 적절한 머신러닝 모델을 선택합니다.
    이 단계에서는 각 모델의 특징, 장단점, 하이퍼파라미터 등을 고려합니다.

  5. 학습

    선택한 모델을 학습시킵니다.
    이 단계에서는 데이터를 학습용 데이터와 검증용 데이터로 나누어 학습을 수행하고, 모델의 성능을 평가합니다.

  6. 모델 튜닝

    학습한 모델의 성능을 더욱 개선하기 위해 하이퍼파라미터를 조정하거나 모델 아키텍처를 변경합니다.

  7. 예측

    학습된 모델을 사용하여 새로운 데이터에 대한 예측을 수행합니다.

  8. 평가

    모델의 예측 성능을 평가합니다.
    이 단계에서는 정확도, 정밀도, 재현율, F1 스코어 등의 지표를 사용합니다.

  9. 배포

    최종 모델을 배포하고 사용자가 모델을 사용할 수 있도록 합니다.
    이 단계에서는 모델의 성능과 안정성을 고려해야 합니다.