본문 바로가기

AI/머신러닝&딥러닝

진짜 나를 위한 머신러닝 #특성공학과 규제

나의 이해는 주관적인 저의 이해를 적어놓은 글입니다. 개념을 쉽게 이해해보고자 서술해본 글이지만 알고리즘이나 용어의 개념과 100% 일치하지 못할 수 있습니다.

다중 회귀(multiple regression)

- 여러 개의 특성을 사용한 선형 회귀

- 특성이 많으면 선형 모델은 강력한 성능을 발휘 

 

나의 이해: 스타 2에서 마린의 근속연수 하나로 사격실력을 예측하는 것이 선형 회귀였다면 다중 회귀는 마린의 근속연수에 마린의 신발 사이즈나 마린의 시력 같은 여러 개의 특성을 사용해 사격실력을 예측하는 방식

 

 

특성 공학(feature engineering)

- 기존의 특성을 사용해 새로운 특성을 뽑아내는 작업

 

나의 이해: 마린의 신발 사이즈와 마린의 시력을 마린의 신체조건이라는 새로운 특성으로 뽑아내는 작업

 

 

변환기(transformer)

- 사이킷런에서 특성을 만들거나 전처리하기 위한 다양한 클래스를 말함

 

나의 이해: 특성 공학을 해주는 클래스

 

 

규제(reguarization)

- 머신러닝에서는 정규화 라고 하기도 함

- 머신러닝 모델이 훈련 세트를 너무 과도하게 학습하지 못하도록 하는 것

- 다른 말로 모델이 훈련 세트에 과대적합 되지 않도록 하는 것

- 규제를 적용하기 전 다양한 특성을 정규화 해줘야 함. 왜? 정규화 안 하면 특성의 계수 값의 크기가 서로 많이 다를 수 있어서 공정하게 제어되지 않기 때문

 

나의 이해: 특성이 샘플 개수보다 많다면? 다시 말해 마린은 2마린데 특성이 시력, 신발 사이즈, 몸무게, 머리색 등 여러개라면 사격실력을 예측할 수 있는 모델의 훈련은 완벽해지지만 테스트 세트에서는 정확한 사격실력을 예측하기 어려워짐. 너무 과대적합 되기 때문. 그렇기 때문에 특성을 규제하는 것이 필요함.

 

 

릿지(Ridge)

- 규제가 있는 선형 회귀 모델 중 하나

- 선형 모델의 계수를 작게 만들어 과대적합을 완화시킴

- L2 규제라고도 부름

 

나의 이해: 규제에 가장 많이 사용하는 모델. 

 

 

라쏘(Lasso)

- 규제가 있는 선형 회귀 모델 중 하나

- L1 규제라고도 부름

- 라쏘 모델은 특성을 사용할 때 계수를 0으로 만들기도 함

- 특성의 일부만 사용해 분석하기 쉬운 모델을 원하거나 샘플의 특성들 중 중요한 특성이 몇 개 안될 때 사용

 

나의 이해: 릿지가 라쏘보다 좀 더 많이 쓰이는 규제 모델이지만 라쏘의 장점은 특성의 중요도나 개수에 따라 사용할 수 있음. 라쏘는 특성을 적게 사용하므로 분석하기 편한 측면도 있음.

 

 

하이퍼 파라미터(hyperparameter)

- 머신러닝 알고리즘이 학습하지 않는 파라미터

- 사람이 직접 사전에 지정해야 하는 값

- 대표적으로 릿지와 라쏘의 규제강도 alpha 파라미터

 

나의 이해: 모델의 과대 적합을 제어하기 위해 최적의 파라미터 값을 찾아 지정해 주는 것. 마린의 사격실력을 예측할 때

최적의 특성 개수를 조정해주기 위해 릿지나 라쏘 모델을 써서 훈련 세트와 테스트 세트가 가장 가까운 값을 찾는 것도 하이퍼 파라미터를 찾는 것 중 하나라 볼 수 있음

 


핵심 패키지와 함수

판다스(pandas)

read_csv()

- csv 파일을 로컬 컴퓨터나 인터넷에서 읽어 판다스 데이터프레임으로 변환하는 함수

 

사이킷런(scikit-learn)

PolynomialFeatures

- 주어진 특성을 조합하여 새로운 특성을 만드는 클래스

- degree는 최고 차수를 지정, 기본값은 2

- interaction_only가 True면 거듭제곱 항은 제외되고 특성 간의 곱셈 항만 추가됨. 기본값 False

- include_bias가 False면 절편을 위한 특성을 추가하지 않음. 기본값 True

 

Ridge

규제가 있는 회귀 알고리즘인 릿지 회귀 모델을 훈련

- alpha 매개변수로 규제의 강도를 조절. alpha값이 클수록 규제가 세짐. 기본값 1

- solver 매개변수로 최적의 모델을 찾기 위한 방법을 지정할 수 있음. 기본값 auto

- random_state는 solver가 sag나 saga 일 때 넘파이 난수 시드 값을 지정가능

 

Lasso

- 규제가 있는 회귀 알고리즘인 라쏘 회귀 모델을 훈련

- 최적의 모델을 찾기 위해 좌표축을 따라 최적화를 수행해가는 좌표 하강법을 사용

- max_iter는 알고리즘의 수행 반복 횟수를 지정. 기본값 1000

 


참고

http://www.yes24.com/Product/Goods/96024871

 

혼자 공부하는 머신러닝+딥러닝 - YES24

- 혼자 해도 충분하다! 1:1 과외하듯 배우는 인공지능 자습서 이 책은 수식과 이론으로 중무장한 머신러닝, 딥러닝 책에 지친 ‘독학하는 입문자’가 ‘꼭 필요한 내용을 제대로’ 학습할 수 있

www.yes24.com

 

반응형