머신러닝

파라미터 하이퍼 파라미터의 차이, 정규화 표준화의 차이(머신러닝이란? 사이킷런(knn))

주니코니 2023. 7. 21. 10:59

사이킷런 : 모든 모델 다 쓸 수 있는 파이썬 라이브러리 ❤️(사이킷런은 사랑이다..!)

머신러닝으로 할 수 있는 두가지는? 예측과 분류

regression 회귀 : 예측

classification 분류 지도 학습

clustering 분류 cf. 비지도 학습

 

dimentionality reduction : 차원축소 

예측과 분류 둘다 가능(보조 도구) 

 

 

알고리즘 종류 : 

1.

k-최근접 이웃(knn) : 유클리디언 거리(피타고라스의 정리)

k는 내가 선정(1-nearest neighbor, 2, 3,----) => 하이퍼 파라미터에 해당

k와 비교대상이 있어야 한다!(training data가 늘 있어야 한다)

 


컴퓨터를 이루는 세가지 : cpu, 램, ssd(하드 디스크의 발전)

램 - 주 기억 장치 but 8-16기가 => training data 다 올리기엔 무리 

ssd - 보조 기억 장치

 

게으른 학습(lazy learning)

올리고 지우고를 귀찮아하고 계속 올리기만 하는 학습법

열정적 학습(eager learning)

램에다 training data 올리고 학습 뒤, 방 빼! 너 나가


파라미터와 하이퍼파라미터의 차이

하이퍼 파라미터 vs 파라미터

하이퍼 파라미터 : 내가 정하는 거 

파라미터 : 데이터로부터 도출된 값 

* 굉장히 둘이 혼용되어서 쓰이고 있다

=> 합쳐서 파라미터라 불린다

train_test_split > 내가 정함 > 하이퍼파라미터임


knn- 유클리안 거리

cf.멘하탄 거리

단점 : 윗 분에게 설명하기 어렵다(<->유클리언 거리는 설명하기 쉽다)


standardization, normalization 구분

preprocessing 전처리를 의미

평균이  0이고 분산이 1인 값으로 변경 =standardscaler (분산 1 = 표준편차 1)

분산과 표준편차는 같은 말로 많이 쓰임

왜 반드시 해야 할까? 서장훈 잡기 위해 범위를 정해줘서 일정하게 바꾸는 것 평균을 0, 분산이 1인 값으로 변경해주는 것

*standardization 한다 : 평균을 0, 분산이 1인 값으로 변경해주는 것

0에 가까운 -,+값 나올 것

 

but (-)값 안나오게 하고 싶다면 0과 1사이 변환 시키기

cf *normalization이라 함(minmaxscaler 함수) 

-정규화( 0~1 값으로 바꿈)

-데이터에서 최솟값을 빼고 전체 범위로 나누는 것

 

cf *regularization : 제약조건 붙일래 말래 (정규화라 불리는데 한국말 쓰지말장)

 

참고자료(정리 감사합니다)

 

[통계] 정규화(Normalization) vs 표준화(Standardization)

ML을 공부하는 사람이라면 feature scaling이 얼마나 중요한 지 알것이다. scikit-learn에는 많은 스케일링 메서드들이 모듈화 되어있는데, 기본적으로 정규화와 표준화가 무엇인지 이해해야 과제를 수

heeya-stupidbutstudying.tistory.com