제로베이스_Machine Learning (5)

KulangK·2023년 8월 3일

Machine Learning

목록 보기
5/13
post-thumbnail

📄 목차

  1. ML복습
  2. 회귀
    • OLS
    • 통계적 회귀
  3. Cost Function

1. ML복습

  • 데이터 기반 머신러닝을 통한 문제 해결
    • ML algorithm을 작성하여 해결안 생성 (오류/오차 발생시 분석 후 재도입)
    • 혹은 모델 스스로 데이터 기반으로 변화에 대응
    • 혹은 머신러닝을 통해 문제 자체에 대한 이해도가 높아져 다양 방식의 대응도 가능

  • 지도학습 (학습 데이터에 대해 답이 존재)
    1. 분류: 답을 labelling 하여 학습 시키는 것
    2. 회귀: 연속적인 값을 갖는 데이터셋 도입, 학습 후 특정 결과에 대한 값 예측
      • 예시: 주택 크기에 대한 값이 정해져 있을 때, 특정 크기에 대한 값 예측
  • 비지도학습
    • 답이 정해져 있지 않음 (예시: 군집)

2. 회귀

  • 선형 회귀
    • 입력 변수 (x)가 하나인 경우, 주어진 학습데이터와 가장 잘 맞는 함수 h를 찾는 것


OLS (Ordinary Linear Least Square)

  • 접근 방법
    • 문제를 벡터와 행렬로 표현했을 때
      • AX=YAX = Y
      • 여기서 A = x축에 대한 데이터, Y = A에 대응하는 값들, X = 기울기와 절편
    • 이 때, A 행렬이 정방 행렬이 아닌 경우 ATA^T (tranpose)를 양측에 곱해주어 정방 행렬로 만들어줌.
      • ATAX=ATYA^T A X = A^T Y
    • 이 후 역 행렬을 곱하여 X의 값들을 구함
      • X=(ATA)1ATYX = (A^TA)^{-1} A^T Y
    • 이를 통해 기울기와 절편을 구하여 적합한 선형 모델을 만들게 됨.
    • 모델의 성능 표현
      • E=[yf(x)]2E = [y - f(x)]^2
      • 직선에서 값이 얼마나 떨어져 있는지 확인하는 것


  • 잔차 평가
    • 잔차는 평균이 0인 정규 분포를 따라야 함
    • 잔차 평가: 잔차의 평균이 0이고 정규 분포를 따르는지 확인하는 절차


  • 결정계수 R2\R^2
    • 잔차 (SSE), 예측-평균차 (SSR), 둘의 합(SST)를 이용하여 특정 수치로 모델의 적합성 판단
    • 여기서 말하는 특정 수치가 결정계수임


통계적 회귀

  • 특정 데이터를 이용해 회귀모델을 적용해보자
    1. 데이터 로드 및 데이터 프레임 가공

    2. boxplot 및 pair plot을 통해 데이터 연관성 파악

    3. 회귀 모델 및 리포트 생성, 그래프 확인

    4. 상수항 생성 후 3번 과정 반복

    5. Machine Learning & 검증


3. Cost Function

  • 에러를 표현하는 도구로, 데이터 셋과 가설 함수 (혹은 예측 값)의 오차를 계산하는 함수

    • 종류
      1. MSE (Mean Squared Error)
      2. RMSE(Mean Squared Error)
      3. Binary Crossentropy Loss
        .. 기타 등등
  • 직접 해보기

    1. 데이터에 맞는 수식 만들기

    2. 그래프 확인 및 미분을 통해 최솟값 찾기


  • Gradient Descent
    • 미분을 통해 최소 cost function을 찾는 방법
    • 위에서 만들어진 최초 만들어진 수식에서 임의의 점 선택 후 미분 (= 기울기)
    • 양이면 음으로, 음이면 양으로 이동하여 최소 기울기 (0) 에 해당하는 곳으로 이동하는 방식
      • 이 때, 학습률 (learning rate)가 작다면 특정지점에서 0까지 작은 간격으로 이동
      • 반대로 크다면 양의 기울기 > 음의 기울기 > 양의 기울기 식으로 이동하여 0까지 이동

  • 보스턴 집값을 이용한 예제

    1. 데이터 로드

    2. 가격에 대한 정보 / 다른 정보와의 상관관계 확인

    3. 데이터 분리하여 학습 후 실제 값 / 예측 값 비교

      • 4~5만 달러에 해당하는 주택에 대해 예측 값이 낮은 것을 볼 수 있음
    4. 다른 영향을 주는 데이터 제외하고 확인

      • 큰 변화는 생기지 않았으며, 오히려 더 낮게 책정하는 모습을 보임
profile
새싹 데이터 분석가 https://github.com/KulangK

0개의 댓글