Machine Learning Summary #1

YDH·2022년 9월 12일
0

Machine Learning

목록 보기
1/3
post-thumbnail

Introduction to Machine Learning with Python 책을 보고 공부한 내용입니다

1. 소개

  • 지도학습과 비지도 학습 모두 컴퓨터가 인식할 수 있는 형태로 입력 데이터를 준비하는 것이 중요
  • 하나의 객체 혹은 행 = 샘플(sample) 또는 데이터 포인트(data point) , 샘플의 속성 혹은 열 = 특성(feature)

1.1 필수 라이브러리

  • Numpy: 다차원 배열을 위한 기능과 선형 대수 연산과 푸리에 변환 같은 고수준 수학 함수와 유사 난수 생성기를 포함
  • Scipy: 고성능 선형 대수, 함수 최적화, 신호 처리, 특수한 수학 함수와 통계 분포 등
  • Matplolib: 선 그래프, 히스토그램, 산점도 등 고품질 그래프
  • Pandas: 데이터 처리와 분석, 각 열의 타입이 달라도 됨 ex.정수, 날짜, 부동소숫점, 문자열 (Numpy의 경우 각 열의 타입이 같아야 함) SQL, 엑셀 파일, csv 파일 같은 다양한 파일과 데이터베이스에서 데이터를 읽어 들일 수 있음
  • mglearn: 그래프나 데이터 적재와 관련한 세세한 코드를 일일이 쓰지 않아도 되게끔하는 유틸리티 함수

1.2 핵심 개념과 용어

ex. 붓꽃의 품종을 알고 싶다. -> 어떤 품종인지 구분해놓은 측정 데이터를 이용해 새로 채집한 붓꽃의 품종을 예측하는 머신러닝 모델

  • 붓꽃의 품종을 정확하게 분류한 데이터를 가지고 있으므로 지도학습 에 속함
  • 몇 가지 선택사항(붓꽃의 품종) 중 하나를 선택 -> 분류(Classification)
  • Class: 출력될 수 있는 값(붓꽃의 종류) - Label: 특정 데이터 포인트에 대한 출력(품종)
  • 샘플: 머신러닝에서 각 아이템 - 속성: 머신러닝에서의 각 특성 (data 배열의 크기 = 샘플의 수특성의 수)
  • *training set, test set or hold-out set - K-최근접 이웃 알고리즘*
    • 훈련 데이터를 저장하여 생성
    • 새로운 데이터 포인트에 대한 예측이 필요하면 알고리즘이 새 데이터 포인트에서 가장 가까운 훈련 데이터 포인트를 찾음
    • “K” : 훈련 데이터에서 가장 가까운 ’k개’의 이웃을 찾는다.
    • knn객체: 훈련데이터로 모델을 만들고 새로운 데이터 포인트에 대해 예측하는 알고리즘을 캡슐화
    • 훈련 데이터셋으로부터 모델을 만들려면 knn객체의 fit매서드를 사용
    • fit매서드= knn객체 자체를 반환(knn 객체가 문자열 형태로 출력)
    • 정확도를 계산하여 모델의 성능을 평가

1.3 매개변수(Parameter)

  1. Parameter
  • 머신러닝에서 사용되는 파라미터는 모델 파라미터라고도 하며, 모델에 적용 할 하나 이상의 파라미터를 사용하여 새로운 샘플에 대한 예측을 하기 위해 사용. 즉, 머신러닝 훈련 모델에 의해 요구되는 변수
  • Parameter의 특징
    • 예측 모델은 새로운 샘플을 주어지면 무엇을 예측할지 결정할 수 있도록 parameter를 필요로 한다.
    • 머신러닝 훈련 모델의 성능은 parameter에 의해 결정
    • parameter는 데이터로부터 추정 or 학습, 개발자에 의해 임의로 조정이 불가
    • 학습된 모델의 일부로 저장됨
  • Model parameter의 예
    • 인공신경망의 가중치
    • SVM의 서포트 벡터
    • 선형 회귀 or 로지스틱 회귀에서의 결정계수
  1. Hyper parameter
  • 머신러닝에서 하이퍼파라미터는 최적의 훈련 모델을 구현하기 위해 모델에 설정하는 변수로 학습률, 훈련 반복 횟수, 가중치 초기화 등을 결정할 수 있음
  • Hyper parameter의 특징
    • 모델의 매개 변수를 추정하는데 도움이 되는 프로세스에서 사용
    • 하이퍼파라미터는 개발자에 의해 임의로 조정이 가능
    • 학습 알고리즘의 샘플에 대한 일반화를 위해 조절
  • Hyper parameter의 예
    • 학습률
    • 손실함수
    • 미니배치 크기
    • 가중치 초기화
    • 은닉층의 개수
    • k-nn의 k값
  1. Summary
  • 모델 파라미터는 새로운 샘플이 주어지면 무엇을 예측할지 결정하기 위해 사용하는 것, 학습 모델에 의해 결정
  • 하이퍼 파라미터는 학습 알고리즘 자체의 파라미터로 모델이 새로운 샘플에 잘 일반화 되도록 하이퍼파라미터들의 최적값을 찾으나, 데이터 분석 결과로 얻어지는 값이 아니므로 절대적인 최적값은 존재하지 않고, 사용자가 직접 설정

출처:Introduction to Machine Learning with Python 책을 보고 정리한 내용입니다.

profile
아무것도 몰라요

0개의 댓글