[ADsP] 머신러닝 심화

당당·2023년 7월 25일
0

ADsP

목록 보기
13/13

📔설명

머신러닝을 좀 더 알아보자!


🐴k-최근접 이웃법(k-Nearest Neighbor, k-NN)

  • 어떤 범주로 나누어져있는 데이터 셋이 있을 대, 새로운 데이터가 추가된다면 이를 어떤 범주로 분류할 것인지를 결정할 때 사용하는 분류 알고리즘
  • 지도 학습의 한 종류

k-NN 알고리즘의 원리

  • k-NN 알고리즘에서는 새로운 데이터의 클래스(범주)를 해당 데이터와 가장 가까이 있는 k개 데이터들의 클래스(범주)로 결정

  • 클래스 구분을 하려고 할 때, 주변에 있는 이웃의 개수를 k라고 하면 k=1이면 로 분류되고 k=3일 경우 으로 분류된다.
  • 일종의 다수결과 같이 분류하고자 하는 데이터가장 가까운 이웃들이 주로 속해 있는 클래스(범주)를 선택

k의 선택

  • k의 선택학습의 난이도데이터의 개수에 따라 결정
  • 일반적으로 훈련 데이터 개수의 제곱근으로 설정
  • k가 너무 큰 경우 : 과소적합(Underfitting)
  • k가 너무 작은 경우 : 과대적합(Overfitting)

이웃 간의 거리 계산 방법

  • 유클리디안 거리(Euclidean dist) -- 대표
  • 맨하탄 거리(Manhattan dist)
  • 민코우스키 거리(Minkowski dist)

  1. 유클리디안 거리 공식을 이용해 구하고자 하는 데이터 z1, z2와 기존 7개의 데이터들 사이의 거리를 산출

  2. k를 3으로 선정하고, 계산된 객체 간의 거리를 활용해 z1과 z2의 가장 인근에 잇는 데이터들과 범주를 파악

  3. z1의 이웃은 A,B,B이므로 B범주로 분류

  4. z2의 이웃은 B,A,A이므로 A범주로 분류


k-NN Classification의 장단점

장점단점
- 사용이 간단
- 범주를 나눈 기준을 알지 못해도 데이터 분류 가능
- 추가된 데이터의 처리 용이
- k값 결정이 어려움
- 수치형 데이터가 아닐 경우 유사도를 정의하기 어려움
- 데이터 내에 이상치가 존재하면 분류 성능에 큰 영향


🐶서포트 벡터 머신(Support Vector Machine, SVM)

  • 지도학습 머신러닝 모델
  • 회귀분류 문제 해결에 사용되는 비확률적 이진 선형 분류 모델 생성
  • 기존 분류기오류율 최소화를 특징으로 한다면,
    SVM마진 최대화일반화 능력극대화를 추구
  • 마진가장 큰 초평면분류기(Classifier)로 사용 시 새로운 자료에 대한 오분류가장 낮음

SVM 원리

  • SVM 분류 모델은 데이터가 표현된 공간에서 분류를 위한 경계 정의
    -> 분류되지 않은 새로운 값이 입력되면, 경계의 어느 쪽에 속하는지를 확인하여 분류 과제 수행

  • 를 구분 짓는 경계선은 아주 많이 생성될 수 있다.
  • 수많은 경계선 중 SVM은 두 집단에 속한 각 데이터들 사이에서 가장 큰 폭(마진)을 가진 경계를 찾음
  • 결정 초평면(Decision Hyperline) : 데이터각 그룹구분하는 분류자
  • 서포트 벡터(Support Vector)
    : 각 그룹에 속한 데이터들 중에서 초평면에 가장 가까이 붙어 있는 최전방 데이터들이 결정 경계지지(Support) 하므로, 해당 점을 서포트 벡터라 함.
  • 마진(Margin) : 서포트 벡터초평면 사이의 수직 거리
  • SVM은 이처럼 고차원 혹은 무한 차원의 공간에서 마진(Margin)을 최대화하는 초평면(Maximum Margin Hyperplane : 최대 마진 초평면, MMH)을 찾아 분류와 회귀 수행

SVM 장단점

장점단점
- 분류와 예측에 모두 사용
- 신경망 기법에 비해 과적합 정도가 낮음
- 예측의 정확도 높음
- 저차원과 고차원의 데이터에 대해서 모두 잘 작동
- 비선형 분리 데이터를 커널트릭을 사용해 분류 모델링 가능
- 데이터 전처리와 매개변수 설정에 따라 정확도가 달라짐
- 예측이 어떻게 이루어지는지에 대한 이해와 모델에 대한 해석 어려움
- 대용량 데이터에 대한 모형 구축 시 속도가 느리며, 메모리 할당량이 큼


🥙나이브 베이즈 분류(Naive Bayes Classification)

개념

  • 데이터에서 변수들에 대한 조건부 독립을 가정하는 알고리즘
  • 클래스에 대한 사전 정보데이터로부터 추출된 정보결합하고, 베이즈 정리(Bayes' Theorem)를 이용해 어떤 데이터가 특정 클래스에 속하는지 분류
  • 텍스트 분류에서 문자여러 범주(ex.스팸, 경제, 스포츠)하나로 판단하는 문제에 대한 솔루션

베이즈 정리(Bayes' Theorem)

  • 나이브 베이즈 알고리즘기본이 되는 개념
  • 두 확률변수사전확률사후확률 사이의 관계를 나타내는 정리

  • 사건 AB가 있을 때, 사건 B가 일어난 것을 전제로 한 사건 A의 조건부 확률을 구하려고 함 (P(A|B))
  • 현재 알고있는 정보는 사건A가 일어난 것을 전제로 한 사건B의 조건부 확률(P(B|A)), A확률, B확률
  • 이때 원래 구하고자 했던 P(A|B)를 위의 식으로 구할 수 있다는 것이 베이즈 정리

나이브 베이즈 분류의 계산

  • 나이브 베이즈 분류하나의 속성 값을 기준으로 다른 속성독립적이라 전제했을 때, 해당 속성 값클래스 분류미치는 영향 측정
  • 클래스 조건 독립성(Class Conditional Independence)
    : 속성값에 대해 다른 속성독립적이라는 가정
  • 데이터 셋특성(독립변수) X=(x1,x2,...,xn)을 담고 있고,
    k개클래스 라벨(C1, C2,...,Ck)이 있을 때 아래 식 만족

  • 조건부 확률 P(Ci|X)최대일 경우를 찾으며, 아래 식으로 확률 계산

  • P(X|Ci)의 계산을 위해 클래스 조건 독립성을 두고 아래 식으로 계산



🍗k-평균 군집분석에서 최적의 k 찾기

Elbow 방법

  • 군집분석에서 군집 수를 결정하는 방법
  • 군집 수에 따라 군집 내 총 제곱합플로팅하여 팔꿈치의 위치를 적절한 군집 수로 선택

  • x축클러스터 수를 늘려가며 계산한 SSEy축으로 하여 그래프
  • SSE값이 점점 줄어들다가 어느 순간 줄어드는 비율이 급격하게 작아지는 부분이 생김
  • 그래프 모양을 보면 팔꿈치에 해당하는 부분이 우리가 구하려는 최적의 클러스터 개수
  • 위는 2~5 사이의 값이 팔꿈치라고 판단


🥞군집모형 평가지표

실루엣(Silhouette)

  • 실루엣 계수를 사용한 클러스터링의 품질정량적으로 계산하는 방법
  • 실루엣 계수 : 한 클러스터 안에서 데이터들이 다른 클러스터와 비교해 얼마나 비슷한가를 나타내는 것
  • -1~1 사이의 값을 가짐
  • 1에 가까움 : 완벽한 군집화
  • -1에 가까움 : 군집화가 전혀 안됨

던 지수(Dunn Index)

  • 군집 간 거리의 최솟값분자, 군집 내 요소간의 거리 최댓값분모로 하는 지표
  • DI값클 수록 군집이 잘 됨


🧈연속형 모델의 성능평가

profile
MySQL DBA 신입

0개의 댓글