Notice
Recent Posts
Recent Comments
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

SYDev

[KHUDA 4th] 머신러닝 1주차 기초 세션 (08.02) 본문

KHUDA 4th/머신러닝 기초 세션

[KHUDA 4th] 머신러닝 1주차 기초 세션 (08.02)

시데브 2023. 8. 3. 01:16

머신러닝 기초 세션??

  • 매주 수요일 공부한 내용을 공유하고, 해당 내용을 바탕으로 같이 토의하는 시간을 가진다.
  • 이번 1주차 범위는 혼공 머신러닝+딥러닝 Chapter 1,2

 

토의 내용 정리

 

어떤 기준으로 적절한 데이터 전처리 방법을 결정하나요?
  • 데이터 전처리: 데이터를 분석 및 처리에 적합한 형태로 만드는 과정을 총칭

 데이터 전처리의 종류에는 데이터 클리닝(cleaning), 데이터 통합(integration), 데이터 변환(transformation), 데이터 축소(reduction), 데이터 이산화(discretization) 등이 존재하는데, 주어진 데이터를 확인하고 해당 데이터의 이상값이 어떤 데이터 전처리 과정을 이용하면 적절히 해결될 수 있는지 생각해보고 결정해야 한다.

 

k-최근접 이웃 알고리즘에서 n_neighbors 값 설정 기준과 변화는 어떻게 이루어지나요?
  • 가까운 샘플의 개수가 동일한 경우에는 분류의 기준이 애매해지므로, k의 개수는 보통 홀수로 정한다.
  • k가 너무 크다면, 미세한 경계 부분은 잘못 분류할 것이며, k의 개수를 다 채우지 못해 범위가 너무 커져버릴 수 있다.
  • k가 너무 작다면, 샘플 하나의 영향을 크게 받을 것이며, 과적합(overfitting) 우려가 있고(그중에서 과대적합, k가 크면 과소적합의 우려가 있음), 패턴이 직관적이지 않을 것이다.

 따라서 최적의 n_neighbors 값을 찾기 위해서는, k의 값이 1~10 정도인 범위에서 정확도가 가장 높게 나오는 k의 값을 찾아 적용하는 것이 좋아보인다.

더보기

 과적합이란, 기계 학습에서 학습 데이터를 과하게 학습시키는 것을 뜻한다. 이 경우, 학습 데이터에 대해서는 오차가 감소하지만 실제 데이터에 대해서는 오차가 증가한다.

초록색 선은 과적합된 모델을, 검은색 선은 일반 모델을 나타낸다.

출처 : https://ko.wikipedia.org/wiki/%EA%B3%BC%EC%A0%81%ED%95%A9

 

k-최근접 이웃 알고리즘이 다양한 데이터셋에서 어떤 성능을 보여주나요?
  •  k-최근접 이웃 알고리즘은 주어진 샘플과 가장 가까웃 거리의 이웃 샘플을 참고해 클래스를 결정하기 때문에, 클래스 간에 차이가 뚜렷한 데이터셋에서 좋은 성능을 보인다.
  • 주어진 샘플과 나머지 모든 샘플과의 거리의 계산을 진행하기 때문에, 데이터셋의 크기가 커질수록 실행속도가 느려지고 성능이 저하된다. 
  • 이터셋의 차원이 커질수록 KNN 알고리즘의 성능은 저하되는데, 동일한 개수의 데이터 밀도가 희박해지기 때문이다.

 

비선형 데이터셋에서 k-최근접 이웃 알고리즘이 어떻게 동작하나요?

 비선형 데이터셋에서 KNN 알고리즘의 동작 방식은 물론 선형 데이터셋에서와 같지만, 비선형 데이터셋은 선형 데이터셋에 비해서 복잡한 분포를 가졌기 때문에 경계 희석과 같은 문제가 발생할 수 있다.

  • 경계 희석 문제: 클래스 간에 겹치는 영역이 많아질 경우에 발생하는 문제

 

훈련 세트와 테스트 세트 분할 비율 결정 기준은 어떻게 되나요?

 보통 전체의 2~30%를 테스트 세트로 사용하지만, 데이터의 규모가 커질수록 테스트 세트의 비율이 줄어도 충분해진다.

적절한 데이터 분리와 셔플 방법은 어떻게 되나요?

 데이터의 규모가 작은 데이터셋의 경우에는 train_test_split()함수의 매개변수 stratify를 이용하여 균일하게 섞어주는 작업이 필요하지만, 데이터셋의 규모가 커질수록 별도의 조치 없이 비율이 적절히 맞춰질 것으로 예상된다.

 


참고자료

 

데이터 전처리란? - 데이터 전처리 정의, 작업 단계, 순서

데이터를 분석 및 처리에 적합한 형태로 만드는 과정을 총칭합니다.데이터 전처리는 데이터 분석 및 처리 과정에서 중요한 단계이고 데이터 분석,데이터 마이닝, 머신 러닝 프로젝트에 적용 합

modulabs.co.kr

  • https://davincilabs.ai/wiki/?q=YToxOntzOjEyOiJrZXl3b3JkX3R5cGUiO3M6MzoiYWxsIjt9&bmode=view&idx=7724208&t=board
  • 박해선, <혼자 공부하는 머신러닝+딥러닝>, 한빛미디어(주), 2022.2.4