3과목 (빅데이터 모델링) 주요 내용
과목1, 2에서 배운 내용을 가지고 모델링
분석모형 설계
1. 분석 절차 수립
분석모형 선정
분석모형 선정
내가 처한 환경과 데이터의 특성에 맞게 다양한 모델들 중 하나를 선정
- 통계 기반: 회귀분석, 상관분석, 주성분분석 (PCA), 분산분석 (ANOVA), 판별분석
- 데이터마이닝 기반: 분류모델, 예측모델, 군집모델, 연관규칙모델
- 머신러닝 기반: 지도학습, 비지도학습, 준지도학습, 강화학습
- 비정형데이터 기반: 텍스트 마이닝, 오피니언 마이닝, 소셜 네트워크 분석
분석모형 정의
분석모형 정의 시 고려사항
- ***과대적합: 모델을 학습하는데 지나치게 학습하면 매우 복잡해짐, -> 일반화가 되지 못함. 다양한 데이터에 대해 일반화시키는게 더 중요함 (overfitting)
- ***과소적합: 너무 학습을 적게 해서 충분히 설명하지 못함 (underfitting)
과적합 ? -> 일반적으로 과대적합을 의미함.
과하다는 표현은 많다는 의미를 내포함.
- 모형 선택의 오류
- 변수 선택의 오류
- 데이터 편향
분석모형 구축 절차
분석모형 구축 절차
- 요건정의, 모델링, 검증 및 데스트, 적용
2. 분석 환경 구축
분석 도구 선정
분석 도구 선정; R, Python
데이터 분할
데이터 분할; 데이터를 다 학습에 적용하는 것이 아니고 분할해서 학습에 적용함.
문제집안에 100문제가 들어있는데 다 공부를 하는데 쓰는게 아니라 50문제는 공부를 하고 30문제로 자체 모의고사를 보고 부족한 부분이 무엇인지 캐치를 하고 다시 50문제를 가지고 공부를 하고 다시 30문제로 부족한 부분이 무엇인지 확인하고 시험 전날에 20문제로 최종 모의고사를 봄
50(훈련용) 30(검증용) 20(평가용)
-> 과대 적합, 과소적합 방지, 데이터 불균형 문제 해결
분석기법 적용
1. 분석기법
회귀분석
회귀분석
- 독립변수: 원인 (x), 종속변수: 결과(y)
- 잔차: 계산값과 예측값의 차이 (오차와 비슷함 오차는 모집단, 잔차는 표본 기준)
- 회귀계수, 절편을 추정해야 하는데 -> 최소제곱법 (최소자승법)으로 추정 - 수학적으로 어떻게 구하냐?
- 회귀모형 평가; R-Square : 관측값과 회귀선 사이의 거리가 잔차 (오차); SSE
- SSE가 작을 수록 좋은 것. = 0이면 설명을 잘하는 것. 너무 크면 설명력이 없으므로 0과1사이의 값을 구한다.
- SSE가 최소가 되도록 회귀계수과 절편을 구하면 되는데 (최소제곱법) - 왜 제곱인가? 관측값에서 회귀선을 뺐을 때 아래에 있는 값은 두 개를 그냥 더해버리면 상쇄가 되기 때문에 양수의 값을 구하기 위함. (제곱합)
- 제곱합은 2차함수의 그래프를 그릴 것, 그 중에서 가장 작은 값
- TSS, RSS, ESS -> 이런 식으로 단어가 바뀔 수도 있는데 헷갈리지 말 것

선형회귀분석의 가정
선분정독; 선형성, 등분산성, 정상성(정규성), 독립성
- 다중공선성, VIF(분산팽창인수) 값이 10이상이면 다중공선성이 존재한다고 판단
- 다중공선성; 독립변수들간 강한 상관관계가 나타나는 문제..
- 차원축소를 한다던지, 상관계수가 높으면 하나를 제거한다는 등의 방법을 써야 함.
회귀분석의 종류
단순회귀 (하나), 다중회귀 (두 개 이상), 다항회귀(2차, 3차의 관계들이 있을 것)
과적합이 된다는 것은 너무 학습이 많이 되어서 일반화가 되지 않았다는 것이므로 일반화를 하기 위해서 규제를 줘서 해소하는 것이 릿지회귀/라쏘회귀임,
고혈압이 있으면 이를 예측하기 위해 유전적, 비만, 유전*비만이 있는데 각각 2배, 4배, 20배라면 예측을 할 때 교호항을 가지고 있는다. -> 교호항이 포함된 회귀
회귀 모형의 구축절차
- 독립변수, 종속변수의 서정
- 회귀 계수의 추정
- 회귀 계수들의 유의성 검정
- 모형의 유의성 검정
회귀 모형의 변수 선택 방법
- 전진선택법: 변수를 하나씩 추가
- 후진제거법: 변수를 하나씩 제거
- 단계별 선택법; 전+후, 벌점을 고려
- AIC (아카이케), BIC(베이즈) -> 벌점은 작을 수록 좋음
로지스틱 회귀분석
말은 회귀지만 분류분석 (어느 범주에 속하냐?)
로지스틱 회귀분석
- 종속변수가 범주형 데이터를 대상으로 성공과 실패 2개의 집단으로 분류
- 오즈 (Odds); 성공확률/ 실패확률
- 로짓 (logit) 변환 ; 오즈에 자연로그 (자연상수 e가 밑)를 취하여 선형관계로 변환
- 시그모이드 함수; 0~1사이의 값. 로짓함수의 역함수를 통하여 확률을 도출하는 함수, 인공신경망에서도 다루는 개념
의사결정나무
의사결정나무 (Decision Tree)
스무고개; 날개 있니? yes 날수 있니? no 펭귄
날개있니? no 물고기니? yes 고등어
-> 나무처럼 가지가 뻗어서 내려가는 것이 의사결정나무
노드 내 동질성이 커지고 노드 간 이질성이 커짐
의사결정나무 분할 방법
*(1) 분류(범주형)에서의 분할 방법
- CHAID 알고리즘, CART 알고리즘 (지니지수), C4.5/C5.0 알고리즘 (엔트로피지수)
*(2) 회귀(연속형)에서의 분할 방법
- CHAID 알고리즘 (ANOVA, F-통계량), CART 알고리즘 (분산감소량)
의사결정나무의 과적합 방지 방안
- 정지규칙: 분리를 더 이상 수행하지 않고 나무의 성장을 멈춤
- 가지치기: 일부 가지를 제거하여 과대적합을 방지
지니지수와 엔트로피 지수의 계산

그냥 대입해서 계산하면 됨. 어려운 내용은 아님.
인공신경망
인공신경망
인간의 뇌 구조를 모방한 퍼셉트론을 활용한 추론모델
- 단층 신경망: 입력층과 출력층으로 구성 (단일 퍼셉트론)
- 다층 신경망: 입력층과 출력층 사이에 1개 이상의 은닉층 보유 (다층 퍼셉트론)
- 은닉층 수는 사용자가 직접 설정
신호를 모방해서 신경망을 만듦; 퍼셉트론 -> 다중회귀형태로 구성
퍼셉트론이 하나만 있으면 단층, 여러개 있으면 다층
다층 신경망은 여러 퍼셉트론을 계속 연결해서 입력이 있고 출력층이 있을 때 그 사이에 숨어있는 은닉층을 사용자가 직접 개수를 설정하면 됨 - 연구자가 알아서
-> 가중치는 각 퍼셉트론 간의 연결 강도를 의미함
활성화 함수와 손실함수
- 은닉층에서의 활성함수
아무리 퍼셉트론끼리 연결이 도디어 있다고 하더라도 선형을 선형으로 연결하면 선형밖에 안되므로 활성함수를 극복하고 XOR문제를 해결함. (비선형일 때 극복가능) - 시그모이드(0~1), 하이퍼볼릭 탄젠트 (-1~1), ReLU: 기울기 소실 문제 극복, 그 외.. LeakyRELU, GELU, ELU
- 출력층에서의 활성함수
강아지 고양이 - 확률이 나오면? 시그모이드(0~1)
강아지 고양이 송아지 말 -> 출력값이 4개가 나와야 함. 출력의 총합이 1이면 소프트맥수 함수.
손실함수 ; 예측값과 실제값의 차이를 측정
- MSE; 회귀모델, 크로스 엔트로피; 분류모델
-> 실제 값과 예측값의 차이를 계산할 때 2차함수를 사용함. 최소값을 구하는 것이 목표(최소제곱법) -> 신경망도 마찬가지임. MSE, 크로스 엔트로피는 아래로 볼록한 모양을 가지고 최소값을 구하는 것이 목표.
인공신경망 학습 방법
- 순전파(피드포워드): 신경망이 있는데 처음에 정보가 앞으로 가도록 순전파를 먼저 수행
- 역전파 알고리즘: 수행을 하고나서 오차가 나오는데 이 역전파를 가지고 각각 다 가중치가 연결이 되어 있는데, 그 가중치를 갱신 - 이 걸 할 때 경사하강법을 이용
- 경사하강법: 경사를 계속 내려가서 오차가 최소가 되는 최적의 해를 찾아서 인공신경망을 학습함
- 기울기 소실 문제: 기울기를 따라 많이 내려가야 하는데 조금씩만 내려가는 문제가 발생함. - 이를 해결하기 위해 하이퍼볼릭, ReLU를 사용해서 극복
인공신경망의 과적합 방지방안
- 규제: 라쏘(L1) 규제, 릿지 (L2) 규제
- 드롭아웃: 일부 퍼셉트론을 비활성화시켜 학습
교실에서 손드는 애들만 계속 발표하면 다른 애들이 학습을 못하니까 걔들의 발표를 막아 -> 드롭아웃
- 조기종료: 특정 지점에서 학습 미리 종료
- 모델의 복잡도 줄이기: 은닉층의 퍼셉트론 수 감소
- 데이터 증강: 데이터에 변형을 주어 데이터 수 증가
- 배치정규화: 각 출력마다 정규화
서포트벡터머신
서포트벡터머신 (SVM)
두 집단간의 거리가 멀수록 .. 분류가 잘되었다고 하는 것
- 하이퍼플레인 (초평면): 데이터를 구분하는 기준이 되는 경계, 가중치벡터와 편향으로 결정
- 서포트벡터: 클래스를 나누는 하이퍼플레인과 가까운 위치의 샘플
- 마진: 하이퍼플레인과 서포트벡터 사이의 거리
- 커널함수: 저차원 데이터를 고차원 데이터로 변경하는 함수
초평면; 직선으로 구분이 안될 때 -> 커널 함수를 적용함. 기가 막히게 데이터가 동그라미들은 위에 분포하고 엑스들은 아래로 분포하는 과정을 거치게 됨.. 초평면을 그음으로서 두 데이터를 구분할 수 있게 됨.
서포트벡터머신의 유형
- 하드마진분류: 오류 비허용
- 소프트마진분류: 마진 내 어느정도 오류 허용
연관성분석
연관분석 (장바구니 분석)
- 결과가 단순하고 분명 if ~then
- 강력한 비목적성 분석
- 품목 수가 증가할수록 계산량이 기하급수적으로 증가
- Apriori 알고리즘 (최소 지지도 활용 빈발항목집합 추출)을 활용 후, 연관분석을 수행
- 맥주, 치킨, 햄버거, 두리안 - 두리안을 없앰
- 순차패턴: 연관분석에 시간 개념을 추가
연관분석의 지표: 지신향
- 지지도: A와 B 두 품목이 동시에 포함된 거래 비율
- 신뢰도: A 품목이 거래 될 때 B품목도 거래될 확률 (조건부 확률)
- 향상도: A 품목과 B 품목의 상관성

군집분석
군집분석
비지도학습; 정답이 없는 것 - 데이터 간 거리나 유사성을 기준으로 군집을 나누는 분석
거리측도; 맨체스터 유나이티드 '자코'
- 연속형 변수
- 유클리디안 거리: 두 점 사이의 직선 거리
- 맨하튼 거리: 각 변수들의 차이의 단순 합
- 체비셰프 거리: 변수 거리 차 중 최댓값
- 표준화 거리, 민코우스키 거리, 마할라노비스 거리
- 변수형 범수
- 자카드 유사도: 두 집합이 겹쳐져 있는 정도
- 코사인 유사도: 두 집합간의 각도의 유사성
계층적 군집 분석
- 거리측정 방법
군집간의 거리를 구할 줄 알아야 함.
- 최단 연결법, 최장 연결법, 평균 연결법, 중심 연결법, 와드 연결법
- 덴드로그램: tree 모양 그래프
K평균 군집화 (K-means Clustering)
- 비계층적 군집화 방법으로 거리기반
- 안정된 군집은 보장하나 최적의 보장은 어려움 -> 이상치가 있으면 거리 계산에 영향을 미침
- 중심점이 변경되면 군집이 변할 수 있음
- 초기 중심 값에 따라 결과가 달라짐
- 군집의 개수 K개 설정 (Elbow Method를 활용 최적의 K 설정)
- 초기 중심점 설정
- 가장 가까운 군집에 할당
- 평균으로 중심점 재설정
- 중심점 위치가 변하지 않을 때까지 3,4 반복
- 평균 중심점이 아니라 실제 데이터 중 하나로 Medoids로 설정 ; K-medoids 군집화 (PAM)
DBSCAN
- 비계층적 군집화 방법, 밀도기반
- 군집 개수 K는 지정할 필요 x, 노이즈와 이상치에 강함
기타 비계층적 군집분석
- 퍼지군집화 - 확률 기반
- EM알고리즘 - 분포 기반
- 자기조직화지도 (SOM) - 그래프 기반 ; 신경망을 활용, 차원 축소, 지도 형상화, 순전파 방식만 사용
2. 고급 분석 기법
범주형 자료 분석
**분할표
- 상대 위험도 (RR), 오즈비 (Odds Ratio)

KNN (K-Nearest Neighbors) -> 분류
- 거리 기반으로 이웃에 더 많은 데이터가 포함되어 있는 범주로 분류
- 단순, 효율, 훈련 x -> Lazy Model
- K에 따라 결과가 달라짐 (K를 몇개를 설정하느냐?)
다변량 분석
여러 특징들을 가지고 있는 데이터들을 분석하는 것
공분산 분석 - 분산분석, 다변량분산분석
- 분산분석(Anova) : 여러 집단의 평균을 비교하여, 차이가 통계적으로 유의미한지 확인
- 일원분산부석 : 하나의 요인과 여러 집단간의 분석
- 이원분산분석: 두 개의 요인과 여러 집단간의 분석
- 다변량분산분석 (MANOVA): 다수의 요인과 여러 집단간의 분석
요인분석 (Factor Analysis)
- 다수 변수들을 상관관계를 분석하여 소수의 요인으로 축약하는 기법
- 요인추출방법
- 주성분분석(PCA): 전체 분산을 토대로 요인을 추출, 가장 많이 사용
- 주축요인분석: 공통 분산만을 토대로 요인을 추출
- 최소제곱요인분석: 잔차를 최소화하여 요인을 추출
- 요인회전
- 직각회전: VARIMAX, QUARTIMAX, EQUIMAX
- 사각회전: OBLIMIN, PROMAX
시계열 분석***
시계열 분석
시간의 흐름에 따라 자료의 특성을 파악, 미래를 예측 (주가데이터, 기온데이터)
정상성
- 시계열 예측을 위해서는 모든 시점에 일정한 평균과 분산을 가지는 정상성을 만족
- 정상시계열로 변환 방법
- 차분: 현 시점의 자료를 이전 값으로 빼는 방법
- 이동평균법, 지수평활법, 지수변환, 로그변환, Box-Cox 변환 등
백색 잡음
- 시계열 모형의 오차항을 의미 (평균 및 분산 일정, 자기상관 없음)
- 평균이 0이면 가우시안 백색잡음
시계열 모형
- 자기회귀모형(AR) ; 자기자신이 미래를 결정
- 이동평균 모형(MA); 이전 백색잡음(오차항)들의 선형결합으로 표현되는 모형
- 자기회귀누적이동평균모형(ARIMA) ; ARIMA(p, d, q) - d는 정상화시에 차분 몇 번 했는지 의미
분해시계열
시계열에 영향을 주는 일반적인 요일을 시계열에서 분리해 분석하는 방법
추운 계절의 순환이 불규칙하다
- 추세요인, 계절 요인, 순환 요인 (경제전반, 특정 산업), 불규칙 요인
베이지안 기법
베이즈 정리

나이브베이즈 분류
- 나이브(독립) + 베이즈 정리를 기반으로 계산을 단순화하여 범주에 속할 확률 계산
- 서로 독립적이라는 가정이 필요
- 과거의 경험을 활용하는 귀납적인 추론 방법
딥러닝 분석
DNN (심층 신경망)
은닉층이 2개 이상으로 구성된 인공신경망 (입력층 - 은닉층 - 출력층)
CNN (합성곱 신경망)
- Convolutional Layer와 Pooling Layer를 활용하여 이미지에서 패턴을 찾는 신경망
구조 : Input - Convolutional Layer - Pooling Layer - Flatten - Fully Connected Layer
- 1) Convolutional Layer: Convolution 연산을 이미지의 특징을 추출 (Filtering)
- 2) Pooling layer: 데이터의 공간적 특성은 유지하면서 크기를 줄여 연산량을 감소
- 3) Flatten: 2D/3D의 데이터를 1D로 변환
- 4) Fully Connected Layer: DNN 구조를 가지며, 분류 또는 회귀를 수행
주요 모델
- 1) 분류: LeNet, AlexNet, VGG Nets, GoogLeNet, ResNet, EfficentNet
- 2) 객체탐지: RCNN, SPP Net, YOLO, Attention Net, EfficientDet
- 3) 분할(세그멘테이션): FCN, DeepLab, U-net, Segnet
RNN (순환 신경망) ; 문맥(앞뒤)
- 순차적인 데이터 학습에 특화된 순환구조를 가지는 신경망
- 장기의존성 문제 ; 은닉층의 과거 정보가 전달되지 못하는 현상 (과거에 얘기했던 말들은 시간이 지날수록 기억이 안남)
- 장기의존성 극복 모델; LSTM, GRU
오토인코더
입력 데이터가 들어오면 입력 데이터를 압축해서 여기에 공간을 만들어서 다시 복원을 시키면 원래 데이터로 복원을 해줌.
압축을 하는 데가 encoder, 복원을 하는데가 decoder
압축을 하기 때문에 차원축소가 가능하고 복원을 하기 때문에 데이터를 생성할 수 있음. - 생성형 AI의 기반모델
GAN; 생성기는 이미지를 만들고 판별기는 이미지를 판별함. 생성기는 진짜같은 이미지를 만들고 판별기는 판별하면서 더 좋은 이미지가 만들어지게 됨.
오토인코더를 학습을 시킬 때 정상 데이터만 학습을 시키는 데 이상한 데이터를 들어오면 이상한 이미지가 나오므로 이상탐지를 할 수 있음.
입력 데이터를 인코더로 압축한 후에 디코더로 형태를 재구성하는 비지도 학습 신경망
(1) 구조: Encoder - Context Vector(=Latent Space) - Decoder
(2) 활용
- 생성모델
- VAE: 확률분포를 학습하여 데이터 생성
- GAN: 생성기와 판별기의 경쟁을 유사한 데이터를 생성 (적대적 훈련)
- DCGAN : GAN + CNN으로 안정적으로 학습
- 이상탐지: 정상 데이터만 학습하여, 비정상 데이터를 판단
비정형 데이터 분석
워드 임베딩 -> 컴퓨터가 알아볼 수 있도록 문장을 처리하는 것
(1) 희소표현
- 원핫 인코딩: 메모리가 낭비되며, 단어 상호간 의미를 담지 못함 (포도 [1,0,0], 오렌지 [0,1,0], 사과[0,0,1])
(2) 카운트 기반
- BOW: 단어의 등장 개수 기반의 표현
- TDM: 문서에서 등장하는 단어들의 빈도를 행렬로 표현
- TF-IDF
- TF: 1개의 문서 내에서 특정 단어의 출현 빈도
- IDF: 특정 단어가 전체 문서에 등장하는 정도
- LSA: SVD(특이값 분해)를 활용하여 잠재적인 의미 반영
(3) 단어 수준 기반
- Word2Vec: 거리를 기반으로 벡터로 표현
- CBOW: 앞, 뒤 단어로 주어진 단어를 유추
- Skip-Gram: 중심단어에서 주변단어 예측
- Glove: 전체 문장의 통계정보를 반영
- FastText: 하나의 단어를 여러 개로 잘라서 벡터로 계산
- ELMo: 양방향 언어 모델을 적용
Seq2Seq (RNN+AutoEncoder)
- 인코더와 디코더를 활용하여 한 문장을 다른 문장으로 번역하는 모델
- 입력과 출력의 길이가 달라도 변환이 가능
- 긴 분장에서 정보의 손실이 발생 -> 트랜스포머가 등장
트랜스포머**
- 느린 속도와 병렬처리 불가 및 정보 손실의 단점을 개선한 Attention 모델
앙상블 분석
앙상블
여러 악기를 연주해서 하나의 하모니; 여러 개의 예측 모형들을 조합해서 전체적인 분산을 감소시켜 성능 향상
- 보팅(Votting): 다수결 방식으로 최종 모델을 선택
- 배깅(Bagging): 복원추출에 기반을 둔 붓스트랩을 생성하여 모델을 학습 후에 보팅으로 결합
- 특정 데이터를 넣었다 뺐다 하면서 뽑히지 않을 확률을 무한히 계산을 하면서 특정 하나의 데이터가 선택되지 않을 확률? 36.8%
- 학습에 사용되지 않은 데이터는 평가 데이터로 활용가능. 확장이 가능함.
- 부스팅 (Boosting): 잘못된 분류 데이터에 큰 가중치를 주는 방법. 이상치에 민감
- AdaBoost, GBM, XGBoost(GBM보다 빠르고 규제 포함), LightGBM(학습속도 개선)
- 스태킹(Stacking): 각각의 모델에서 학습하나 예측 결과를 다시 학습
- 랜덤포레스트: 배깅에 의사결정트리를 추가하는 기법으로 성능이 좋고 이상치에 강한 모델
-> 보팅, 배깅, 랜덤포레스트는 병렬 처리가 가능하고, 부스팅은 불가능
비모수 통계
비모수 검정
- 모집단에 대한 아무런 정보 없어, 특정 분포를 따른다고 가정 불가
- 두 관측값의 순위나 차이로 검정
- 부포검정, 순위합검정, 만-휘트니 U검정, 크러스칼-윌리스 검정, 프리먼드 검정, 카이제곱 검정
'자격증 공부 > 빅데이터분석기사' 카테고리의 다른 글
[빅분기] 과목2: 빅데이터 탐색 (2) | 2025.03.31 |
---|---|
[빅분기] 과목1: 빅데이터 분석 기획 (6) | 2025.03.31 |
[빅분기] Part1.1.2 빅데이터와 인공지능 (8) | 2025.03.29 |
[빅분기] 필기 준비 시작! (2) | 2025.03.29 |