본문 바로가기
카테고리 없음

[Data] #6

by dangbok 2024. 1. 18.

도서 <데이터 분석가가 반드시 알아야 할 모든 것> 참조

 

  • 머신러닝 분석 방법론
    • 선형 회귀분석과 Elastic Net(예측모델)
      • 회귀분석은 각 독립변수의 평균을 통해 종속변수를 예측
      • 즉, 회귀분석은 종속변수 Y의 값에 영향을 주는 독립변수 X들의 조건을 고려하여 구한 평균값
      • 최적의 회귀선은 예측치와 관측치들 간의 수직 거리(오차)의 제곱합을 최소로 하는 직선(최소제곱추정법)
      • 기본 조건 충족
        • 잔차의 정규성: 독립변수에 해당되는 종속변수의 값들의 잔차는 정규분포를 해야 한다.
        • 잔차의 등분산성: 잔차의 분산은 회귀 모형의 독립 변숫값과 상관없이 일정해야 한다.
        • 선형성: 독립변수 값의 변화에 따른 종속변수 값의 변화는 일정해야 한다.
      • 다항회귀: 독립변수와 종속변수의 관계가 비선형 관계일 때 변수에 각 특성의 제곱을 추가하여 회귀선을 비선형으로 변환하는 모델
        • 차수가 커질수록 편향은 감소하지만 변동성이 증가하게 된다. -> 과적합 유발
        • T Value는 노이즈 대비 시그널의 강도
        • 유의도를 나타내는 P Value는 T Value와 관측치 수에 의해 결정되는 값
      • 전진 선택법
      • 후진 제거법
      • 단계적 선택법
      • Ridge는 전체 변수를 모두 유지하면서 각 변수의 계수 크기를 조정
      • Lasso는 Ridge와 유사하지만, 중요한 몇 개의 변수만 선택하고 나머지 변수들은 계수를 0으로 주어 변수의 영향력을 아예 없앤다는 차이점
      • Ridge는 변환된 계수가 0이 될 수 없지만 Lasso는 0이 될 수 있다는 특성을 결합
      • Python 실습
        • csv 파일 불러오기부터 데이터 전처리를 할 수 있는 pandas, 머신러닝 모델 패키지인 sklearn과 시각화 패키지 seaborn
    • 로지스틱 회귀분석(분류 모델)
      • 특정 수치를 예측하는 것이 아니라 어떤 카테고리에 들어갈지 분류를 하는 모델
    • 의사결정나무와 랜덤 포레스트(예측/분류 모델)
      • 의사결정나무
        • 명목형의 종속변수를 분류할 수 있는 분류나무
          • 데이터를 얼마나 잘 분류했는지 알 수 있는 척도인 불순도를 낮추고 순도를 높이는 방향으로 분류 기준을 찾아낸다.
          • 한 노드 내에서는 범주의 동질성이 최대한 높고, 노드 간에는 이질성이 최대한 높도록
          • 각 독립변수의 수치마다 지니 계수나 엔트로피 값을 구해서 최적의 정보 획득량을 얻을 수 있는 기준으로 분류를 해 나가는 것
        • 연속형의 수를 예측할 수 있는 회귀나무
          • 끝 노드에 속한 데이터 값의 평균을 구해 회귀 예측값을 계산
          • F-value나 분산의 감소량을 분류 기준으로 사용
        • 과적합 방지를 위한 방법으로 가지치기와 정보 획득량 임곗값 설정, 한 노드에 들어가는 최소 데이터 수 제한하기, 노드의 최대 깊이 제한하기 등
      • 랜덤 포레스트
        • 앙상블 학습
        • 여러 의사결정나무 모델을 생성한 다음, 분류 모델일 경우는 가장 많이 예측한 범주로 결정을 하고 회귀 모델인 경우는 평균값을 최종 예측값으로 한다.
        • 부트스트랩: 하나의 데이터셋을 중복을 허용하여 무작위로 여러 번 추출하는 것
        • 배깅: 여러 개의 의사결정 나무를 하나의 모델로 결합해 주는 것
        • 부스팅: 각 트리모델을 순차적으로 학습하며 정답과 오답에 가중치를 부여
    • 선형 판별분석과 이차 판별분석(분류 모델)
      • 판별분석은 로지스틱 회귀분석처럼 질적 척도로 이루어진 종속변수를 분류할 때 쓰이는 분석 기법
      • 선형 판별분석의 조건
        • 데이터가 정규 분포한다.
        • 각각의 범주들은 동일한 공분산 행렬을 갖는다.
        • 독립변수들은 통계적으로 상호 독립적이다.
    • 서포트벡터머신(분류 모델)
      • 판별분석과 같이 범주를 나눠줄 수 있는 최적의 구분선을 찾아내어 관측치의 범주를 예측
      • 기계학습에서 거리를 통해 분류나 회귀 모델을 만들 때는 반드시 데이터 정규화나 표준화를 해줘야 한다.
      • 커널 기법: 기존의 데이터를 고차원 공간으로 확장하여 새로운 결정경계선을 만들어내는 방법
    • KNN(분류, 예측 모델)
      • 미리 저장되어 있는 학습 데이터에다가 예측 데이터를 대조함으로써 직접 결과가 도출되므로 메모리 기반 학습이라고도 불림
      • 유클리드 거리로 계산
    • 시계열 분석(예측모델)
      • 관측치의 통계량 변화를 시간의 흐름에 따라 순차적으로 데이터화하고 현황을 모니터링하거나 미래의 수치를 예측하는 분석 방법
      • 탐색 목적: 외부 인자와 관련된 계절적인 패턴, 추세 등을 설명하고 인과관계를 규명
      • 예측 목적: 과거 데이터 패턴을 통해 미래의 값을 예측
      • ARIMA(p,d,q)모델은 시계열 데이터를 d회 차분하고 p만큼의 과거 값들과 q만큼의 과거 오차 값들을 통해 수치를 예측하고 차분한 값을 다시 원래의 값으로 환산하여 최종 예측값을 산출
    • k-means 클러스터링(군집 모델)
      • 미리 가지고 있는 정답(레이블) 없이 데이터의 특성과 구조를 발견해 내는 방식
      • 중심점과 군집 내 관측치 간의 거리를 비용함수로 하여, 이 함수 값이 최소화되도록 중심점과 군집을 반복적으로 재정의해 준다.
      • 지역 최솟값 문제를 방지하기 위해 초기 중심점 선정 방법을 다양하게 하여 최적의 모델을 선정할 수 있다.
    • 연관규칙과 협업 필터링(추천 모델)
      • 연관규칙
        • Apriori: 아이템들의 조합에 대한 경우의 수를 최소화하여 처리 속도 효율을 높인 알고리즘
        • FP-Growth: 트리 기반 알고리즘으로, 항목 간 비교 계산을 최소화하여 처리 속도 효율을 높인 알고리즘
        • DHP: 항목 집합의 개수가 2개인 트랜잭션을 먼저 해시 테이블로 만들어 처리 속도 효율을 높인 알고리즘
        • 핵심 지표
          • 지지도: 아이템 A와 B를 동시에 포함하는 거래가 발생할 확률
          • 신뢰도: 아이템 A가 포함되는 거래에 B가 포함될 확률
          • 향상도: 아이템 A와 B가 독립적으로 판매되는 것 대비 함께 판매되는 비율
      • 콘텐츠 기반 필터링과 협업 필터링
    • 인공 신경망(CNN, RNN, LSTM)
      • 기본적인 신경망 구조는 입력층, 은닉층, 출력층 세 가지 층으로 분류
      • 오류 역전파: 처음 주어진 가중치를 이용해 출력층의 값을 계산하고, 결괏값과의 오차를 각 가중치로 미분한 값을 처음 가중치에서 빼 주는 작업을 반복하며 가중치를 조정
      • 신경망을 이루는 가장 기본 단위 구조를 퍼셉트론
      • CNN
        • 합성곱 신경망은 사람의 시신경 구조를 모방한 구조로써 데이터의 특징을 추출하여 패턴을 파악
      • RNN
        • 자연어처리 영역에서 많이 쓰이고 있는 순환신경망은 알고리즘 내부에 순환구조가 들어있다.
      • LSTM
        • 기존 RNN과 유사한 구조를 가지고 있지만 셀 스테이트(가중치를 계속 기억할 것인지 말 것인지를 결정해주는 역할)라는 요소를 가진다.

 

 

  • 모델 평가
    • 학습 셋, 검증 셋, 테스트 셋과 과적합 해결
      • 학습 셋: 모델을 학습하여 파라미터 값을 산출하기 위해 사용하는 데이터
      • 검증 셋: 학습 셋으로 과도하게 학습을 하여 과적합 되지 않기 위해 사용하는 데이터
      • 테스트 셋: 학습한 모델의 성능을 평가하기 위한 데이터
    • 주요 교차 검증 방법
      • k-Fold Cross Validation
      • LOOCV
      • Stratified K-fold Cross Validation
      • Nested Cross Validation
      • Grid Search Cross Validation
    • 회귀성능 평가지표
      • R-Square와 Adjusted R-Square
      • RMSE
      • MAE
      • MAPE
      • RMSLE
      • AIC와 BIC
    • 분류, 추천 성능 평가지표
      • 혼동 행렬
      • 정확도, 오분류율, 정밀도, 민감도, 특이도 그리고 f-score
      • 향상도 테이블과 향상도 차트 그리고 향상도 곡선
      • ROC 곡선과 AUC
      • 수익 곡선
      • Precision at k, Recall at K 그리고 MAP
    • A/B 테스트와 MAB
      • A/B 테스트
        • AS-IS와 TO-BE의 결과를 직접 비교하는 것
        • 웹서비스에서 변화 효과를 검증하기 위해 사용
        • Z-test나 T-test 수행
      • MAB
        • Exploration: 최적의 보상을 얻을 수 있는 방안을 찾기 위해 계속해서 실험하는 것
        • Exploitation: 선택한 최적의 방안을 계속 실행하여 이익을 최대화하는 것
        • -greedy: 일정 확률로 대안을 무작위로 탐색하는 알고리즘
        • UCB: 대안의 결과가 불확실한 것을 우선순위로 탐색하는 알고리즘
        • Thompson Sampling: 대안의 결과에 대한 베타 분포를 계산하여 샘플링한 값 중 가장 높은 대안을 탐색하는 알고리즘
  • 분석가의 올바른 주관적 판단을 위한 필수 요소
    • 해당 분야의 풍부한 도메인 지식
    • 통계적 지식을 기반으로 탐색적 데이터 분석과 전처리
    • 적극적인 커뮤니케이션과 데이터, 모델 검증
      • 배경-문제위기-극복-변화의 흐름
      • " 5%의 불량률로 연간 100억 원의 손실이 발생하는 A 제품의 공정을, 센서 분석을 통해 개선하여 불량률 1%로 90억 원의 비용을 절감했다. "