SparataCodingClub_/[Machine Learning]

2주차 개발일지

Jieon_ 2021. 7. 24. 16:12

2.1 논리회귀 (Logistic regression)

1. 논리회귀 
: 선형 회귀로 풀기 힘든 문제를 풀 때 사용한다.
  선형 회귀처럼 연속된 값을 예측하는 것이 아니라 종속변수가 범주형 데이터일 때 사용한다. 
  회귀를 사용하여 범주에 속할 확률을 예측한다.

2.2 다항 논리 회귀(Multinomial logistic regression)

1. 다항 논리 회귀와 원핫 인코딩 (One-hot encoding)
   : 두 세개 이상의 클래스로 분류되는 문제
    원핫 인코딩 방법을 이용한다. (0,1로 표현하는 방법)
      1. 클래스의 개수만큼 배열을 0으로 채운다.
      2. 각 클래스의 인덱스 위치를 정한다.
      3. 각 클래스에 해당하는 인덱스에 1을 넣는다.

2. Softmax 함수와 손실함수
   : Softmax는 선형모델에서 나온 결과(Logit)를 모두가 더하면 1이 되도록 만들어주는 함수 (예측을 확률로 표현)

2.3 다양한 머신러닝 모델

1. Support vector machine (SVM)
   : 분류 문제(Classification problem)을 푸는 분류기(Classifier)

Support vector machine

     특징을 기준으로 두 개의 분류를 구분짓는 선(Support vector)을 기준으로 두 분류가 최대한 멀리 떨어질 수 있도록       학습시키는 분류기 

2. 기타 머신러닝 모델 간단 소개
 - K-Nearest neighbors (KNN) 
   : KNN은 비슷한 특성을 가진 개체끼리 군집화하는 알고리즘
 - Decision tree (의사결정나무)
   : 스무고개처럼 예, 아니오를 반복하며 추론하는 방식 (한 사람이 결정)
 - Random Forest
   : 의사결정나무를 여러개 합친 모델 (자유 민주주의)

2.4 머신러닝에서의 전처리

1. 전처리 (Preprocessing)란?
   : 전처리는 넓은 범위의 데이터 정제 작업으로 필요없는 데이터를 지우고 필요한 데이터만을 취하는 것
     null 값이 있는 행을 삭제하는 것, 정규화(Normalization), 표준화(Standardization) 등의 많은 작업들을 포함

2. 정규화 (Normalization)
   : 정규화는 데이터를 0과 1 사이의 범위를 가지도록 만든다.
    같은 특성의 데이터 중에서 가장 작은 값을 0으로 만들고, 가장 큰 값을 1로 만든다. 

3. 표준화 (Standardization)
   : 표준화는 데이터의 분포를 정규분포로 바꿔준다. 데이터의 평균이 0이 되도록하고, 표준편차가 1이 되도록 만들어준다.

이처럼 정규화나 표준화를 이유는 일반적으로 학습 속도(최저점 수렴 속도)가 빠르고, Local minima에 빠질 가능성이 적기 때문이다.

2.5 이진 논리회귀 실습 

1. 타이타닉 생존자 예측하기

https://colab.research.google.com/drive/18e97PieKhepkNhL5-8RBZgV_8Eue2OeE#scrollTo=DdFgm6wP01vi

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com

2.6 다항 논리회귀 실습

1. 와인 종류 예측하기

https://colab.research.google.com/drive/1noo4F891wXKwYTRZhbPyhH51oI1AXa-R#scrollTo=vMzoglQqhunm

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com

2.7 2주차 과제

1. 당뇨병 예측하기

https://colab.research.google.com/drive/1ICApbVHMpCGDCLPeT7AdUCadE6Hc9NeG#scrollTo=Sk3vjQREVjPi

 

Google Colaboratory Notebook

Run, share, and edit Python notebooks

colab.research.google.com

 

'SparataCodingClub_ > [Machine Learning]' 카테고리의 다른 글

4주차 개발일지  (0) 2021.07.26
3주차 개발일지  (0) 2021.07.24
1주차 개발일지.  (0) 2021.07.17