1학년 2학기/머신러닝원리와 응용

[1강_on] 머신러닝 개요 (Machine Learning Overview)

seungyeonworld 2025. 3. 13. 23:56

 

[ 머신러닝 개요 (Machine Learning Overview) ]

 

1.머신러닝이란?

  • 데이터를 기반으로 컴퓨터가 스스로 학습하여 의사결정을 내리는 기술
  • 인간과 유사하게 기억(Remember) → 공식화(Formulate) → 예측(Predict)의 단계를 거친다.

 

[ 머신러닝의 주요 개념]

1. 지도학습(Supervised Learning)

  • 입력데이터(input)와 정답(label)이 주어진 상태에서 학습
    • 회귀(Regression): 연속적인 값을 예측 (예: 주택 가격 예측) -> 연속성
    • 분류(Classification): 카테고리를 예측 (예: 암 양성/음성 판별)

2. 비지도 학습(Unsupervised Learning)

  • 입력데이터에 정답(label)이 없는 상태에서 데이터의 구조/패턴을 찾아 학습
    • 클러스터링(Clustering): 데이터 그룹화 (예: 뉴스 기사 분류)
    • 연관 분석(Association): 특정 아이템과 자주 함께 구매되는 상품 찾기 (예: 장바구니 분석)
    • 이상 탐지(Anomaly Detection): 정상적인 패턴에서 벗어난 데이터 탐지 (예: 금융 사기 탐지)
    • 차원 축소(Dimensionality Reduction): 데이터의 특징을 유지하면서 차원을 줄이기 (예: PCA)

3. 강화 학습(Reinforcement Learning)

 

  • 환경과의 상호작용을 통해 보상을 최적화하도록 학습.
  • 예제: 알파고(AlphaGo), 게임 AI, 로봇 제어, 자율주행

 

☆차원축소 보충설명                                                                      

 

1. 차원축소란?

  • 데이터의 차원 = 특성(feature)의 수 (ex. 키,몸무게 = 2차원 / 키,몸무게,나이 = 3차원)
  • 현실에서 다루는 데이터는 수십~ 수천개의 특성을 가진 고차원 데이터인 경우가 많음
  • 고차원데이터는 시각화가 어려우며 계산비용이 많이들고 모델성능을 저하시킬 수 있음
  • 따라서 꼭 필요한정보를 뽑아서 더 적은수의 특성(차원)으로 표현하는 것이 차원축소

2. 차원축소가 왜 비지도학습 머신러닝인가?

  • 차원축소는 무엇을 예측하는 것(정답이 있는것) 이 아님!
  • 데이터의 구조나 분포를 파악하고, 비슷한 특성끼리 요약해서 더 적은 수의 축으로 표현하는 것임
  • 예를들어 PCA같은 경우는 전체 데이터를 보고 가장 분산이 큰 방향(정보량이 많은 방향)을 찾아서 데이터를 재구성하기때문에 여기서는 라벨이 전혀 필요 없음

따라서 차원 축소는 라벨없이 데이터를 요약하고 패턴을 찾는 과정이기 때문에 비지도학습에 속함!

 

3. 차원축소의 예시

 

①  t-SNE (t-Distributed Stochastic Neighbor Embedding)

  • 비선형 차원 축소 기법
  • 고차원 데이터를 2D 또는 3D로 줄여서 시각화에 많이 사용
  • 비슷한 데이터끼리 가까이, 다른 데이터는 멀리 배치함
  • 단점: 계산 느림, 새로운 데이터에 바로 적용 불가
  • (ex) 손글씨 숫자(MNIST) 이미지 784차원 → 2D로 줄여서 시각화

② UMAP (Uniform Manifold Approximation and Projection)

  • t-SNE의 대안으로 더 빠르고, 구조 보존이 잘 됨
  • 군집 간 거리 정보도 어느 정도 유지
  • 고차원 생물학 데이터나 자연어 벡터 시각화에 많이 쓰임
  • (ex)유전자 발현 데이터 시각화 (RNA-seq 데이터 분석)

③  Autoencoder (오토인코더)

  • 인공신경망 기반 차원 축소
  • 입력을 압축(인코딩)했다가 다시 복원(디코딩)하도록 학습
  • 중간에 있는 **은닉층(hidden layer)**이 바로 축소된 표현
  • 이미지, 음성, 자연어 등 복잡한 비선형 데이터에 강함
  • (ex) 잡음이 섞인 이미지를 입력 → 깨끗한 이미지 복원 (노이즈 제거)

                                                                                                      

 

[ 머신러닝의 문제해결 과정]

 

  • 데이터 수집(Data Collection): 학습에 사용할 데이터를 수집.
  • 데이터 전처리(Data Preprocessing): 결측치 처리, 정규화 등 데이터 정리.
  • 특징 선택(Feature Selection): 중요한 변수를 선택하여 학습 효율 증가.
  • 모델 학습(Model Training): 알고리즘을 이용해 데이터에서 패턴 학습.
  • 모델 평가(Model Evaluation): 새로운 데이터에 대한 예측 성능 평가.
  • 모델 튜닝(Model Tuning): 하이퍼파라미터 최적화, 성능 개선.
  • 배포(Deployment): 학습된 모델을 실제 서비스에 적용.

 

[ 머신러닝퀴즈]

💡 다음 문제를 보고 지도 학습(회귀/분류)인지, 비지도 학습인지 판단해보세요.

  1. 창고에서 다음 3개월 동안 몇 개의 제품이 판매될지 예측 ➝ 회귀(Regression)
  2. 온라인 쇼핑몰의 계정 중 해킹된 계정을 탐지 ➝ 분류(Classification)
  3. 내일의 구글 주가를 예측 ➝ 회귀(Regression)
  4. 날씨 예측: 맑음, 흐림, 눈, 비 중 하나를 예측 ➝ 분류(Classification)
  5. 뉴스 기사를 주제별로 자동 분류 ➝ 비지도 학습 (클러스터링)
  6. 과거 스팸 메일 데이터를 이용하여 새로운 메일이 스팸인지 판별 ➝ 지도 학습 (분류)
  7. 심장병 환자의 데이터를 분석하여 독특한 환자 그룹을 찾기 ➝ 비지도 학습 (클러스터링)
    (심장병 있는지 여부가 레이블로 주어진다면 분류이지만, 환자데이터를 보고 비슷한 특징을 가진 그룹을 자동으로 찾아내는것은 클러스터링이다. 심장병여부를 맞추는것이 아니라 기존에 알려지지 않은 환자 그룹을 발견하는 것이 목표)

 

** 지도학습의 분류는 개냐 고양이냐 / 심장병이 있냐 없냐의 "정답" 이 있으나, 비지도학습의 클러스터링은 정답이 없음!

'1학년 2학기 > 머신러닝원리와 응용' 카테고리의 다른 글

[2강_off] Pandas  (0) 2025.03.29
[2강_on] Linear Regression(선형회귀)  (0) 2025.03.14
[1강_off] Python Packages  (0) 2025.03.14