데이터분석

50. 딥러닝

장수우 2024. 2. 4. 15:32
학습 주제
  • 딥러닝
  • 성능평가
주요 학습 내용
  • Deep Learning
    • 사람의 신경망을 기반으로 학습과 추론을 진행하는 학문
    • 딥러닝은 뉴런을 모방한 퍼셉트론(perceptron)을 수학적으로 모델링하고 이를 기본 단위로 한다.
  • 퍼셉트론
    • 뉴런의 동작을 단순화하여 수학적으로 모델링
      - 모델링의 결과로 퍼셉트론을 원으로 가중치를 반직선의 형태로 표시
    • 다수의 입력을 바탕으로 하나의 결과를 출력한다.
    • 앞선 신호들로 정보를 얻고 정제해 후속 전파한다.
  • 딥러닝 모델의 적용
    • 퍼셉트론을 다양하게 배치해서 데이터 특성에 맞는 구조를 설계한다.
    • 복잡한 데이터의 패턴을 익힐 수 있도록 모델의 크기를 조절 가능하다
    • 사람과 비슷한 인지 과정을 모방한다.
  • 이미지 데이터 : CNN
    • 문제 해결을 위한 특징 추출을 Convolution 필터를 사용한 딥러닝 모델
    • Pooling 과정과 반복의 과정으로 상위 개념의 특징을 만드는 과정이 수반된다.
      1. Convolutional Filter
      2. Pooling
      3. 반복
  • 덱스트 데이터 : RNN, Attention
    • 이웃한 텍스트 글자 간의 연관성을 표현하는 방식으로 정보를 처리한다.
      1. 문장의 앞에서부터 한 단어 씩 입력으로 받는다.
      2. 새로운 단어가 들어오면 이를 처리해서 정보 추출
      3. 앞서 해석해 만들어낸 정보 덩어리에 추출한 정보를 추가하여 정보 업데이트
      4. 문장이 끝나는 시점까지 위 과정을 되풀이한다.
  • Attention 모듈이 다루는 문제
    • 텍스트 이해(Text Understanding) : 질의응답, 문장 이해, 정보 검색
    • 텍스트 생성(Text Generation) : 문장 생성, 요약, 번역
    • 텍스트 분류 및 태깅(Text Classification & Tagging) : 문장 분류, 개체명 인식, 품사 태깅
    • 텍스트 관계 추출 (Text Relation Extraction) : 문장 관계 추출

  • 검증
    • 모델의 학습이 잘 진행되었는지를 판단하는 평가 과정
    • 학습이 잘 되고있는지 혹은 과적합이 진행되는지를 판단한다.
    • 모델 학습의 최종 의사 결정 과정에서 사용되는 중요한 역할이다.
  • 교차검증
    • 앞선 문제를 회피 혹은 감수 하면서도 원래 의미를 살리는 평가를 진행하는 방법
    • 전체데이터를 여러개의 하위 데이터로 나누고 하위 세트들의 조합은 서로 다른 방법으로 훈련과 검증에 사용
    • 모델의 일반화 능력 충분히 측정하는 것
  • 교차 검증 (CV) 방법
    • K-Fold CV
      • 전체 데이터 세트를 총 K개의 덩어리(Fold)로 나누고, 각 덩어리를 순차적으로 검증 데이터로 사용하는 방법
      • 과정
        - 데이터 세트를 K개의 폴드로 나눔 -> K개의 조합 생성
        - 하나의 조합 당
        - 하나의 폴드만 Validation data로 사용
        - 나머지 k-1개의 폴드를 Train data로 사용
        - 총 K번의 학습 및 평가 과정이 반복
      • 모든 데이터가 학습 및 평가로 사용
        - 데이터 활용의 극대화
        - 과적합 방지
        - 논리적인 일반화 평가 진행
    • 계측적 교차 검증 (Stratified Cross-Validation)
      • 각 폴드에서 클래스의 비율을 원본 데이터셋의 클래스 비율과 유사하게 유지
      • 과정
        - 클래스 별로 데이터를 분할
        - 각 클래스 데이터를 K 개의 폴드로 나눈다.
        - 각 클래스에 존재하는 K개의 폴드를 하나씩 조합한다 -> K개의 조합 생성
        - 이후 과정은 K-Fold CV와 동일하다
      • K-Fold의 장점과 더불어 클래스 사이의 불균형이 있는 경우의 편향까지 고려한다.
    • LOOCV (Leave-One-Out Cross Validation)
      • 한번에 하나의 데이터 포인트만을 검증 데이터로 사용한다.
      • 과정
        - 극단적인 K-Fold CV의 경우
        - 전체 데이터 수 만큼의 K를 활용한다.
      • 매우 정확한 검증 방식
      • 데이터의 크기가 크다면 매우 많은 시간이 소요
      • 작은 데이터셋에 유용
    • 선형 분류 모델을 이용해 교차 검증하기
      • Logistic 회귀 모델을 활용한 선형 분류 모델을 이용해 교차 검증 진행

  • 성능 평가
    • 성능 평가에 사용되는 지표를 metric이라고 한다.
    • Metric에는 다양한 종류가 있으며 각각의 지표가 제공하는 정보가 다르다
    • 목적에 맞는 metric을 선택해야한다.
    • 시각화도 좋은 방법
  • Confusion Matrix
    • 분류 문제에서 모델의 성능을 이해하고 해석하기 위한 중요한 도구
    • 실제 레이블과 예측 레이블을 비교해 모델의 성능을 시각적으로 표현한 행렬
    • 4가지 요소
      1. 진짜 양성(True Positive, TP)
      2. 거짓 양성(False Negative, FN)
      3. 진짜 음성(True Negative, TN)
      4. 거짓 음성(False Negative, FN)
    • Accuracy = (TN + TP) / (TN + FP + FN + TP)
    • Precision = TP / (FP + TP)
    • Recall = TP . (FN + TP)
  • ROC (Receiver Operating Characteristic) curve
    • 이진 분류 문제에서 널리 사용되는 모델 성능 측정 도구
    • 양성과 음성을 나눈 임계값의 변화에 따른 성능을 시각화 한 그래프
    • 파라미터 종류
      1. X 축 : 거짓 양성률 (False Positive Rate, FPR) = FP / (TN + FP)
        - 전체 음성 중 실제로는 음성인데 양성이라고 잘못 찾은 비율
      2. Y 축 : 진짜 양성률 (True Positive Rate, TPR) = TP (FN + TP) = Recall
    • 왼쪽 위에 포인트가 존재하게 하는 임계치를 선택하는게 좋다
    • 머신러닝 모델이 양성을 최대한 많이, 잘 찾아내면서 잡음에 의한 거짓 탐지를 최소화하는지 바탕으로 
    • 적절한 임계치 찾는 도구
  • AUC (Area Under the Curve) 점수
    • 음성과 양성을 잘 구분할수록 좋은 분류기
    • ROC 커브 안에서도 확인 가능
      - 음성과 양성을 잘 나눴다면 ROC 커브는 왼쪽 위 방향으로 그래프가 치우친다
      - 반대는 y = x 그래프에 수렴한다.
    • ROC 커브의 모양을 보고 좋은 분류기인지 아닌지 확인, 수치화 하면
      - 최대 : 1 , 최소 : 0.5
    • AUC는 분류기의 전반적인 성능을 알 수 있는 척도, ROC 커브의 아랫 면적
  • R^2
    • 회귀 모델의 성능을 평가하는 통계적 지표
    • 모델이 데이터의 변동성을 얼마나 잘 설명하는지 나타낸다.
    • SS(res) : 모델 예측 값과 실제 값 사이의 제곱 합
    • SS(tot) : 실제 값들의 평균과 실제 값 사이의 차이 제곱 합
      - 실제 데이터 내의 총 변동량을 나타낸다.
      - 모델이 설명해야 하는 '전체' 변동성의 양을 의미
    • R^2 = 1 : 모델이 데이터의 변동성을 완변하게 설명한다. = 모든 데이터 포인트가 회귀선에 정확이 놓임
    • R^2 = 0 : 변동성을 설명하지 못한다 = 단순 모델의 평균값을 예측
    • 0 < R^2 < 1 : 일부 변동성을 설명, R^2이 클수록 설명력이 높다고 볼 수 있다.
    • R^2 값은 클 수록 설명력이 크다고 할 수 있다.
    • 과적합의 위험성을 주의해야한다.
      - 많은 변수를 추가하면 모델이 비대해지고 R^2값은 자동 증가
      - 이때 과적합을 주의
공부하면서 어려웠던 점
  • 검증 실습을 통해 이해해야겠다.
반응형

'데이터분석' 카테고리의 다른 글

52. 데이터 EDA  (1) 2024.02.07
51. Kaggle 참여해보기  (0) 2024.02.05
49. K-means, 이상 탐지  (0) 2024.02.03
48. SVM, 비지도 학습, 결정트리  (0) 2024.02.03
47-(2). 선형 회귀  (0) 2024.02.02