728x90
반응형
출처 : https://book.naver.com/bookdb/book_detail.nhn?bid=20885185
*해당 글은 학습을 목적으로 위의 도서 내용 중 일부 내용만을 요약하여 작성한 포스팅입니다.
상세한 내용 및 전체 내용 확인을 원하신다면 도서 구매를 추천드립니다.
분석기법
- 데이터 분석 모델은 학습 유형에 따라 지도학습, 비지도학습, 준지도학습, 강화학습으로 구분된다.
- 먼저 지도학습은 라벨이라 불리는 정답과 함께 데이터를 제공한다.
- 즉 입력값과 그에 대한 출력값을 함께 제공한다.
- 대표적으로 분류와 회귀가 있다.
- 비지도학습은 라벨이 없이 데이터만을 제공한다.
- 컴퓨터는 데이터를 이용해 숨겨진 의미와 패턴을 찾고 구조화한다.
- 입력값만 존재하고 정답이 존재하지 않아 학습모델의 성능을 평가하기 어렵다는 특징이 있다.
- 군집분석, 연관성분석, 인공신경망, 오토인코더 등이 있다.
- 준지도학습은 정답이 있는 데이터와 없는 데이터를 동시에 학습에 사용한다.
- 사람이 직접 정답을 입력하지 않아도 되어 비용이 줄어들고, 학습 정확도도 놓아져 결과를 향상시킬 수 있다.
- 준지도 학습의 종류로는 셀프 트레이닝과 GAN이 있다.
- 셀프 트레이닝은 지도학습 후 정답이 없는 데이터를 예측하고, 예측한 값으로 다시 학습을 수행한다.
- GAN은 생성자와 판별자가 함께 존재하는 알고리즘으로, 생성자는 데이터를 생성하고 판별자는 데이터 중 생성자가 생성한 데이터를 골라내며 적대적으로 학습을 수행한다.
- 강화 학습은 주어진 환경에서 보상을 최대화하도록 학습한다.
- 에이전트가 행동을 결정하면 보상 또는 벌칙이 주어지고, 이전의 입력값들과 행동들을 긍정적 혹은 부정적으로 학습한다.
회귀분석
- 특정 변수가 다른 변수에 어떤 영향을 미치는지를 수학적 모형으로 예측하는 기법이다.
- 즉 독립변수로 종속변수를 예측한다.
- 독립변수는 입력값 또는 원인을 설명하는 변수이다.
- 그리고 종속변수는 결과값 또는 효과를 설명하는 변수이다.
- 회귀선은 회귀계수라고도 불리며 독립변수가 주어질 때의 종속변수의 기댓값으로, 일반적으로 최소제곱법을 사용한다.
- 최소제곱법은 잔차 제곱의 합이 최소가 되게하는 직선을 찾는 방법이다.
- 잔차는 관측값과 예측값 사이의 차이이다.
- 회귀분석은 크기에 관계없이 계수들에 대한 명료한 해석과 통계적 유의성 검증이 쉽다.
- 하지만 선형적인 관계로 데이터가 구성되어 있어야만 적용할 수 있다.
- 회귀 분석의 모형 진단은 R2(결정계수)를 사용하는 적합도 검정이 있다. (회귀제곱합)/(총제곱합)이 1에 가까울수록 좋다.
- 혹은 변수영향력을 분석하여 P값이 0.05보다 작으면 통계적으로 유의하다.
- 잔차분석등으로도 진단할 수 있다.
- 선형회귀분석은 종속변수 y가 한 개 이상의 독립변수 x와의 선형 상관성을 파악하는 회귀분석 기법이다.
- 종속변수와 독립변수는 모두 연속형 변수여야 한다.
- 단순선형회귀분석과 다중선형회귀분석으로 나뉜다.
- 단순선형회귀분석은 한 개의 종속변수와 한 개의 독립변수로 이루어진다.
- y=ax+b의 형태이다.
- 여기서 a는 회귀계수, b는 절편이다.
- 그리고 다중회귀분석은 독립변수가 두 개 이상으로 이루어진다.
- y=ax1+bx2+cx3+...+z 로 이루어진다.
- 선형회귀분석은 몇 가지 기본적인 가정을 가지게 된다.
- 첫째는 선형성으로 독립변수와 종속변수가 선형적이다.
- 잔차의 기댓값은 0이어야 하는 잔차 정규성을 가져야 한다.
- 잔차들이 서로 독립적인 잔차 독립성도 가져야 한다.
- 잔차들의 분산이 일정해야 하는 잔차 등분산성도 가져야 하고,
- 마지막으로 다중 공산성을 가져야 한다.
- 로지스틱 회귀분석은 종속변수와 독립 변수와의 관계를 함수로 예측하는 점에서는 선형회귀분석과 유사하다.
- 하지만 종속변수가 연속형이 아닌 범주형의 입력 데이터가 주어졌을 때도 결과가 나타난다는 점이 차이점이다.
- 단순 로지스틱 회귀분석과 다중 로지스틱 회귀분석이 있다.
- 단순 로지스틱 회귀분석은 종속변수가 이항형 문제일때, 즉 범주가 두 개일 때 사용된다.
- 다중 로지스틱 회귀분석은 종속변수가 두 개 이상의 범주를 가지게될 경우의 회귀분석이다.
의사결정나무
- 규칙을 나무 모양으로, 전체 자료를 몇 개의 소집단으로 분류하거나 예측을 수행하는 기법이다.
- 스무고개를 생각하면 쉽게 이해할 수 있다.
- 상위 노드로부터 하위 노드를 트리 그조로 형성하는데, 단계마다 분류 변수와 분류 기준값의 선택이 중요하다.
- 하위노드는 노드 내 동직성은 커지고 노드 간 이질성은 커지는 방향으로 분류 변수와 분류 기준을 선택해야 한다.
- 의결정나무의 종류로는 목표변수가 이산형이면 분류나무, 역속형이면 회귀나무로 분리된다.
- 분류나무는 카이제곱 통계량의 p-값, 엔트로피지수, 지니지수 등을 사용하여 분할을 수행한다.
- 회귀나무는 평균, 표준편차를 기반으로 분리하는데 F 통계량의 p-갑스, 분산의 감소량 등으로 가지분할을 수행한다.
- 가지란 하나의 마디로부터 끝 마디까지 연결된 마디들이다.
- 의사결정나무는 형성 후 가지치기를 수행하는데, 이 때 부적절한 가지를 제거함으로써 오버피팅을 막고 일반화 성능을 높인다.
- 즉 부적절한 추론규칙을 가지고 있거나, 불필요한 또는 분류오류를 발생시킬 수 있는 마디를 제거하는 것이다.
- 에러감소 가지치기는 분합/결합 전후의 오류를 비교하여 오류가 더 이상 줄어들지 않을 때까지 반복한다.
- 룰 포스트 가지치기는 뿌리 노드부터 잎 노드까지의 경로의 형태로 나무구조를 변환한 뒤 정확도가 낮은 순서대로 제거한다.
- 의사결정나무의 대표적 알고리즘은 CART, C4.5/C5.0, CHAID가 있다.
- CART는 일반적으로 활용되는 의사결정나무 알고리즘이다.
- 불순도 측도로 범주형 또는 이산형일 경우 지니 지수, 연속형인 경우 분산의 감소량을 이용한 이진분리를 활용한다.
- C4.5 / C5.0 은 범주형/이산형 목표변수에만 활용된다.
- 불순도 측도로 엔트로피 지수를 활용한다.
- 범주의 수만큼 분리가 일어나며, 각 마디에서 다지분리가 가능하다.
- CHAID는 범주형/이산형 목표변수와 연속형 목표변수에 모두 활용된다.
- 불순도 측도로는 카이제곱 통계량을 활용한다.
- 가지치기를 하지 않고 적당한 크기에서 성장을 중지하며, 분리변수의 범주마다 마디를 형성하는 다지분리가 가능하다.
범주/이산형 | 연속형 | |
CART | 지니지수 | 분산감소량 |
C4.5 / C5.0 | 엔트로피지수 | X |
CHAID | 카이제곱 | ANOVA F-통계량 |
- 랜덤 포레스트란 부트스트래핑 기반 샘플링을 활용한 의사결정나무 생성 이후 배깅 깁나 나무들을 모아 앙상블 학습으로 숲을 형성하는 것이다.
- 부트스트래핑이란 단순 복원 임의추출법으로 크기가 같은 여러 개의 표본자료를 생성하는 것이다.
- 즉 전체 데이터 중 일부를 뽑아낸다.
- 배깅은 이렇게 만든 부트스트랩 자료를 이용해 학습시킨 모델들을 만들고 결과를 앙상블한다.
- 추가로 부스팅은 가중치를 활용해 약분류기를 강분류기로 만드는 방법인데, 여러 번의 학습을 반복하며 자주 틀리는 것들을 재학습한다.
- 앙상블 학습은 여러 모델을 결합하기에 일반화 성능이 향상되어 과적합이 해결될 수 있다.
- 의사결정나무는 연속형, 범주형 변수 모두에 적용이 가능하고, 변수 비교가 가능하며 규칙 이해가 쉽다.
- 다만 트리구조가 복잡할 시 예측력과 해석력이 떨어지고 데이터 변형에 민감하다.
인공신경망
- 인공신경망은 인간의 두뇌 신경세포인 뉴런을 기본으로 한 기계학습 기법이다.
- 하나의 뉴런이 다른 뉴런과 연결되어 신호를 전달하고 처리하는 구조를 본떴다.
- 입력 데이터가 들어가면서 신호의 강도에 따라 가중치 처리되고, 활성화 함수를 통해 출력이 계산된다.
- 즉 원하는 결과가 나오게끔 가중치가 조정된다.
- 그리고 입력 자료의 선택에 민감한데, 범주형이면 범주가 일정해야 하고, 연속형이면 범위에 큰 차이가 없어 표준화가 가능해야 한다.
- 인공신경망은 지도학습, 비지도학습, 강화학습으로 나뉜다.
- 인공신경망은 학습을 하며 가중치와 편향을 계속해서 조정한다.
- 그리고 최종적으로 오차가 적어지도록 학습을 진행하는데, 이 때 오차를 구하기 위해서는 손실 함수를 사용한다.
- 손실 함수는 평균제곱오차, 교차엔트로피 오차 등을 활용한다.
- 평균제곱오차(MSE)는 출력 값과 정답 사이의 거리 차이를 제곱하여 합산한 후 평균을 구한다.
- 교차 엔트로피 오차(CEE)는 분류에서 사용되며, 출력 값에 자연로그를 적용한 후 곱한다.
- 가중치 매개변수 기울기를 미분으로 통해 수정하는 것은 시간 소모가 크기에 오차를 출력층에서 입력층으로 전달하고 연쇄법칙을 사용한다.
- 이를 역전파라고 한다.
- 활성 함수는 입력 신호의 총합을 그대로 사용하지 않고 출력 신호로 변환하는 함수이다.
- 대표적으로 시그모이드와 렐루함수가 있다.
- 시그모이드는 0~1 사이의 값을 출력하고, 0.5를 기준으로 크면 참, 작으면 거짓으로 판별한다.
- 렐루함수도 마찬가지로 0~1 사이의 값을 출력한다. 0 이하는 무조건 0, 아니면 그대로 출력한다.
- 과대적합이란 학습 데이터를 과하게 학습하여 학습 데이터는 잘 예측하나 테스트 데이터나 현실 데이터는 잘 예측하지 못하는 경우이다.
- 해결방안은 가중치 감소, 드롭아웃, 하이퍼파라미터 최적화 등이 있다.
- 먼저 가중치 감소는 가중치가 클수록 패널티를 부과하여 가중치 매개변수 절대값을 감소시키는 것이다.
- 패널티 역할로 규제(정규화)가 사용된다.
- Lasso는 L1 규제로, 맨하탄 거리값을 사용한다.
- Ridge는 L2 규제로, 유클리드 거리값을 사용한다.
- 드롭아웃은 신경망모델에서 은닉층의 뉴런을 임의로 삭제하며 학습한다.
- 이렇게 보다 적은 수의 뉴런만으로 학습을 수행하고, 테스트 시에는 전체 뉴런을 사용하여 예측 정확도를 높인다.
- 하이퍼파라미터 최적화방법은 딥러닝 구현에 있어 개발자가 직접 설정하는 학습률, 배치크기, 훈련 횟수, 가중치 초기화 방법들을 적절하게 튜닝하는 것이다.
- 딥러닝 모델 종류로는 CNN, RNN 등이 있다.
- 먼저 CNN은 합성곱 신경망 모델이라 불리며, 형상정보를 유지할 수 있다.
- 특징을 추출하는 합성곱 계층과 매개변수를 줄이는 풀링 계층이 번갈아 나타난다.
- 사용되는 개념은 아래와 같다.
- 필터는 정사각행렬로 정의된 파라미터인데, 커널이라고 불린다. 스트라이드만큼 입력값을 이동하며 특징을 찾아낸다.
- 스트라이드는 필터가 어떤 간격으로 이동할지를 설정한 것이다.
- 패딩은 필터와 스트라이드 적용으로 생성된 특징맵이 작아지지 않도록 입력 데이터의 모서리를 0으로 채워 크게 만드는 것이다.
- RNN은 순서를 가진 데이터를 입력하여 단위간 연결이 시퀀스를 따라 방향성 그래프를 형성하는 신경네트워크 모델로, 내부 상태(메모리)를 이용해 입력 시퀀스를 처리한다.
- CNN과 달리 중간층(은닉층)이 순환구조로 동일한 가중치를 공유한다. 가중치와 편향에 대한 오차함수의 미분을 계산하기 위해 확률정 경사 하강법 (SGD)를 사용한다.
- RNN은 가중치 업데이트를 위해 과거시점까지 역전파하는 BPTT를 사용한다.
- RNN은 점차 데이터가 소멸하는 문제가 있어 너무 긴 시퀀스의 데이터에는 적합하지 못했다.
- LSTM은 이러한 단점을 보완하여 변형된 알고리즘이다.
- 입력 게이트, 출력 게이트, 망각 게이트로 구성되며 가중치를 곱한 후 활성화 함수를 거치는 것이 아니라 컨트롤 게이트를 통해 상황에 맞게 값을 조절하여 문제를 해결했다.
- 또 LSTM은 은닉층 이외에 셀이라는 층을 구성하는데, 셀은 장기 메모리를 기억하는 셀로 망각 게이트와 입력 게이트를 과거와 현재 상태의 셀로 조합하여 과거정보를 얼마나 망각할 지, 현재 정보를 얼마나 반영할지 결정한다.
- 오토인코더는 대표적인 비지도학습 모델로, 다차원 데이터를 저차원으로 바꾸고, 저차원 데이터를 다시 고차원 데이터로 바꾸며 특징을 식별한다.
- 입력으로 들어온 다차원 데이터를 인코더를 통해 차원을 줄이는 은닉층으로 보낸다.
- 그리고 은닉층의 데이터를 디코더를 통해 차원을 늘리는 출력층으로 보낸다.
- 출력값을 입력값와 비슷해지도록 만드는 가중치를 찾아낸다.
- 두 개의 신경망을 붙여놓은 형태이며, 출력과 입력 계층의 차원은 같다.
- 세부 종류로는 디노이징 오토인코더, 희소 오토인코더, VAE가 있다.
- 디노이징 오토인코더는 손상이 있는 입력값을 받으면 손상을 제거한다.
- 희소 오토인코더는 은닉층 중 매번 일부 노드만 학습하여 과적합을 해결한다.
- VAE는 확률분포를 학습해 데이터를 생성한다.
- GAN은 생성자와 판별자 네트워크로 구성된다.
- 생성자 네트워크에 랜덤 노이즈가 주어지며 출력은 학습 데이터와 유사한 패턴으로 변환하는 함수를 학습한다.
- 판별자 네트워크는 생성자가 생성한 데이터와 학습 데이터 중 진짜를 구분한다.
- 이 때 각 네트워크는 MLP, CNN, 오토인코더 등 어떤 알고리즘도 제약없이 사용할 수 있다.
- GAN은 경쟁적으로 학습하는데, 간혹 한쪽으로 역량이 치우치는 경우가 있다. 그리고 이를 개선한 모델이 DCGAN이다.
- DCGAN은 비지도학습 적용을 위해 기존의 DNN대신 CNN 기법으로 Leaky RELU 활성화 함수를 적용하여 신경망을 구성한다.
- 인공신경망은 비선형적 예측기 가능하며, 다양한 데이터와 불완선한 데이터 등에도 적용할 수 있다.
- 다만 데이터가 커질수록 학습 시간이 커지고, 모델에 대한 설명기능이 떨어진다.
- 물론 요즘에는 설명가능한 AI가 연구되고 있다.
서포트벡터머신 (SVM)
- SVM은 지도학습 기법으로 고차원 또는 무한 차원의 공간에서 초평면을 찾아 이를 이용하여 분류와 회귀를 수행한다.
- 데이터를 평면위에 놓고, 선을 그어 데이터를 구분하는 방식이다.
- 기존 분류기가 오류율을 최소화를 특징으로 했다면, SVM은 여백(마진) 최대화로 일반화 능력의 극대화를 추구한다.
- 마진이 가장 큰 초평면을 분류기로 사용할 때 오분류가 가장 낮아진다.
- 초평면의 마진은 각 서포트 벡터를 지나는 초평면 사이의 거리를 의미한다.
- SCM은 비교적 적은 데이터로 학습이 가능하며, 과적합, 과소적함의 정도가 덜하다.
- 단점은 이진분류만 가능하며 모델 학습 시간이 오래 걸린다.
- 또한 각 분류에 대한 SVM 모델 구축이 필요하다.
연관성분석
- 연관성분석은 거래나 사건 등에 포함된 항목들의 관련성을 파악하는 탐색적 데이터 분석 기법이다.
- 컨텐츠 기반 추천의 기본 방법론이기도 하다.
- 장바구니 분석이라고도 불린다.
- 어떤 규칙이 데이터 특성에 부합되는지에 대한 기준을 설정해야 한다.
- 지지도는 데이터 전체에서 해당 물건을 고객이 구입한 확률이다.
- 신뢰도는 어떤 물건을 구매했을 때 다른 물건이 구매될 조건부 확률이다.
- 향상도는 두 물건의 구입 여부가 독립인지 판단하는 개념으로 1이면 상호독립, 1보다 크면 양의상관관계, 1보다 작으면 음의상관관계이다.
- 규칙을 정했다면 효용성을 평가해야 하는데, 아프리오리 알고리즘이 사용된다.
- 아프리오리 알고리즘은 모든 항목집단이 아닌 최소 지지도 이상의 빈발항목집합만을 찾아내 연관규칙을 계산한다.
- 최소지지도 이상의 한 항목집단이 빈발하면 모든 부분집합을 연관규칙 계산에 포함한다.
- 최소지지도 미만의 한 항목집단이 비빈발하면 모든 부분집합을 가지치기한다.
- 이후 최소신뢰도를 기준으로 미달하는 연관규칙은 제거하는 과정을 반복한다.
- 연관성분석은 분석 결과가 이해하기 쉽고 적용도 쉽다.
- 하지만 품목이 많아질수록 의미성에 대한 사전 판단이 필요하고, 상당 수의 계산과정이 필요하다.
군집분석
- 비지도학습의 일종으로, 개체들의 유상성과 그룹간 상이성을 분류하여 개체들을 그룹으로 분류한다.
- 군집분석의 척도는 거리와 유사성으로 구분되는데, 거리는 작을수록 두 데이터가 유사함을 의미하며 유클리드 거리, 맨하튼 거리가 사용된다.
- 반대로 유사성은 값이 클수록 유사함을 의미하며 코사인값과 상관계수를 사용한다.
- 유클리드 거리는 L2거리라고도 불리며, 2차원 공간에서 두 점간 거리중 가장 짧은 거리이다.
- 맨하탄 거리는 L1거리라고도 불리며, 변수 값 차이의 절대값의 차이이다.
- 민코우스키 거리는 m차원인데, m=1이면 맨하타 거리와 같고 m=2일 때 유클리드 거리와 같다.
- 마할라노비스 거리는 다변량 데이터에서 공분산 행렬로 상관도와 방향성을 나타내 거리르 측정한다.
- 자카드 거리는 두 객체 특징들의 집합을 비교하여 범주형 데이터에서 비유사성을 측정한다.
- 군집분석의 종류로는 병합 방식과 분할 방식이 있다.
- 병합 방식은 n 군집에서 시작해 하나의 군집이 남을 때까지 순차적으로 유사한 군집을 병합한다.
- 분할 방식은 하나의 군집에서 시작해 n 군집으로 분할한다.
- 또한 계층적과 비계층적 군집분석으로 나눌 수 있다.
- 계층적 군집분석은 계층화된 구조로 군집을 형성한다.
- 군집 수 명시가 필요하지 않으며 덴드로그램을 통해 결과 표현을 시각화한다.
- 계층적 병합 군집화, 최단 연결법, 최장 연결법, 평균 연결법, 와드 연결법이 있다.
- 계층적 병합 군집화는 N개의 군집으로 시작해 근접하고 유사한 군집들을 병합해나간다.
- 와드 연결법은 군집 내 편차들의 제곱합을 고려한 군집 내 거리를 기준으로 한다.
- 비계층적 군집분석은 사전 군집 수로 표본을 나누며 레코드들을 정해진 군집에 할당한다.
- 적은 계산량 덕에 대규모 DB에서 처리가 유용한다.
- K-평균 군집분석, DBSNAN등이 있다.
- K-평균 군집분석은 군집 내부의 분산을 최소화하여 각 사례를 군집들 중 하나에 할당한다.
- DBSCAN은 밀도 기반 클러스터링으로, 개체들의 밀도 계산을 기반으로 밀접하게 분포된 개체들끼리 그루핑한다.
- 밀도계산 범위와 최소 개체수가 필요하며, 이상치를 제외할 수 있다.
- 확률 분포 기반 플러스터링 (Gaussian Mixture Model)은 전체 데이터의 확률 분포가 가우시안 분포 조합으로 이뤄져 있음을 가정한다.
- 각 분포에 속할 확률이 높은 데이터들 간 군집을 형성한다.
- 대용량 처리에는 적합하지 않다.
- 군집분석은 다양한 데이터 형태에 적용 가능하며, 특정 변수에 대한 정의가 필요없는 적용이 용이한 탐색적 기법이다.
- 그러나 초기 군집 수, 관측지간 거리 등에 따라 결과가 바뀔 수 있으니 유의해야 한다.
1. 회귀분석의 기본 가정으로 틀린 것은?
1) 선형성 : 독립변수와 종속변수가 선형적이다.
2) 잔차 정규성 : 잔차의 기댓값은 0이며, 정규분포를 이룬다.
3) 잔차 등분산성 : 잔차의 분산이 1로 일정하다.
4) 다중공선성 : 3개 이상의 독립변수간 상관관계로 인한 문제가 없어야 한다.
일정하기만 하면 된다.
3
2. 의사결정나무의 알고리즘인 CART는 불순도 측도로 범주형 또는 이산형일 경우 ( 가 )를 사용하고, 연속형인 경우 ( 나 )의 감소량을 이용한 이진분리를 사용한다.
가 : 지니 지수
나 : 분산
3. 여러 부트스트랩 자료를 생성하는 학습 모델링으로 랜덤 포레스트가 속한 알고리즘 기법은 무엇인가?
배깅
4. 활성화 함수 중 0보다 크면 입력값을 그대로 출력하고, 0이하의 값만 0으로 출력하는 함수는?
1) 시그모이드
2) 렐루
3) 소프트맥스
4) 퍼셉트론
2
5. GAN은 확률 분포를 학습하는 ( 가 ) 모델과 서로 다른 집합을 구분하는 ( 나 ) 모델로 구성된다.
( 가 ) 모델은 가짜 예제를 만들어 ( 나 )모델을 최대한 속이도록 훈련하고,
( 나 ) 모델은 가짜 예제와 진짜 예제를 구분하도록 훈련한다.
가. 생성
나 . 판별
728x90
반응형
'자격증 > 빅데이터 분석기사' 카테고리의 다른 글
4_1. 빅데이터 결과 해석_분석모형 평가 및 개선 (0) | 2022.03.20 |
---|---|
3_2. 분석기법 적용_고급 분석기법 (2) | 2022.03.20 |
3_1. 빅데이터 모델링 (0) | 2022.03.19 |
2_3. 통계기법의 이해_추론통계 (0) | 2022.03.19 |
2_3. 통계기법의 이해_기술통계 (0) | 2022.03.18 |