3과목 공부시작
[지도학습]
- 예측기법: 회귀분석, 선형모형, 비선형모형
- 분류기법: 의사결정나무, 서포트 벡터 머신, 판별분석, 로지스틱 회귀분석
- 학습데이터는 분류 알고리즘을 사용해서 분류모형을 만들고 검증 데이터로 분류모형의 타당성을 확인
- Train data: 분석모델을 만들기 위해서 사용되는 학습용 데이터
- Validation data: 분석모델을 검증하기 위한 데이터
- Test data: 최종 분석모델을 확인하기 위한 결과용 데이터
[다중 회귀분석]
- k개의 독립변수가 종속변수 Y를 종속하는 경우 다중 회귀분석을 사용
- 전진 선택법: 독립변수 중에서 종속변수에 영향이 가장 큰 변수부터 모형에 포함시키는 방법
- 후진 제거법: 독립변수를 모두 포함시켜서 모형을 만들고 가장 영향이 적은 변수부터 제거하는 방법
- 단계별 방법: 전진 선택법에 의해서 변수를 추가, 변수가 추가되고 중요도가 유의수준에 포함되지 않으면 추가한 변수가 제거
- 다중공선성: 다중 회귀분석에서 독립변수들 사이에 상관관계가 발생하는 현상, 다중공선성이 발생하면 회귀계수에 대한 해석 불가능
[K-인접기법]
- 모델을 생성하지 않고 데이터를 분류하거나 예측할 때 사용하는 방법
- 비선형 모델
- KNN은 범주형 데이터를 분류할 수도 있고 연속형 데이터로 예측할 수가 있다.
- K값을 변경할 때마다 분류가 변경되기 때문에 적정한 K값을 지정하기 위해서 Cross-Validation 및 부트스트랩방법이 있다.
- Instance-based Learning: 각각의 인스턴스(관측치)를 사용해서 새로운 데이터를 예측할 수가 있다.
- Memory-based Learning: 모든 학습 데이터를 메모리에 저장하고 예측
- Lazy Learning: 모델을 만들지 않고 테스트 데이터로 작동하는 알고리즘
- 거리 값을 계산하는 방법 중에서 가장 많이 사용되는 것은 유클리드의 거리 값
- K-인접기법의 장점
- 간단하면 쉽게 이해 가능
- 효율적인 방법
- 표본 수가 많을 때 좋은 분류방법
- K-인접기법의 단점
- 최적 K를 선택하기가 어렵다.
- 데이터가 많으면 분석속도가 느리다.
- 표본의 수가 많아야 정확도가 높다.
[의사결정나무]
- 의사결정 규칙을 도표화하고 분류 및 예측을 할 수 있는 데이터마이닝 기법
- 분류나무
- 목표변수가 범주형 변수이다.
- 분류를 한다.
- CART(지니지수 사용)
- C4.5(엔트로피 사용), C5.0
- CHAID(카이제곱 통계량)
- 회귀나무
- 목표변수가 수치형 변수이다.
- 예측을 한다.
- CART
- 의사결정나무 장점
- if~then으로 규칙 생성이 가능하고 이해하기가 쉽다.
- 설명력이 좋기 때문에 많이 사용
[의사결정나무 모형 분석절차]
- 의사결정나무 형성
- 분석 목적을 정의하고 분석목적에 따라서 분리기준과 정지규칙을 지정해서 의사결정나무를 형성
- 가지치기
- 부적절한 규칙을 가지고 있는 가지를 제거
- 부적절한 추론규칙을 가지고 있는 가지를 제거
- 검증용 데이터를 사용해서 모형의 예측을 검토
- 최적 Tree 분류
- 의사결정나무의 타당성을 평가
- 검증용 데이터를 사용해서 교차 타당성을 평가
- 해석 및 예측
- 의사결정나무를 해석하고 예측모형을 설정
[의사결정규칙]
- 의사결정나무는 의사결정규칙에 의해서 가지치기를 하면서 수행
- 분리기준
- 목표변수의 분포를 가장 잘 구별해주는 기준으로 종속변수의 분포를 잘 구분하는 가에 대한 지표
- 의사결정나무에서 가지를 칠 때는 이지분리, 다지분리로 구분되고 이지분리는 CART, 다지분리는 C4.5, CHAID가 된다.
- 불순도 알고리즘
- 얼마나 다양한 범주의 객체가 포함되어 있는지를 수치로 표현한 것이다.
- 불순도 알고리즘을 사용해서 그룹으로 분할하는 기준이 된다.
- 지니지수, 엔트로피 지수, 정보이익,, 카이제곱 통계량
- 정지규칙
- 불순도가 떨어지지 않는 경우 분리를 중단
- 자식노드에 남은 샘플의 수가 너무 적은 경우에 중단
- 가지치기
- 의사결정나무의 깊이가 깊어지면 과적합이 발생
- 불필요한 마디를 제거
[재귀적 분할 의사결정나무 알고리즘]
- CART(Classification And Regression Trees)
- C4.5와 매우 유사한 방법으로 수치적 분할기준으로 사용해서 트리를 형성
- 범주형인 경우 지니지수를 사용, 연속형인 경우 분산을 사용해 이진분리
- 분류나무와 회귀나무에 모두 사용
- 지니 지수란 불확실성을 의미하고 0에 가까울수록 좋은 것이다. 즉, 0이라는 것은 100%를 모두 맞춘 것
- 지니 불순도가 0이면 순수도가 가장 높은 것
- 지니 불순도 그래프는 상호 대칭구조를 가진다.
- C4.5
- 다지분리가 가능하고 범주형 입력변수의 범주 수만큼 분리가 가능
- 불순도를 측정하기 위해서 엔트로피 지수를 사용
- CHAID
- 명목형, 순서형, 연속형 등 모든 종류의 목표변수와 분류변수를 적용할 수 있는 알고리즘으로 이진트리 구조로 모형을 형성하는 방법을 제공
- Chi-square 검정 또는 F-검정을 사용해서 데이터를 다지분리하고 변수들 간의 관계는 의사결정트리를 통해서 표현
[분류나무]
- 목표변수가 범주형 변수로 좋음, 나쁨 혹은 우수 및 불량 등으로 만들어진다.
[회귀나무]
- 목표변수의 평균에 기초하여 트리를 형성
- CART는 평균을 이용하여 집단의 평균을 가지고 구분하기 때문에 Leafnode(단말노드)는 평균 값
[랜덤 포레스트]
- 랜덤 포레스트(Random Forest)
- 과적합 문제를 해결한 알고리즘으로 앙상블 기법을 사용
- 분석과정에서 다수의 결정트리로부터 분류하거나 평균 예측치를 분석
- 여러 개의 의사결정나무를 만들고 투표를 통해서 다수결로 결과를 결정
- 배깅(Bagging)기법 중에 하나
- 단일 분류 알고리즘인 의사결정나무만을 사용
- 부트스트랩 기법을 사용해서 여러 개의 샘플 데이터를 추출
- 최종 결과는 분류일 때는 투표방식을 사용하고 예측일 때는 평균화를 사용
- 앙상블(Ensemble)
- 여러 개의 학습모델을 결합하여 데이터를 분석
- 여러 개의 분류모델을 활용하여 최적의 모델을 선택하거나 여러 개의 변수를 입력하여 어떤 변수가 가장 좋은 변수인지를 확인
- Voting: 여러 분류 알고리즘을 사용해서 최적의 분류모델을 사용
- Bagging, Boosting: 하나의 분류 알고리즘을 여러 번 측정
- 투표(Majority Voting)
- 하나의 훈련세트를 사용하고 여러 개의 분류모델을 사용해서 분석하는 방법
- 배깅(Bagging)
- 하나의 모델을 사용하지만 훈련세트를 여러 개의 샘플로 만들고 알고리즘마다 다른 훈련세트를 사용하는 방법
- 부트스트랩: 모집단에 대해 가정하지 않고 표본에서 표본데이터를 반복적으로 추출
- 데이터 추출 시에 중복을 허용하기 때문에 훈련세트에서 다양한 데이터가 추출
- 부스팅(Boosting)
- 샘플을 추출할 때 잘못 분류된 50% 데이터를 재학습
- AdaBoost는 전체 훈련 세트를 사용하고 잘못 분류된 데이터에 가중치를 적용
[서포트 벡터 머신]
- 초평면을 찾아서 분류 및 회귀분석을 수행
- 지도학습으로 모든 속성을 사용한 전역적 분류 모형
- 가장 최적화된 선을 찾는 방법
- 서포트 벡터 머신은 데이터를 분류할 수 있는 선을 찾고 선형회귀 분석은 데이터를 정확하게 맞출 수 있는 선을 찾는다.
- 장점
- 모델의 정확도가 우수
- 범주형 및 연속형 데이터를 모두 처리
- 단점
- 데이터가 많으면 속도가 떨어진다.
- 모델에 대한 해석이 어렵다.
- 선형 SVM: 초평면을 기준으로 객체 간에 마진을 최대화 되도록 분류하는 모델
- 비선형 SVM: 비선형패턴은 선형패턴의 Feature space로 변환해서 분류하는 모델
- Kernel method
- Kernel method란, 비선형 경계면을 찾는 방법을 제공
- 비선형 패턴을 분리하기 위해서 비선형 패턴의 입력공간을 선형패턴의 Feature space로 변환
[나이브 베이즈 분류]
- 데이터를 분류할 때 데이터 셋의 모든 특징들이 독립적이고 동등하다고 가정하고 데이터를 분류
- 장점
- 매우 단순하고 결측 데이터가 있어도 우수
- 적은 학습 데이터로도 잘 수행
- 메모리 사용량이 적음
- 우수한 분류성능 발휘
- 계산과정의 복잡성이 낮기 때문에 성능이 빠름
- 예측에 대한 추정된 확률을 얻기 쉬움
- 단점
- 모든 속성을 독립적이고 동등하다는 가정에 의존
- 변수들이 확률적이고 독립되지 않은 경우에 오류 발생
- 수치속성으로 구성된 데이터 셋에서는 우수하지 않음
- 추정된 확률은 예측된 범주보다 신뢰가 떨어짐
[주성분 분석]
- 데이터의 포인트를 가장 잘 구별 해주는 변수인 주성분을 찾는 방법
- n개의 관측치와 p개의 변수로 구성된 데이터를 상관관계가 없는 k개의 변수로 구성된 데이터로 요약하는 방법
- 요약된 변수는 모든 X변수들의 선형조합으로 생성
- 분산을 최대한 보존하는 축을 찾고 그 축에 데이터를 사영(Projection)
- 주성분 분석의 특징
- 주성분은 데이터 포인트가 가장 넓게 분포하는 차원
- 주성분 분석은 변수를 축소하기 위한 방법
- PCA는 차원 축소를 통해서 시각화, 압축, 군집화 등을 수행
- 주성분 분석
- 데이터 포인트의 분포는 가장 넓은 차원이 유리하다는 것을 가정으로 한다.
- 독립성분 분석
- 데이터 셋에 존재하는 독립 성분을 찾는다.
- 즉, 독립 성분에는 데이터의 독특한 정보가 포함되어 있게 된다.
[주성분 분석이 필요한 이유]
- 고차원 데이터
- 변수의 수가 너무 많다.
- 시각화가 어렵다.
- 계산의 복잡도가 증가한다.
- 중요한 변수들만 선택한다.
- 주성분 분석의 필요성
- 불필요한 변수를 제거
- 변수의 수를 줄여서 시각화
- 분석모델의 비효율성이 증가
- 변수의 차원을 축소
[주성분 분석기법]
- 변수선택
- 변수추출
- 지도학습과 비지도학습
[신경망]
- 인간의 학습 기능을 모방하는 방법
- 로지스틱 회귀분석 혹은 다중 회귀분석을 여러 개 연결한 것으로 데이터를 분류하거나 예측할 때 모두 사용
- 결합함수는: 입력층 또는 은닉층의 마디들을 결합하는 것, 선형함수
- 퍼셉트론(1950년대)
- 하나의 신경 세포와 같은 퍼셉트론 발명
- 하나의 입력에 대해서 처리하고 결과를 출력
- 역전파(1982년대)
- 결과변수 T가 틀린 경우 가중치를 조정하여 다시 퍼셉트론에 입력하면서 학습을 수행
- 신경망의 장점
- 예측 성능이 우수
- 변수들 사이의 복잡한 관계를 우수하게 파악
- 데이터에 잡음이 많아도 좋은 성능
- 신경망의 단점
- 결과에 대한 해석이 어려움
- 복잡한 학습과정으로 모형 구축에 많은 시간이 걸림
- 학습을 위해서는 많은 양의 데이터가 필요
[퍼셉트론]
- 다수의 입력값과 가중치를 선형으로 결합
- 활성화 함수에 따라서 생성되는 출력값이 결정
- 활성함수는 최종 결과값을 다른 퍼셉트론에게 데이터로 전달할 것인지 전달하지 않을 것인지를 결정하는 것
[활성화 함수]
- 어떤 신호를 입력 받아서 적절한 처리를 하고 출력하는 함수
- 1이면 다른 퍼셉트론에게 그 결과값을 전달하고 0이면 전달하지 않는다.
- Step function
- 각 부분구간 내에서 상수함수이며 부분구간 경계에서 불연속인 함수
- Sigmoid function
- 항상 0과 1사이의 값만 가질 수 있는 비선형 함수
- Sigmoid 함수는 0과 1사이의 값을 부드럽게 만들어준다.
- 로지스틱 회귀분석에 사용
- ReLU(Rectified Linear Unit) function
- 선형함수
- Sigmoid function의 Gradient Vanishing 문제를 해결하기 위해서 ReLU를 사용
- Deep Learning에서 많이 사용
[신경망의 종류]
- 단층 퍼셉트론
- 최초의 퍼셉트론은 단층 퍼셉트론으로 N개의 입력에 대한 은닉계층 없이 바로 출력되는 구조
- 다층 퍼셉트론
- 입력계층과 출력계층 사이에 은닉계층이 존재
- 출력계층에서 softmax함수를 사용하여 가장 큰 값을 알 수 있다.
- 딥러닝
- 딥러닝은 다층 퍼셉트론에서 퍼셉트론을 수천개 이상을 연결하여 학습
[역전파 알고리즘(Back-propagation)]
- 신경망에서 학습이란 예측결과를 찾기 위해 연결강도인 임계치, 가중치를 찾는 것
- 변동량을 계산하기 위해서 미분을 사용해 비용이 가장 작은 것을 탐색
- 모멘텀을 어느 정도 기존의 방향을 유지할 것인지를 조정하는 것
[신경망 알고리즘 사례]
- 신경망 알고리즘
- 최종 경과값에 대한 Cut-off는 0.5로 정의
- 0.5보다 값이 크면 True, 0.5보다 작으면 False
- 활성화 함수는 Sigmoid함수를 사용
- Back propagation(역전파 알고리즘)
- 에러를 계산해서 오차를 역추적, 에러를 계산하고 에러를 낮추기위해 임계치와 가중치를 조정해서 다시 입력층으로 입력
[신경망의 문제점]
- 대표적 단점
- 결과에 대한 해석이 어려운 Black box model
- 학습 완료 시점을 예측 불가
- 학습이 완료될 때까지 많은 회수의 반복학습을 필요
- 추가 학습이 발생하면 전체적으로 재학습
- 신경망의 포화상태와 과대적합
- 신경망에서 학습하면 할수록 활성화 함수에서 만들어질 수가 없는 더 큰 결과값을 만들기 위해서 더 큰 가중치를 시도하게 되므로 신경망이 포화가 된다.
- 과대적합: 분석모델이 훈련 데이터에 잘 맞지만 일반성이 떨어짐, 훈련데이터에 대해서만 높은 성능을 보여줌
- 과소적합: 분석모델이 너무 단순해서 데이터의 내재된 구조를 학습하지 못할 때 발생
'자격증 > ADsP (데이터분석 준전문가)' 카테고리의 다른 글
[데이터분석 준전문가 Day 13/독학] ADsP 5-4 데이터마이닝 모델 성능평가 정리본 (0) | 2022.08.19 |
---|---|
[데이터분석 준전문가 Day 12/독학] ADsP 5-3 비지도학습 정리본 (0) | 2022.08.18 |
[데이터분석 준전문가 Day 11/독학] ADsP 5-1 데이터마이닝 개요 정리본 (0) | 2022.08.17 |
[데이터분석 준전문가 Day 10/독학] ADsP 4-7 통계분석 정리본 (0) | 2022.08.12 |
[데이터분석 준전문가 Day 9/독학] ADsP 4-6 가설 정리본 (0) | 2022.08.11 |