250918 [ Day 53 ] - Machine Learning (1)

TaeHyun·2025년 9월 18일

TIL

목록 보기
55/182

시작하며

오늘부터 Machine Learning 파트에 들어가서 AI부터 Machine Learning, 인공신경망 등 관련 이론 학습을 진행하였다. 수학적 이론이 많이 나와서 다소 어려웠지만 미리 공부를 어느 정도 해둔 덕분에 잘 이해할 수 있었던 것 같다.

Machine Learning

과정

  1. 입 / 출력 정의
  2. 모델 만들기
  3. 손실함수 정의
  4. Weight 최적화

핵심요소

  • 데이터
  • 모델 및 학습 알고리즘
  • 평가 및 예측

데이터

  • 머신러닝은 데이터를 기반으로 모델을 학습하고 예측하는 방법
  • 데이터는 입력 데이터(features)와 출력 데이터(labels)로 구성 (예외 경우도 존재)
  • 데이터 품질이 모델 성능에 큰 영향을 미치며, 전처리(결측값 처리, 이상값 제거, 정규화 등)와 특징 추출이 필수

모델

  • 데이터를 통해 패턴/관계를 학습하고 결과를 예측하는 수학적인 알고리즘의 집합
  • 수학적 함수

학습 알고리즘

  • 데이터를 활용해 모델의 파라미터를 조정하고 최적화 (머신러닝)
  • 쉽게 표현해서 기계가 함수를 찾아내는 과정

평가 및 예측

  • 학습된 모델은 평가 데이터를 활용해 성능 검증 후, 새로운 입력 데이터에 대해 예측 수행
  • 모델의 일반화 능력을 평가하고 필요에 따라 모델을 조정하거나 다른 알고리즘을 시도

데이터 전처리 및 데이터 분할

데이터 전처리

  • 데이터 사이언티스트들이 소모하는 전체 시간의 약 60%를 차지함
  • 오류 데이터나 불완전한 데이터를 처리하여 분석 결과의 신뢰도를 높임

데이터 분할

  • 전체 데이터셋을 훈련 데이터, 검증 데이터, 테스트 데이터로 나누어, 모델 학습, 하이퍼파라미터 튜닝, 성능 평가를 각각 독립적으로 수행하도록 구성
  • 훈련, 검증, 테스트 데이터는 서로 겹치지 않아야 함

데이터 분할의 목적

  • 일반화 성능 평가
    • 모델이 새로운 데이터(테스트셋)에 대해 얼마나 잘 동작하는지 확인
  • 과적합(Overfitting) 검증
    • 훈련 데이터에 지나치게 특화되어 새로운 데이터에 대한 일반화 성능이 떨어지는 현상
  • 하이퍼파라미터 튜닝
    • 모델 학습 과정을 제어하는 설정값으로, 사람이 직접 설정하는 매개변수
    • 검증셋으로 하이퍼파라미터를 조정하여 최적의 모델 구성

머신러닝의 학습 방법

  • 지도 학습(Supervised Learning)
  • 비지도 학습(Unsupervised Learning)
  • 강화 학습(Reinforcement Learning)

지도 학습

  • 입력 데이터와 이에 해당하는 정답(라벨)이 있는 데이터를 사용해 학습하는 방식
  • 분석모형(알고리즘) : 회귀, 분류

비지도 학습

  • 정답(라벨) 없이 입력 데이터만 가지고 학습하는 방식
  • 데이터 안의 패턴이나 구조를 발견하거나, 비슷한 데이터끼리 그룹화하는 데 사용
  • 분석모형(알고리즘): 군집, 차원 축소
    • 군집화 : 입력 데이터 내에서 비슷한 데이터끼리 그룹화하는 분석 모형
      • 마케팅 고객 군집화, 유전자 데이터 분석 등
    • 차원 축소 : 데이터를 요약하여 적은 차원으로 변환하는 분석 모형
      • 이미지 압축, 데이터 시각화, 노이즈 제거 등

강화 학습

  • 보상과 벌칙신호를 기반으로 AI가 환경과 상호작용하며 최적의 전략을 학습
  • 보상을 중심으로 탐험과 활용의 균형을 맞추며, 라벨 데이터 없이 환경과 상호작용하면서 학습

인공신경망 (Artificial Neural Network)

입력 → (커넥션 / 엣지 ) → 가중치 → 편향 → 활성화 함수(Activation Function) → 출력

인공신경 / 노드(Node)

  • 인공신경망을 이루는 작은 단위로, 입력값을 받아서 간단한 계산을 하고 결과를 출력하는 역할
    • 뇌 속의 뉴런이 신호를 받아 다른 뉴런으로 보내는 것과 비슷함
  • 활성화 함수를 가지고 있음

머신러닝의 과정

  • 모델이 학습을 통해 자동으로 파라미터 값을 조정하며 최적의 값을 찾아내는 과정
    • 가중치(Weight) : 입력 신호의 중요도를 조절하는 연결 강도 (커넥션 / 엣지마다 존재)
    • 편향(Bias) : 활성화 함수의 임계값을 조절하는 상수항

인공신경망

  • 입력층 - 은닉층 - 출력층으로 구성
  • Perception : 단일 계산층
  • MLP : 다층 퍼셉트론(은닉계층은 하나 이상으로 구성)
    • 인접한 두 층의 뉴런간에는 완전 연결(fully-connected)

활성화 함수

  • 노드에서 계산된 값을 기반으로 어떤 출력 값을 다음 층으로 보낼지 결정하는 함수
  • 계단함수(Unit Step Function), Sigmoid, ReLU 등

함수(Function)

  • 입력 값과 출력 값 사이의 관계
  • 데이터 분석에서 함수는 입력 x(feature)와 출력 y(label) 간의 관계를 설명하는 데 사용
  • 예측값을 나타낼 때는 햇 모양(^)을 씌워 표현

1차 함수

  • y가 x에 대한 일차식으로 표현 된 경우
  • y = ax + b (a≠0)
  • a : 기울기 (a가 커지면 기울기가 커짐)
  • b : 절편

2차 함수

  • y가 x에 대한 이차식으로 표현 된 경우
  • y = a(x - p)**2 + q (a ≠ 0)
  • a : 그래프의 모양과 방향을 결정 (양수면 아래로 볼록, 음수면 위로 볼록)
  • (p, q): 꼭짓점의 좌표
  • 꼭짖점에서 멀어질수록 가파른 방향(기울기가 커짐) / 가까이 오면 완만한 방향(기울기가 작아짐)

미분

  • 미분을 통해 최적화나 그래프의 증가/ 감소 경향을 분석할 수 있음
  • 함수의 특정 점에서의 순간 변화율을 구하는 것
    • 순간 변화율 : 해당 점의 접선의 기울기
  • 2점 사이의 평균 변화율 = y변화값 / x변화값

함수의 최솟값

  • 아래로 볼록한 그래프의 꼭짓점 = 최솟값
  • 머신러닝에서는 함수의 최솟값을 구하는 것이 목적

편미분

  • 변수가 여러 개인 다변수 함수에 대해, 다른 변수들은 고정시키고, 특정 변수에 대해서만 미분하는 것
  • 그라디언트 : 다변수 함수의 모든 편미분을 모아놓은 벡터
  • 그라디언트는 가파른 방향을 향함

회귀(Regression)

회귀의 의미

  • 사전적 회귀 : 한 바퀴 돌아 제자리로 돌아오거나 돌아감
  • 통계적 회귀 : 변수 간의 관계(함수)를 모델링하여 예측하는 방법

연속적인 값(실수형 데이터)을 예측하기 위해 사용됨


주요 목표

  • 입력 변수(특성)와 출력 변수(목표 값) 사이의 관계를 모델링하여, 새로운 입력 데이터에 대해 정확한 출력을 예측하는 것
  • 최적의 회귀 계수를 찾아내는 것 = 손실 함수를 최소화 하는 것

선형 회귀(Linear Regression)

  • 종속 변수 y와 하나 이상의 독립 변수 x와의 선형 상관관계를 모델링하는 기법
  • 데이터 속에서 일정한 패턴(규칙)을 찾아내고, 이를 직선 방정식으로 표현하는 것 (y = w * x + b)
  • 단순 선형 회귀 : 독립 변수 x가 1개 / 직선 형태의 그래프
  • 다중 선형 회귀 : 독립 변수 x가 2개 이상 / 평면 그래프

가중치(Weight)

  • 입력 변수 x가 결과값 y에 얼마나 영향을 미치는지를 나타냄
  • 그래프상 직선의 기울기

편향(Bias)

  • 모델이 입력 값과 관계없이 일정한 기본 출력 값을 가지도록 조정하는 역할
  • 직선이 y축과 만나는 지점, 즉 y절편

가중치와 편향을 조정해서 실제 값과 예측 값 간의 오차를 최소화


오차(Error)

  • 모델이 예측한 값(y^ )과 실제 값(y)의 차이를 나타내는 지표
  • 오차 = y - y^
  • 0에 가까울 수록 정확도가 높다고 판단

손실 함수(Loss Function)

  • 가중치와 편향에 따라 손실값이 바뀌는 것
  • 머신러닝에서 모델의 성능을 측정하고 학습시키는데 사용되는 함수
  • 예측값과 실제값의 차이를 수치적으로 나타낸 것

성능 평가 지표

  • 평균 제곱 오차(MSE) : 오차의 제곱을 평균하여 손실을 계산(손실에 민감하게 반응)
  • 평균 절대값 오차(MAE) : 오차의 절대값을 평균하여 손실을 계산(튀는 값이 많은 경우)

경사 하강법(Gradient Descent)

  • 오차를 줄이면서 모델이 더 나은 예측을 할 수 있도록 최적화하는 과정

경사 하강법 구하는 과정

  • 손실 함수 정의
  1. 함수를 통해 기울기 계산
  2. 기울기의 반대 방향으로 이동(매개변수 업데이트)
  3. 기울기가 최소화 되는 지점 도출

학습률(Learning Rate) : 반복 / 발산을 방지하기 위해 파라미터를 얼마나 크게 업데이트할지 조절(하이퍼 파라미터)


마치며

어려운 내용이 많았지만 AI 관련 내용들이 꽤 재미있는 것 같아서 이번 파트에서 기본기를 어느 정도 배우고 이후에 조금 더 디테일하게 공부해보고 싶다.

NOTION

MY NOTION (Machine Learning. 01)

profile
Hello I'm TaeHyunAn, Currently Studying Data Analysis

0개의 댓글