멋사 ai 스쿨 TIL (31) - a.m 자기주도학습

eve·2022년 11월 21일
0

likeLion

목록 보기
29/45

강사님의 건강상 이슈로 인해 인사이트 데이와 동일하게 자기주도학습을 실시했다.
학습 목표는 K-MOOC 강좌 중 Classification, Clustering, Neural Network의 요약 및 정리이다.

Classification

1. K-Nearest Neighbors (KNN, K-최근접 이웃)

특징

  • 두 관측치의 거리가 가까우면 target도 비슷하다.
  • K개의 주변 관측치의 Class에 대한 majority voting
  • Distance-based model(거리기반), instance-based learning(예시기반)

방법

  • Euclidean Distance를 통해 관측치 간의 거리를 구한다.
  • 거리가 가장 작은 관측치를 찾는다.
  • k값과 일치하는 갯수의 샘플들을 추출한다.
  • 관측치들의 특성을 비교하여 instance가 될 평균을 찾는다.

거리

  • 범주형 변수는 Dummy Variable로 변환하여 거리를 계산한다.
  • 범주형 변수끼리의 비교할 경우, 같은 클래스끼리는 거리가 0이 된다.
  • Lazy Learning Algorithm

K의 영향

  • K: KNN의 Hyperparameter
  • K가 클 수록 underfitting, k가 작을 수록 overfitting
  • Validation dataset을 이용해 최적의 k 결정
  • K의 값이 클 수록, 분류의 경계가 부드러워진다.

2. Logistic Regression (로지스틱 회귀)

배경

(1) 다중선형회귀분석 (y: 연속형)

  • 수치형 설명변수 X와 종속변수 Y간의 관계를 선형으로 가정하고, 이를 가장 잘 표현하는 회귀계수 추정

(2) Logistic Regression의 필요성

a. 범주형 반응 변수의 존재

  • 이진변수( ex. 반응변수 값이 0 또는 1)
  • 멀티 변수( ex. 반응변수 값이 1, 2, 또는 4)

b. 일반 회귀분석과는 다른 방식으로 접근해야 될 필요성.

  • 종속변수의 속성이 이진 변수 (0 or 1)일 때, 확률값을 선형 회귀분석의 종속변수로 사용하지 X
  • 선형회귀분석의 우변은 범위에 제한이 없기 때문에, 우변과 좌변의 범위가 다른 문제점 발생.

목적

  • 이진형(0/1)의 형태를 갖는 종속변수(분류문제)에 대해 회귀식의 형태로 모형을 추정하는 것
  • 회귀식으로 표현될 경우 변수의 통계적 유의성 분석 및 종속변수에 미치는 영향력을 알 수 있음

특징

  • 이진형 종속변수 Y를 그대로 사용하는 것이 아니라, Y에 대한 로짓함수(logig function)를 회귀식의 종속변수로 사용
  • 로짓함수는 설명변수의 선형결합으로 표현됨.
  • 로짓함수의 값은 종속변수에 대한 성공확률로 역산될 수 있으며, 따라서 이는 분류문제에 적용 가능함.
  • sigmoid function으로 표현 가능함.

Clustering

1. Hierarchical Clustering (계층적 군집화)

특징

  • 계층적 트리모형을 이용하여 개별 개체들을 유사도가 높은 순서로 통합
  • dendrogram(덴드로그램)으로 시각화 가능
  • 사전에 군집의 수를 정하지 않아도 수행 가능 (덴드로그램 생성 후 적절한 수준에서 잘라 군집 생성)

방법

  • 핵심 수행 절차: 두 군집 사이의 유사도/거리 측정 방식
    ( ex.단일 연결법(min), 완전 연결법(max), 평균 연결법(group average), 중심점 연결법 (between centroids distance), etc ... )

2. K-means Clustering (K-평균 군집화)

특징

  • 대표적인 분리형 군집화 알고리즘
  • 각 군집은 하나의 중심(centroid)을 가짐
  • 각 개체는 가장 가까운 중심에 할당하는 것이 원칙
  • 같은 중심에 할당된 개체들이 모여 하나의 군집을 형성
  • 사전에 군집의 수 K를 정해줘야 함 (Hyperparameter)

방법

  • 초기 중심(centroid)을 K개 임의로 생성
  • 개별 관측치로부터 각 중심까지의 거리 계산 후, 가장 가까운 중심이 이루는 군집에 관측치 할당
  • 각 군집의 중심을 다시 계산
  • 중심이 변하지 않을 때까지 위 과정을 반복

유의점

  • 초기 중심은 무작위로 생성하기 때문에, 군집화 결과가 초기 중심 설정에 따라 다르게 나타나는 경우가 발생할 수도 있음.
  • 해당 위험을 피하고자 많은 연구가 있으나, 초기 중심 설정이 최종 결과에 큰 영향을 주는 것은 아님.

유의 Case 1 : 서로 다른 크기의 군집을 잘 찾아내지 못함 (데이터를 유사한 크기의 군집으로 분류하여 각 군집의 표본수가 유사해짐).

유의 Case 2 : 밀도가 다른 군집을 잘 찾아내지 못함.

유의 Case 3 : 원형의 형태인 분포를 잘 찾아내므로, 지역적 패턴이 존재하는 군집을 판별하기 어려움.

대안

  • 다양한 군집수에 대해 성능평가 지표를 도시하여 최적의 군집 수 선택
  • Elbow point에서 최적 군집 수가 결정되는 경우가 일반적.
  • 분류 알고리즘 처럼 모든 상황에 적용가능한 성능 평가지표 부재
    a. 내부평가지표(internal index) : Sum of Squared Error(SSE), Silhouette, Dunn Index ...
    b. 외부평가지표(external index): Rand Index, Jaccard Coefficient, Folks and Mallows Index ...

Neural Network Basic

Logistic Regression

Sigmoid 함수

  • 확률의 의미를 나타내주는 함수
  • 선형회귀식에 적용하여 sigmoid 패턴을 얻는다.

loss

  • logistic regression 구성 후 loss function을 계산해야 함.
  • loss function 정의 후에는 minimize하는 과정을 거친다.
  • Classification에서 loss는 cross-entropy로 정의 가능하다.
  • cross entropy는 해당 클래스에 속할 확률을 출력한다.
    = 모델이 특정 클래스에 속할 확률을 최대화 = loss minimization

Perceptron

배경

  • 뇌의 뉴런 = 모델의 퍼셉트론
  • input 중 역치 값 이상으로 발현될 경우 출력
  • 출력 강도를 조정할 때, 관련 내용을 확인할 수 있는 것이 sigmoid 함수의 표현
  • svm처럼 kernel 등의 도구를 이용하여 nonlinear 패턴을 선형적으로 변경할 때, 같은 데이터도 표현을 달리하여 가능하게 하는 것.
profile
유저가 왜 그랬을까

0개의 댓글