학습 주제
- 딥러닝
- 성능평가
주요 학습 내용
- Deep Learning
- 사람의 신경망을 기반으로 학습과 추론을 진행하는 학문
- 딥러닝은 뉴런을 모방한 퍼셉트론(perceptron)을 수학적으로 모델링하고 이를 기본 단위로 한다.
- 퍼셉트론
- 뉴런의 동작을 단순화하여 수학적으로 모델링
- 모델링의 결과로 퍼셉트론을 원으로 가중치를 반직선의 형태로 표시 - 다수의 입력을 바탕으로 하나의 결과를 출력한다.
- 앞선 신호들로 정보를 얻고 정제해 후속 전파한다.
- 뉴런의 동작을 단순화하여 수학적으로 모델링
- 딥러닝 모델의 적용
- 퍼셉트론을 다양하게 배치해서 데이터 특성에 맞는 구조를 설계한다.
- 복잡한 데이터의 패턴을 익힐 수 있도록 모델의 크기를 조절 가능하다
- 사람과 비슷한 인지 과정을 모방한다.
- 이미지 데이터 : CNN
- 문제 해결을 위한 특징 추출을 Convolution 필터를 사용한 딥러닝 모델
- Pooling 과정과 반복의 과정으로 상위 개념의 특징을 만드는 과정이 수반된다.
- Convolutional Filter
- Pooling
- 반복
- 덱스트 데이터 : RNN, Attention
- 이웃한 텍스트 글자 간의 연관성을 표현하는 방식으로 정보를 처리한다.
- 문장의 앞에서부터 한 단어 씩 입력으로 받는다.
- 새로운 단어가 들어오면 이를 처리해서 정보 추출
- 앞서 해석해 만들어낸 정보 덩어리에 추출한 정보를 추가하여 정보 업데이트
- 문장이 끝나는 시점까지 위 과정을 되풀이한다.
- 이웃한 텍스트 글자 간의 연관성을 표현하는 방식으로 정보를 처리한다.
- 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 회귀 모델을 활용한 선형 분류 모델을 이용해 교차 검증 진행
- K-Fold CV
- 성능 평가
- 성능 평가에 사용되는 지표를 metric이라고 한다.
- Metric에는 다양한 종류가 있으며 각각의 지표가 제공하는 정보가 다르다
- 목적에 맞는 metric을 선택해야한다.
- 시각화도 좋은 방법
- Confusion Matrix
- 분류 문제에서 모델의 성능을 이해하고 해석하기 위한 중요한 도구
- 실제 레이블과 예측 레이블을 비교해 모델의 성능을 시각적으로 표현한 행렬
- 4가지 요소
- 진짜 양성(True Positive, TP)
- 거짓 양성(False Negative, FN)
- 진짜 음성(True Negative, TN)
- 거짓 음성(False Negative, FN)
- Accuracy = (TN + TP) / (TN + FP + FN + TP)
- Precision = TP / (FP + TP)
- Recall = TP . (FN + TP)
- ROC (Receiver Operating Characteristic) curve
- 이진 분류 문제에서 널리 사용되는 모델 성능 측정 도구
- 양성과 음성을 나눈 임계값의 변화에 따른 성능을 시각화 한 그래프
- 파라미터 종류
- X 축 : 거짓 양성률 (False Positive Rate, FPR) = FP / (TN + FP)
- 전체 음성 중 실제로는 음성인데 양성이라고 잘못 찾은 비율 - Y 축 : 진짜 양성률 (True Positive Rate, TPR) = TP (FN + TP) = Recall
- X 축 : 거짓 양성률 (False Positive Rate, FPR) = FP / (TN + FP)
- 왼쪽 위에 포인트가 존재하게 하는 임계치를 선택하는게 좋다
- 머신러닝 모델이 양성을 최대한 많이, 잘 찾아내면서 잡음에 의한 거짓 탐지를 최소화하는지 바탕으로
- 적절한 임계치 찾는 도구
- 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 |