반응형
로지스틱 회귀 분석
- 회귀 분석을 분류에 이용한 방법.
- 독립 변수의 선형 결합을 이용해 사건 발생 가능성을 예측하는 분석 방법으로, y가 범주형 변수 일 경우 사용 가능.
- 범주형 자료 : 특성에 따라 그룹으로 분류되는 데이터, 질적 자료, 계산 불가능 (명목, 순서)
- 수치형 자료 : 수치로 측정/계산이 가능한 데이터, 양적 자료, 계산 가능, 키 몸무게 (구간, 비율) (구간에서 0은 의미 없음 그냥 숫자일 뿐임, 비율에서 0은 작거나 비어있다는 의미가 있음)
- 일반적으로 이진 분류(두개로 나누어진 집단)이 기본이며, 세 개 이상의 집단을 분류하는 경우는 다중 로지스틱 회귀분석이라고 함.
로지스틱 회귀분석 알고리즘
- 오즈
- 성공할 확률이 실패할 확률의 몇배인지를 나타내는 값.
- 이 오즈를 사용하여 각 범주에 분류될 확률을 추정.
- ex) 제비를 뽑아서 4번 성공 1번 실패면 4/1 해서 오즈는 4임.
- 오즈는 음수를 가질 수 없고, 확률값과 오즈그래프는 비대칭성을 띤다는 한계가 있음.
- 로짓 변환
- 오즈에 로그값을 취한 것.
- 오즈의 범위가 무한대로 확장되며, 확률과 로짓값의 그래프는 성공확률 0.5를 기준으로 대칭형태를 띠게 됨.
- 시그모이드 함수
- 로지스틱 회귀분석과 인공신경망 분석에서 활성화 함수로 사용되는 대표적인 함수.
- 로짓함수와 역함수관계이기에, 로짓함수를 통해 시그모이드 함수가 도출됨.
로지스틱 회귀분석 예시
- subset() : 범주 추출(3개 범주에서 이진 분류를 위해 2개 범주만 갖도록 추출)
- Species ~ . 은 Species를 종속변수, 나머지 변수를 독립변수로 활용하겠다는 의미.
의사결정 나무
- 자료를 학습하여 특정 분리 규칙을 찾아내고, 그에따라 몇개의 소집단으로 분류하는 분석방법.
- 상위노드에서 하위노드로 분류하는 과정이 나무가지와 유사.
- 상위 노드 → 하위노드로 갈 수록 집단 내에서는 동질성이, 집단간에는 이질성이 커져야함
구성요소
- 뿌리마디(루트) : 전체 자료를 포함하는 가장 취상위 마디
- 자식마디 : 하나의 마디로부터 나온 2개 이상의 하위 마디
- 부모마디 : 모든 자식 마디의 바로 상위 마디
- 끝마디 : 자식마딛가 없는 최 하위 마디
- 중간 마디 : 부모와 자식 모두 보유한 마디
- 가지 : 부모와 자식을 연결하는 연결선
- 깊이 : 뿌리 마디를 제외한 중간 마디 수
의사결정 나무의 활용
- 세분화 : 비슷하 ㄴ특성 가진 그룹별로 분할
- 분류 : 종속 변수의 범주를 몇개 등급으로 분류
- 예측 : 데이터들로부터 규칙을 찾아내어, 예측에 활용
- 차원 축소 및 변수 선택 : 여러 독립 변수 중, 종속 변수에 큰 영향 끼치는 변수를 선택
- 교호 작용 : 여러 개의 독립 변수 결합하여, 종속 변수에 작용하는 규칙을 파악 / 범주형 변수를 병합 또는 연속형 변수를 몇개의 등급으로 이산화
의사결정트리 장/단점
- 장점
- 모델이 직관적, 해석 용이
- 데이터 정규화 및 단위 변환 필요없음
- 다른 기법에 비해 전처리 용이함
- 이산형, 연속형 변수에 모두 적용 가능.
- 데이터의 선형성, 정규성 가정 필요없음.
- 이상값에 민감하지 않음
- 단점
- 독립 변수 간 중요도 판단 어려움
- 분류 경계선 근처의 자료에 대한 오차가 큼
- 과적합 발생 가능성 큼
의사결정트리 분석과정
- 성장 단계
- 적절한 분리 기준과 정지 규칙을 설정해 의사결정나무를 성장시키는 단계.
- 분리기준 : 데이터 분류 방법으로 불순도를 사용. (불순도 : 자료들의 범주가 한 그룹 안에 얼마나 섞여 있는 지를 나타는 측도로, 분류가 잘 되어 하나의 범주로만 구성되어 있으면 불순도 값이 작고, 다양한 범주의 데이터로 구성되어 있으면 불순도 값 큼)
- 이산형 - 카이제곱 통계량 (CHAID 알고리즘)
- 이산형 - 지니지수 (CART 알고리즘)
- 이산형 - 엔트로피지수 (C4.5 알고리즘)
- 연속형 - ANOVA F-통계량 (CAHID)
- 연속형 - 분산 감소량 (CART 알고리즘)
- 정지규칙 : 너무 많은 분리기준을 보유하면 해석의 어려움이 발생하므로, 분석자가 설정한 특정 조건하에 현재의 마디에서 분리가 더이상 일어나지 않고 현재 마디가 끝마디가 되도록 정지시킴.
- 뿌리마디로부터 일정 깊이에 도달
- 불순도의 감소량이 아주 작아 분리에 의미가 없는 경우
- 마디에 속하는 자료가 일정 수 이하인 경우
- 모든 자료들이 하나의 그룹에 속하는 경우.
- 가지치기 단계
- 의사결정나무의 성장이 끝난 상태에서, 과적합이 발생하는 경우에는 가지치기를 통해 적당한 크기의 완성된 의사결정 트리 모형으로 만들어준다.
- 타당성 평가 단계
- 형성된 의사결정 나무를 평가하는 단계.
- 검증용 데이터로 모델의 예측 정확도를 평가하거나, 이익도표 등의 평가지표를 활용.
- 해석 및 예측
- 구축된 의사결정 나무를 예측에 적용하고 이를 해석하는 단계
R 의사결정트리 분석
- split, n , loss, yval, (yprob)
- split : 어느규칙으로 데이터를 나눴는지
- n : 그 노드에 포함된 관측치 개수
- loss : 노트에서 현재 예측값을 쓰면 틀리는 개수 (가중치 합)
- yprob : 그 노드의 클래스별 확률/비율
앙상블 분석
- 앙상블은 ‘함께’ ‘동시에’라는 뜻으로, 데이터 마이닝에서는 여러개의 모형을 생성 및 조합하여 예측력이 높은 모형을 만드는 것을 의미함.
- 예측력을 높이고자 여러번의 데이터 분할을 통해 구축된 다수의 모형을 결합하여 새로운 모형을 만드는 방법.
- 대표적 방법 : 배깅, 부스팅, 랜덤 포레스트
- 종속 변수의 형태에 따라 회귀 부넉과 분류분석 모두에 적용 가능
- 수치형 : 값들의 평균을 통해 최종 결과 예측
- 범주형 : 다수결 방식으로 예측
앙상블 분석 종류 (배부랜스)
배깅
- Bootstrap Aggregating의 줄임말로, 여러개의 붓스트랩을 집계하는 알고리즘.
- 배깅의 붓스트랩에서는 트리의 모든 마디가 불순도가 제일 작아지는 최적의 분할을 실시.
- 분류기 : 앙상블 분석에서의 각각의 모델. (흔히 의사결정나무를 사용)
- 보팅 : 여러 개의 분류기에 의한 결과를 놓고 다수결에 의하여 최종 결괏값을 선정하는 작업.
- bagging에서 의사결정나무 개수를 정하는 매개변수 mfinal은 100이 기본값.
- pred$votes로 각 데이터에 대한 투표결과 알 수 있음
- pred$confusion으로도 바로 결과 볼 수 있음.
부스팅
- 여러개의 모형을 구축한다는 점에 배깅과 유사하나, 배깅은 각 분류기(모델)가 독립적인데 반해, 부스팅은 독립적이지 않음.
- 즉, 부스팅은 이전 모델 구축결과를 다음 모델 구축시 반영함.
- 이전 분류기에 의해 잘못 분류된 데이터에 더 큰 가중치를 주어 붓스트랩을 구성.
- ex) 에이다 부스팅, Gradient Boost, XGBoost, Light GBM 등이 있음.
- boos = T 값을 주어야 가중치 값을 조정.
랜덤 포레스트
- 서로 상관 없는 나무들로 이루어진 숲을 뜻함.
- 방법은 배깅과 유사하나, 배깅에 더 많은 무작위성을 주는 분석 기법.
- 많은 무작위성으로 생성된 서로 다른 여러개의 트리로 구성되어 있어서, 포레스트라고 명명.
- 분류의 경우 다수결로 최종결과를 구하지만, 회귀의 경우 평균 또는 중앙값을 구하는 방법을 사용.
- 랜덤포레스트의 붓스트랩 구성 시, 최적의 분할이 아닌 표본추출과정이 한번 더 반복 되어, 추출된 표본을 대상으로 최적의 분할을 실시.
스태킹
- 일반적인 앙상블 기법은 각 분류기 간 결과를 활용하여 보팅(다수결)방식에 의해 최종 결과를 선정하는 방식
- 하지만, 스태킹은 보팅(다수결) 방식이 아닌 여러 분류기 간 결과를 다시 훈련용 데이터로 사용하여 최종 모형을 구축하는 방법.
- 기초 모델 : 분류기 각각이 만드는 모델. 각각 다른 알고리즘으로 작성 가능.
- 메타모델 : 여러 기초 모델로부터 예측된 결과로 구축된 최종모형
- 여러 모델을 구축하고 그 결과를 활용하므로, 복잡도와 시간이 오래걸림. 결과 해석도 어렵다는 단점이 있음.
OOB Score (Out of Bag Score)
- OOB : 하나의 트리를 구성하기 위한 붓스트랩 생성 시, 선택되지 않은 데이터를 뜻함.
- OBB Score : 붓스트랩에 의해 구성된 트리를 OBB 데이터로 몇개가 올바르게분류되었는지 파악하고, 랜덤 포레스트 작업 종료 이후 올바르게 분류한 비율을 나타낸 값.
인공신경망 분석
- 인공신경망 : 뇌를 모방해서 만든 학습 및 추론 모형
- 값이 입력되면 개별 신호의 정도에 따라 값이 가중됨.
- 가중된 값에 편향(bias)라는 상수를 더해 활성함수를 거치면 인공신경망의 출력값 생성
- 장점 : 잡음에 민감하지 않음, 비선형적 문제 해결에 유용, 패턴인식/분류/예측에 효과적
- 단점 : 모형이 복잡하면 학습 오래걸림. 결과 해석 어려움, 은닉층과 은닉 노드의 수 결정 어려움
인공신경망 알고리즘
활성 함수
- 노드에 입력되는 값을 다음 노드에 전달하기 전, 비선형 함수에 통과시키는데 이를 활성함수라고 함.
- 활성함수에 따라 출력이 달라지니까, 결정이 중요함.
- ex) 시그모이드 함수, 소프트맥스 함수, ReLU 함수, Step 함수
- Step 함수 : 기본적인 활성함수. 0 또는 1반환하는 이진형 함수. 역전파 알고리즘에 활용 불가능
- Sigmoid 함수 : 로지스틱 회귀 분석과 비슷, 0과 1사이 값 반환. 기울기 소실문제 가능성
- Sign 함수 : -1 또는 1 반환. 역전파 알고리즘에 활용 불가능
- tanh 함수 : 확장된 시그모이드 함수. 기울기 소실 문제 가능성
- ReLU 함수 : 입력값과 0 중에서 큰 값을 반환. 기울기 소실 문제 예방 가능
- Softmax 함수 : 표준화 지수 함수라고도 함. 다범주의 경우 사용되며, 각 범주에 속할 확률값을 반환
인공신경망 계층 구조
- 단층 신경망 : 입력층 + 출력층
- 다층 신경망 : 입력층 + (은닉층) + 출력층
- 입력층 : 데이터를 입력 받아 시스템으로 전송하는 역할
- 은닉층 : 숨겨진 층으로, 가중치를 계산하여 활성함수에 적용하고 결과 산출해서 출력층으로 보냄
- 출력층 : 학습된 데이터가 포함된 층. 활성함수의 결과를 담고있는 노드로 구성\
역전파 알고리즘
- 순전파 : 입력층 → 출력층으로 흐르는 흐름
- 역전파 : 출력층 → 입력층으로 흐르는 흐름
- 순전파에서 발생한 오차를 줄이고자, 거꾸로 찾아가서 가중치 값을 새로 조정하는 방식.
- 이때, 가중치가 새로 조정될 때마다 이를 학습한다고 표현함.
- 한번 학습하는 것이 1에포크(epoch)라고 함.
인공신경망 종류
- 단층 퍼셉트론 (단층 신경망)
- 입력층과 출력층이 바로 연결됨.
- 다층 퍼셉트론 (다층 신경망)
- 입력층 → 은닉층 → 출력층으로 구성.
R 에서의 구현
neuralnet() : 인공신경망 구축하는 함수
활성함수 act.fct 의 기본 값은 logistic(sigmoid) 이다.
hidden = c(4,4) 4개의 은닉노드를 갖는 2개의 은닉층
다양한 인공신경망 구조/기술
- RNN : 순환 신경망. 입력층의 데이터는 은닉층을 통해 출력층으로 가지만, 은닉층의 결괏값이 다음 입력 데이터가 입력될 때까지 자기 자신에게 영향을 주는 신경망. (활용분야 : 언어모델링, 음성인식 등)
- CNN : 합성공 신경망, 컨볼루션 신경망. (활용분야 : 이미지 분류, 다중 객체 탐지)
- LSTM : 장단기 메모리, RNN의 한계 극복하기 위해 나온 인공신경망 오래된 데이터 버리고 가장 최근 데이터 오래 보존하는게 특징
- YOLO : 이미지 속 물체 탐지하는 알고리즘. CNN과 유사한 목적이지만 다른 알고리즘을 씀. 한장의 이미지를 수십개의 박스로 나누어, 각 박스에 대해 가장 확률이 높은 객체를 탐지. You Only Look Once.
- GAN : 생산적 적대 신경망. 분류 모형으로부터 최적의 결과를 얻을 수 있도록 유도하는 학습. (활용사례 : 페이스북의 딥페이스)
- RAG : LLM이 외부 DB에서 정보를 찾아 이를 기반으로 더 정확한 정보를 생성하도록 돕는 기술
나이브베이즈
베이즈이론 (베이지안 확률)
- 확률을 해석하는 이론.
- 빈도 확률 : 사건이 발생한 확률의 장기적인 비율.
- 베이지안 확률 : 사전확률과 우도확률을 통해 사후확률을 추정하는 정리. 관측된 데이터의 빈도만으로 분석하는 것을 넘어, 분석자의 사전지식까지 포함해 분석하는 방법.
나이브 베이즈
- 베이즈 정리를 기반으로 한 지도학습 모델
- 스팸 필터링, 텍스트 분류 등에 사용
나이브 베이즈 알고리즘
- 이진 분류 데이터가 주어졌을 때,
- 베이즈 이론을 통해 범주 a,b가 될 확률 구하고,
- 더 큰 확률값이 나오는 범주에 데이터를 할당하는 알고리즘.
k-NN 알고리즘
- k 최근접이웃 알고리즘.
- 지도학습인 분류분석에 속하지만, 군집의 특성도 가지고 있어서 준-지도학습으로 분류하기도 함.
- 정답 라벨이 있는 데이터 속에서, 정답 라벨이 없는 데이터들을 어떻게 분류할 것인지에 대한 해결방법으로 주로 활용.
k-NN 알고리즘 원리
- 정답 라벨이 없는 새로운 데이터를 입력받았을 때,
- 그 데이터로부터 가장 가까이 있는 데이터의 정답 라벨을 확인하고,
- 새로운 데이터의 정답 라벨을 결정.
- 이때, k는 주변 데이터의 수를 의미함.
- 즉, k-NN은 k개의 가까운 이웃 이라는 뜻임.
- 결국 최적의 k값을 어떻게 정하는지가 관건임. 일반적으로는 총 데이터들의 제곱근 값을 사용함.
서포트 벡터 머신 (SVM)
초평면 찾기!
- 지도학습에 주로 이용.
- 분류성능이 뛰어나서, 분류분석에 자주 사용됨.
- 초평면을 이용하여, 카테고리를 나누어 비확률적 이진 선형모델을 만듬.
서포트 벡터머신 알고리즘
- 가장 높은 마진을 가져가는 방향으로 분류.
- 분류 또는 회귀분석에 사용 가능한 초평면 또는 초평면들의 집합으로 구성되어 있음.
- 초평면이 가장 가까운 데이터와 큰 차이를 가진다면, 오차가 작아짐.
- 따라서, 좋은 분류를 위해서는 어떤 분류된 점에 대해 가장 가까운 학습데이터와 가장 먼거리를 가지는 초평면을 찾아야 함.
분류 모형 성과 평가
- 여러 모델 중, 예측력이 가장 좋은 모델을 최종 모델로 평가하려면 기준이 필요함.
- 평가기준
- 일반화 : 안정적 적용이 가능한가
- 효율성 : 모형의 계산 양에 비한 모형의 성능
- 정확성 : 구축된 모형의 분류 정확성
- 기법
- 컨퓨전 매트릭스 (혼동 행렬) : 오분류표
- ROC 커브
- 이익도표
- 향상도곡선
컨퓨젼 매트릭스(오분류표, 혼동행렬)
- 분류 분석 후, 예측 값과 실제 값의 차이를 교차표 형태로 정리한 것
- 실제 값과 예측치의 값에 대한 옳고 그름을 표로 나타낸 것.
- 분류 오차의 정확한 추정치를 얻기 위해, 평가용 데이터로부터 계산되어 얻은 표 (훈련용은 과적합의 위험이 있어서)
- 예측집단이 x축, 실제집단이 y축.
- 평가 지표
- 정분류율(=정확도) : 전체 관측치 중 올바르게 예측한 비율
- (TP + TN) / (P + N)
- 오분류율 : 전체 관측치 중 잘못 예측한 비율
- (FP + FN) / (P + N)
- 민감도(=재현율) : 실제 True 중, 올바르게 True를 찾아낸 비율. 모형의 완전성을 평가하는 지표.
- TP / (TP + TN)
- 특이도 : 실제 False 중, 올바르게 False를 찾아낸 비율. (민감도, 특이도와 유사하나 반대 느낌?)
- TN / (FP + TN)
- 정밀도 : 예측 True 중, 올바르게 True를 찾아낸 비율 (x축에 대한)
- TP / P
- F1 Score * : 정밀도와 재현율의 조화 평균 값. 정밀도의 재현율은 높은 확률로 음의 상관관계를 가지는 효과를 보정하기 위한 지표. 높을 수록 좋음.
- (2 * 정밀도 * 민감도) / (정밀도 + 민감도)
- 거짓 긍정률(FPR) : 실제 Negative 인 값 중, positive로 잘못 분류한 비율.
- 1 - 특이도 → 1 - ( TN / (FP + TN) )
- F-Beta Score: F1 Score에서 더 나아간? 버전의 점수 계산. 재현율이 더 위험한 경우, Beta 값을 조정하여 재현율에 높은 가중치를 주는 방법. (암환자 맞는데 아니라고 판단하는 경우 등)
- 정분류율(=정확도) : 전체 관측치 중 올바르게 예측한 비율
ROC 커브
- 분류 분석 모형의 평가를 쉽게 가능하도록 시각화한 그래프.
- x축은 FPR (거짓 긍정률) 값을, y축은 민감도 값.
- 거짓긍정률 : 1 - 특이도
- 민감도 : 실제 True 중 예측 True인 값 비율.
- 아래 면적을 나타내는 AUROC 값이 1에 가까울 수록 모형 성능 우수. 0.5에 가까울 수록 랜덤모델에 가까운 좋지 않은 모형임.
이익도표 (Lift Chart)
- 이익도표, 이득곡선, 이득도표
- 목표범주에 속할 확률을 내림차순으로 정렬하여,
- 몇 개의 구간으로 나누어 각 구간에서의 성능을 판단하고,
- 랜덤 모델보다 얼마나 더 뛰어난 성능을 보이는지 판단하는 것.
- 일반적으로 0.5에서 cut-off하며, 1.0이 가장 높은 기준.
- 랜덤 모델의 예측력
- (목표 그룹에 속한 데이터 개수) / (전체 데이터 개수)
- 향상도
- (반응률)/ 랜덤 모델의 예측력
향상도 곡선 (Lift Curve)
- 랜덤 모델과 비교해서, 해당 모델의 성과가 얼마나 향상되었는지 구간별로 파악하기 위한 그래프.
- 좋은 모델일 수록 큰 값에서 시작해서 급격히 감소함.
- 수직선 abline ( v= 0.4, lty = 2, col= ‘blue) 처럼 표현해서 수직선 그리고,
- 차트상에서 x축 0.4에 해당하는 y값 보면됨.
- ex) 0.4, 즉 상위 40% 데이터에 대해 1.9배 정도의 좋은 예측력을 갖고있다. 라고 평가.
외울 것.
로지스틱 회귀분석
- 종속변수는 범주형
- 오즈 값
- 이진 분류에서, 실패확률 대비 성공확률. (성공횟수/실패횟수)
- 만약, 성공횟수가 10이고, 실패횟수가 1이면, 오즈값은 10
- 독립변수 X의 회귀계수가 5라면, X값 1 증가할 때마다 성공확률은 e^5배 만큼 증가.
의사결정트리
- 분류 분석의 일종.
- 여러 분리 기준에 의해 최종 분류값을 찾는 방법.
- 지니 지수, 엔트로피 지수 등이 분리 기준.
- 시각화하면 누구나 쉽게 알아볼 수 있음.
- 종속 변수가 범주형 : 엔트로피와 지니지수, 카이제곱 검정 사용
- 종속 변수가 연속형 : F 통계량, 분산의 감소량 등 사용.
- 정지 규칙 : 성장 단계에서, 분리기준이 너무 많을 경우 과적합 발생 우려가 있으므로, 특정 조건 도달 시 나무 성장을 멈추게하는 규칙.
- 지니지수
- 1 - (확률 1의 제곱 + 확률 2의 제곱)
- 즉, (뒤 / 뒤 / 앞 / 뒤 / 앞) 시행에서,
- 뒤가 나올 확률 3/5
- 앞이 나올 확률 2/5
- 지니 지수 = 1 - (9/25 + 4 / 25) = 12 / 25
랜덤 포레스트
- 이상값에 민감하다 (의사결정트리와 마찬가지임)
- 왜냐, 어차피 랜덤 포레스트도 의사결정트리 여러개를 둔거라서 단점이 똑같음.
인공신경망
- 다층 신경망에서, 은닉층과 은닉노드가 많다고 좋은게 아님.
- 포화문제 : 역전파에 의한 가중치 수정 중, 가중치의 절댓값이 커져서 과소적합이 발생하는 것 (모델이 너무 단순해지는 것)
- 시그모이드 함수 : 기울기 소실 문제 발생 가능성 있음.
- ReLU : 기울기 소실 문제 완화.
성과평가
- 거짓긍정률 (FPR) : 실제 F인데, True로 예측한 경우.
- 민감도(=재현율) : 실제 T 중 정답 T
- 정밀도 : 예측 T 중 정답 T
- ROC 커브 : x 축 거짓긍정률, y 축 민감도 값을 나타냄. 모형의 이진 분류에 대한 성과 평가 그래프. 그래프 아래 면적이 클 수록 모델 성능 우수.
- 향상도 곡선 : 랜덤 모델과 비교해서, 해당 모델의 성과가 얼마나 향상되었는지 구간별로 파악하기 위한 그래프. 선 그래프로 대입해서 상위 몇퍼센트 몇배 우수 측정하는 그래프.
F1 스코어
정밀도와 민감도로 점수 구하는 것.
(2 * 정밀도 * 민감도) / 정밀도 + 민감도
예를들어, 아래 표에서,
예측 1 0 실 1 15 5 20 제 0 10 70 80 합계 25 75 100TP FN
FP TN민감도 = 15 / 20 = 0.75
정밀도 = 15 / 25 = 0.6
2 * 0.75 * 0.6 / 1.35
반응형
'전산직 준비 > 📚' 카테고리의 다른 글
| [ADsP] 3과목 3장 (4). 연관 분석 (0) | 2026.01.26 |
|---|---|
| [ADsP] 3과목 3장 (3). 군집분석 (0) | 2026.01.26 |
| [ADsP] 3과목 3장 (1). 데이터 마이닝 (0) | 2026.01.25 |
| [ADsP] 3과목 2장 (5). 시계열 분석 (0) | 2026.01.24 |
| [ADsP] 3과목 2장 (4). 다변량 분석 (0) | 2026.01.23 |