다양한 데이터 소스에서 수집된 데이터를 처리하고 분석해서 지식을 추출하고 지능화된 서비스를 제공하는데 필요한 IT 환경
데이터 수집·저장, 데이터 처리, 데이터 분석, 실시간 처리, 데이터 관리를 위한 확장성과 유연성 기능을 제공한다.
대표적으로 Apache Hadoop, Spark, AWS의 EMR(Elastic MapReduce), HDinsight 등
지도학습
명확한 목표 변수가 있고, 해당 변수의 자기상관성이 높은 변수들이 있는 경우 적합
목표 변수와 특징(Feature)간의 관계를 학습하는데 적합
라벨링된 데이터가 있는 경우 이를 기반으로 새로운 데이터에 대한 예측 수행 시 적합
목표변수에 대한 중요한 특성이 명확하게 드러나는 경우 적합
데이터 변환
데이터 소스에서 추출된 가공된지 않은 데이터를 사용 가능한 데이터세트로 변환하는 작업으로써 데이터 엔지니어링의 핵심 프로세스
데이터 분할
데이터를 배치로 분할하는 작업은 주로 머신러닝 및 딥러닝 모델을 훈련할 때 사용되며, 이 과정은 데ㅣ터를 일정한 크기의 작은 배치(Batch)로 분할하여 모델에 공급하는 것을 의미
데이터 표준화
특정한 형식이나 척도에 맞게 조정하는 과정
값의 범위 및 변수의 단위를 조정
모델의 성능 향상, 해석의 용이성, 이상치 처리, 알고리즘의 수렴 속도 향상 들을 위해 수행하는 작업
데이터 비식별화 기법
가명 처리 : 식별한 값을 다른 값으로 대체
총계 처리
범주화
마스킹
차원 축소
데이터세트에 있는 불필요한 정보나 노이즈를 제거하여 데이터를 더 간결하게 만듦
계산 비용을 줄이거나 모델의 성능을 향상시킴
데이터를 저차원 공간으로 매핑하는 투영(Projection) 방법과 고차원 데이터가 저차원 Manifold에 가깝게 분포되어 있다고 가정하고 매니폴드 학습 기법 이용
차원이 높으면(변수가 많으면) 모델의 복잡도가 증가하고 과대적합 문재가 발생할 수 있어 해결하기 위한 방법으로도 사용됨
HBase
Apach Hadoop 프로젝트의 일부로 개발된 분산형 NoSQL 데이터베이스
분산형 아키텍처, 스키마 없는 데이터 모델, 비정형 데이터 저장, 고가용성, 빠른 읽기 및 쓰기 성능의 특징을 가지고 있음
Hadoop MapReduce, Apach Spark 및 다른 하둡 기술과 함께 사용됨
Key-Value(키-값) 데이터베이스
간단하고 유연한 모델을 제공하는 NoSQL의 한 유형
데이터는 고유한 키와 해당 키에 연결된 값으로 구성됨
구조가 간단하고 높은 확장성, 빠른 읽기 및 쓰기, 유연성, 저렴한 비용의 특성을 가짐
단순한 데이터 모델을 가지고 있어 복잡한 쿼리의 수행이 제한됨
2과목
데이터 결측값 대체 방법
수치형 변수이고 결측값이 무작위로 발생한 경우 평균 또는 중앙값으로 대체하는 것이 유용함
자기회귀 모형의 경우 변수 간의 상관성을 고려하여 결측값을 대체하며, 상관성이 낮은 변수들을 사용하는 경우 예측값의 정확성이 낮아지고 모델의 분산이 커짐
범주형 변수의 경우 보통 최빈값을 사용하여 결측값 대체
수집 데이터의 수가 분석하기에 충분하다면, 결측 데이터를 삭제하는 것도 가능
파생변수
기존 변수에 특정 조건 또는 함수 등을 이용하여 새롭게 재정의한 변수
일반적으로 사전에 정의된 독립변수와 함께 파생변수를 이용하여 종속 변수 예측
예측 결과를 이용하여 파생변수를 생성하지는 않음
박스칵스(Box-Cox) 변환
데이터를 정규분포에 가깝게 만들거나 데이터의 분산을 안정화하는 용도로 사용됨
정규성을 가정하는 분석이나 정상성을 요구하는 분석 방법을 적용하기에 앞서 데이터 전처리에 유용하게 사용됨
EM(Expectation-Maximization) 알고리즘
데이터 결측치나 숨겨진 변수가 있는 모델에 대한 파라미터 수정 기법
데이터의 관찰된 부분과 관찰되지 않은 부분의 결합확률을 최대화하여 모델의 파라미터 추정
Metropolis-Hastings 알고리즘
Markov Chain Monte Carlo 기법 중 하나
확률분포를 따르는 샘플을 생성하는 목적으로 사용됨
베이지안 통계에서 모수의 사후 분포를 추정하거나 복잡한 확률모형의 표본을 생성하는 데 이용됨
3과목
하향식 접근 방법
해결해야할 문제를 알고 세부 내용을 정의하면서 분석 방법을 알고 최적화하는 기법
최적화 및 솔루션 기법에 해당됨
진행 절차
문제 정의 : 도메인 및 비즈니스 문제를 데이터의 문제로 변환하여 저장
해결방안 탐색 : 분석 역량(Who)과 기법(How)으로 분석 문제를 해결하기 위한 다양한 방안을 모색
타당성 검토 : 경제성과 함께 데이터 및 기술적 타당성 등 다각적인 분석 수행
다중공선성
회귀 분석에서 발생
독립변수들 간의 높은 상관관계가 있는 경우
독립변수들이 서로 다른 단위나 스케일을 가지는 경우
일부가 다른 독립변수의 선형 조합으로 나타낼 수 있는 경우
선형 회귀 분석 vs 로지스틱 회귀 분석
선형회귀 분석
LSE(Least Squares Estimation)방법으로 모델의 개수를 추정하면 그 추정량은 불편추정량
잔차의 정규성을 가정함
MLE(Maximization Likelihood Estimation)방법으로 모델의 계수 추정이 가능
로지스틱 회귀 분석
종속변수가 범주형인 경우 (이항 or 다항 분포를 따르는 경우) 사용
잔차의 정규성 가정 X
MLE(Maximization Likelihood Estimation)방법으로 모델의 계수 추정이 가능
의사결정나무 분석
데이터의 특징에 따라서 순차적으로 분할된 결정 노드와 종단 노드로 이루어진 트리를 생성하며, 각 결정 노드는 특정한 특징의 값을 기준으로 데이터를 분할(해당 노드의 순도(동질성)를 최대화하는 방향으로 분할)하며, 종단 노드는 최종적으로 데이터를 분류하거나 예측하는 역할 수행
특징의 스케일 조정이나 정규화 필요 X
데이터 분할 과정에서 하나의 변수가 다른 변수에 영향을 미치는 변수들 사이의 교호작용을 고려하여 분할 기준 결정
Seq2Seq
Seq2Seq 모델에서 인코더를 통해 생성되는 것은 컨텍스트 벡터
생성된 컨텍스트 벡터는 디코더에 의해 사용되어 출력 시퀀스를 생성하는 데 중요한 역할을 함
확률적 경사하강법
학습 속도를 향상시키고 메모리 요구량을 줄이기 위해 각 학습단계에서 전체 데이터세트 대신 선택된 하나의 데이터 포인트를 이용하여 기울기 계산
AdaGrad(Adaptive Gradient) : 학습률을 동적으로 조정(스텝 크기를 다르게 설정)하여 수렴 속도를 향상시킴
Momentum : 이전 스텝에서의 기울기 업데이터 값을 고려하여 현재 스텝에서의 기울기 업데이트 값 조정
Adam(Adaptive Moment Estimation)
Momentum + RMSprop
각 매개변수마다 적응적으로 학습률 조정
이전의 그래디언트 업데이트와 그 제곱값의 이동평균을 이용하여 매개변수를 업데이트함
앙상블 모델
여러 개의 기본 모델을 결합하여 강력한 예측 모델을 생성하는 기법
단일 모델보다 성능이 항상 우수한 것은 아님 (∵과적합)
랜덤포레스트
결정 트리의 장점을 취합한 모델로, 과적합을 줄이는 데 도움을 줌
모델에서 트리의 깊이가 깊고 많은 수의 트리가 사용되는 경우 메모리 사용량이 증가
4과목
분산 분석
두개 이상의 집단 간 비교를 수행하고자 할 때 집단 내의 분산, 총 평균과 각 집단의 평균 차이에 의해 생긴 집단 간 분산 비교로 얻은 F-분포로 가설 검정 수행