반응형
용어정리
- 독립변수
- 다른 변수에 영향을 받지 않고 독립적으로 변화하는 수, 설명 변수라고도 함
- 입력 값이나 원인을 나타내는 변수 , y=f(x)에서 x에 해당하는
- 종속변수
- 독립변수의 영향을 받아 값이 변화하는 수 , 분석의 대상이 되는 변수
- 결과물이나 효과를 나타내는 변수, y= f(x)에서 y에 해당하는 것
- 잔차
- 계산에 의해 얻어진 이론 값과 실제 관측이나 측정에 의해 얻어진 값의 차이
- 오차(Error) - 모집단, 잔차 - 표본집단
회귀 분석
- 변수와 변수 사이의 관계를 알아보기 위한 통계적 분석 방법
- 독립변수의 값에 의해 종속변수의 값을 예측하기 위함
- 일반 선형회귀는 종속변수가 연속형 변수일 때 가능
- 선형 회귀 모형
- 종속변수 y와 한 개 이상의 독립변수 X와의 선형 상관 관계를 모델링하는 회귀분석 기법
- 한 개의 독립변수 : 단순 선형회귀, 둘 이상의 독립변수 : 다중 선형 회귀
- 단순 선형 회귀 모형(독립변수 1개)
- $Y_i$ = $\beta_iX_i$+$\varepsilon_i$ = i=1,2,$\cdots $, n
- $Y_i$ : 종속변수
- $X_i$ : 독립변수
- $\varepsilon_i$ : 에러(error)
- $\beta_0$ : 선형회귀식의 절편
- $\beta_1$ : 기울기, 회귀계수(coefficient)
- 회귀 모형의 종류
- 단순 선형회귀
- 하나의 특성(독립변수)를 가지고 Target을 예측하기 위한 선형 함수를 찾는것
- $\widehat{y}$ =ax + b
- 다중 선형회귀
- 여러 개의 특성을 활용해서 Target을 계측하는 회귀 모델을 만듦
- $\widehat{y}$ = a[0]x[0] + a[1]x[1] + ... a[n]x[n] + b
- 다항 회귀
- 입력 Feature에 대해 1차 -> n차 식으로 변형
- 데이터가 단순한 직선의 형태가 아닌 비선형 형태인 경우 선형 모델을 사용하여 비선형 데이터를 학습하기 위한 방법
- $\widehat{y}$ = a[0]x + $a[1]x^2$ + b # 1차식을 2차식으로 변형한 경우
- 단순 선형회귀
- 회귀 모형의 가정
- 선형성 : 독립변수의 변화에 따라 종속변수도 선형적으로 변화하는 선형모형이다
- 독립성 : 잔차와 독립변수의 값이 관련되어 있지 않다
- 정규성 : 잔차항이 정규분포를 이뤄야 한다
- 등분산성 : 잔차항들의 분포는 동일한 분산을 갖는다
- 비상관성 : 잔차들끼리 상관이 없어야 한다
*Normal Q-Q plot
- 정규성, 잔차가 정규분포를 잘 따르고 있는지를 확인하는 그래프
- 잔차들이 그래프 대각선 상에 있어야 이상적인
*Scale-Location
- 등분산성, y축이 표준화 잔차를 나타내며, 기울기 0인 직선이 이상적임
*이상값(Outliler)
- 숫자와 함께 표시된 것
*Residuals vs Fitted는 선형성, 등분산성에 대해 알아 볼 수 있는 그래프
- 선형성: y값의 기울기가 0인 직선이 이상적
- 등분산성: 점의 위치가 전체 그래프에 고르게 분포하는 것이 이상적
*Residuals vs Leverage
- 회귀 분석에는 잔차의 크기가 큰 데이터가 Outlier가 되는데 이 중에서도 주로 관심을 가지는 것은 Leverage와 Residual의 크기가 모두 큰 데이터임
- Leverage : 종속변수 값이 예측 값에 미치는 영향을 나타낸 값
- Cook's distance는 Leverage와 Residual를 동시에 보기 위한 기준으로 그림에서 빨간색 점선으로 표시임
- Leverage가 커지거나 Residual의 크기가 커지면 Cook's distance 값이 커짐
- 일반적으로 1값이 넘어가면 관측치를 영향점으로 판별
데이터의 정규성 검정
- 데이터의 정규성 검정 종류
- Q-Q plot
- 그래프를 그려서 정규성 가정이 만족되는지 시각적으로 확인하는 방법
- 대각선 참조선을 따라 값들이 분포하게 되면 정규성을 만족한다고 할 수 있음
- Histogram
- 구간별 돗수를 그래프로 표시하여 시각적으로 정규분포를 확인하는 방법
- Shapiro-Wilk test
- 데이터의 분포가 정규분포를 따르는지 알아보는 검정
- 귀무가설은 정규분포를 따른다로 p-value 0.05보다 크면 정규성을 가정하게 됨
- Komogorob-Smirnov test
- K-S test, 두 모집단의 분포가 같은 지 검정하는 것
- p-value가 0.05보다 크면 정규성을 가정하게 됨
- Q-Q plot
과적합
*과적합의 문제와 해결방법
- 주어진 샘플들의 설명변수와 종속변수의 관계를 필요이상 너무 자세하고 복잡하게 분석
- 샘플에 심취한 모델로 새로운 데이터가 주어졌을 때 제대로 예측해내기 어려울 수 있음
- 해결 방법으로 Feature의 개수를 줄이거나, Regularization, Dropout을 수행하는 방법이 있음
- 정칙화(Regularization) 개념
- 베타$\beta$값에 제약을 주어 모델에 변화를 주는 것
- $_lamda$ 값은 정칙화 모형을 조정하는 hyper parameter(=사용자가 정하는 값)
- $_lamda$ 값이 클수록 제약이 커져 적은 변수가 사용되고, 해석이 쉬워지지만 underfitting 됨
- $_lamda$ 값이 작아질수록 제약이 많은 변수가 사용되고, 해석이 어려워지며 overfitting 됨
- Ridge, Lasso, ElasticNet등이 있으며 과대적합 및 다중공선성 문제 해결용도로 사용할 수 있다
- norm : 선형대수학에서 벡터의 크기 또는 길이를 측정하는 방법
- L1 norm(=Manhattan norm) - 벡터의 모든 성분의 절대값을 더함
- L2 norm(=Euclidean norm) - 출발점에서 도착점까지의 거리를 직선거리로 측정함
- 라쏘(Lasso) 회귀 특징
- L1 norm을 패널티를 가진 선형 회귀 방법, 회귀계수의 절대값이 클수록 패널티 부여
- MSE가 최소가 되게 하는 $_beta$(회귀계수)를 찾는 동시에 $_beta$의 절대값들의 합이 최소가 되게 해야함
- 변수 선택이 가능하며, 변수간 상관관계가 높으면 성능이 떨어짐
- 회귀계수의 모든 원소가 0이 되거나 0에 가깝게 되게 해야 함 => 불필요 특성 제거
- 어떤 특성은 모델을 만들 때 사용되지 않게됨
- 라쏘(Lasso) 회귀 장점
- 제약 조건을 통해 일반화된 모형을 찾음
- 가중치들이 0이 되게 함으로써 그에 해당하는 특성을 제외해 줌
- 모델에서 가장 중요한 특성이 무엇인지 알게 되는 등 모델 해석력이 좋아짐
- Ridge 회귀 특성
- L2 norm을 사용해 패널티는 주는 방식
- Lasso는 회귀계수들이 0이 되지만, Ridgw의 회귀계수들은 0에 가까워질 뿐 0이되지 않는다.
- 변수 선택 불가능, 변수 간 상관관계가 높은 상황에서 좋은 성능
- 특성이 많은데 특성의 중요도가 전체적으로 비슷하다면 Ridge가 좀 더 괜찬은 모델을 찾아줄 것
- ElasticNet 회귀 특성
- L1,L2 norm regularization
- 변수 선택 가능, 변수 간 상관관계를 반영한 정규화
- 변수 선택 방법
- 회귀분석을 위한설명 변수 선택방법
- 모든 가능한 조합
- 모든 가능한 독립변수의 조합에 대한 회귀모형을 고려해 AIC, BIC의 기준으로 적합한 회귀 모형선택
- AIC, BIC : 최소자승법의 $R^2$와 비슷한 역할을 하며, 적합성을 측정해주는 지표로 $R^2$는 큰 값이 좋지만, AIC, BIC는 작은 값이 좋음
- 후진제거법
- Backward Elimination, 독립변수 후보 모두를 포함한 모형에서 출발해 제곱합의 기준으로 가장적은 영향을 주는 변수로부터 하나씩 제거하면서 더 이상 유의하지 않은 변수가 없을 때까지 설명변수를 제거하고, 이때 모형을 선택
- 전진선택법
- Foward Selection, 절편만 있는 모델에서 출발해 기준 통계치를 가장 많이 개선시키는 변수를 차례로 추가하는 방법
- 단계별 선택법
- Stepwise method, 모든 변수가 포함된 모델에서 출발해 기준 통계치에 가장 도움이 되지 않는 변수를 삭제하거나, 모델에서 빠져있는 변수 중에서 기준 통계치를 가장 개선 시키는 변수를 추가함
- 회귀모델에서 변수 선택을 위한 판단기준
- Mallow's Cp, AIC, BIC등이 있으며, 값이 작을 수록 좋음
- 모든 가능한 조합
- 회귀분석을 위한설명 변수 선택방법
분석 기법
1.로지스틱 회귀
- 로지스틱 회귀분석의 시그모이드 함수식 $y= \frac{1}{1+e^{-x}}$
- 선형 회귀 분석
- Regression
- 정규분포를 따름
- 종속변수는 연속형
- -∞ ~ ∞ 사이의 값
- 모형 탐색 : 최소자승법
- 모형 검색 : F-test, t-test
- 선형성 및 오차항에 대한 가정 있음
- 로지스틱 회귀 분석
- Classification(분류분석), 지도학습
- 이상분포를 따름
- 종속변수는 범주형
- 0 ~ 1사이의 확률 값
- 최대우도법,가중최소자승법(WLS)
- 모형 검정 : $X^2$test
- WLS(Weigthed Least Squares) : 회귀 모수의 오차항 분산에 반비례하는 가중치를 부여하여 가중 오차제곱합을 최소화 하는 방법
- 선형 회귀 분석
*선형 회귀, 로지스틱 회귀의 공통점
- 지도 학습
- 결정계수는 모두 파라미터
- 독립변수는 연속형, 범주형 모두 사용
*종속변수를 전체 실수 범위로 확장하여 분석하고, sigmoid 함수를 사용해 연속형 0~1값으로 변경
- probability
- 0 ~ 1 사이의 값
- odds
- 성공률 / 실패률, Pi(1-Pi), Pi= 성공률
- 로지스틱의 회귀계수, 확률에 대해 0~∞ 로 변환한 값
- log odds
- og(odds), odds값에 log를 취함
- 선형화의 하나, 값의 범위를 전체 실수 범위로 확장
- log = as + b형태로 선형분석이 가능해짐
- sigmoid
- log odds 값을 연속형 0~1 사이의 확률 값으로 바꾸는 함수
- Logistic 함수라 불리기도 하며, 비선형적 값을 얻기 위해 사용
- 이항 분류의 경우 확률 값이 높은것을 1 아닌것을 0으로 분류
*승산비 : 관심있는 사건이 발생할 상대 비율, x=1일 때, y=1이 되는 상대적 비율
- odds_a/ odds_b = exp(coef) = exp(5.140336) = 170.7731385
- 로지스틱 회귀에서 exp(x1)의 의미(단, x1 : 회귀계수)
- 나머지 변수가 주어질 때 x1이 한 단위 증가할 때마다 성공(Y=1)의 ODDS가 몇 배 증가하는지를 나타냄
*일반화 선형 모형 GLM : Generalized Linear Model
- 종속변수가 정규분포를 따르지 않는 경우 사용되는 모델
- 일반선형모델보다 유연성이 높고, 비 정규적인 종속변수에 대해 적합한 모델을 제공함
- 대표적인 알반화 선형 모형은 로지스틱 회귀
- 종속변수의 분포에 따른 정준 연결 함수
- 포아송 분포:log함소 , 정규분호: 항등 함수, 이항분포: 로짓, 감마분포 : 역수함
*일반 선형 모형 : General Linear Model
- 종속변수가 정규분포를 따르는 경우 사용
- 하나 이상의 독립변수가 종속변수에 영향을 미치는 경우를 분석할 대 사용
- 예)회귀분석
2.의사결정나무
- 의사 결정 규칙을 나무구조로 나타내 전체 자료를 몇 개의 소집단으로 분류하거나 예측(=회귀)를 수행하는 분석 방법
- 분석과정이 직관적이고 이해하기 쉬움
- 같은 종류의 값/클래스로만 이루어진 경우 분리되지 않음
- 뿌리마디(root node)
- 자식마디(child node)
- 부모마디(parent node)
- 최종마디(terminal node)
- 중간마디(internal node)
- 가지(branch)
- 깊이(depth)
특징
- 목적은 새로운 데이터를 분류하거나 값을 예측하는 것이다
- 분리 변수 P차원 공간에 대한 현재 분할은 이전 분할에 영향을 받는다
- 부모마디보다 자식마디의 순수도가 증가하도록 분류나무를 형성해 나간다(불순도 감소)
종류
- 목표변수(=종속변수)가 이산형인 경우 : 분류나무
- 목표변수가 연속형인 경우 : 회귀나무
장점
- 구조가 단순하여 해석이 용이함
- 비모수적 모형으로 선형성, 정규성, 등분산성 등의 수학적 가정이 불필요함
- 범주형(이산형)과 수치형(연속형)변수를 모두 사용할 수 있음
단점
- 분류 기준값의 경계선 부근의 자료 값에 대해서는 오차가 큼(비연속성)
- 각 예측변수의 효과를 파악하기 어려움
- 새로운 자료에 대한 예측이 불안정할 수 있음(overfitting 가능성 높음)
*독립변수 = 설명변수, 예측변수, Feature
*종속변수 = 목표변수, 반응변수, Label
분리기준
- Split criterion, 새로운 가지를 만드는 기준을 어떻게 정해야 할까?
- 순수도가 높아지는 방향으로 분리
- 불확실성이 낮아지는 방향
정지규칙
- 더 이상 분리가 일어나지 않고 현재의 마디가 최종마디가 되도록 하는 규칙
- 불순도 감소량이 아주 작을 때 정지함
가지치기 규칙
- 어느 가지를 쳐내야 예측력이 좋은 나무가 될까?
- 최종 노드가 너무 많으면 Overfitting 가능성이 커짐, 이를 해결하기 위해 사용
- 가지치기 규측은 별도 규칙을 제공하거나 경험에 의해 실행할 수 있음
- 가지치기의 비용함수를 최소로 하는 분기를 찾아내도록 학습
- Information Gain이란 어떤 속성을 선택함으로 인해 데이터를 더 잘 구분하게 되는것을 의미함 (불확실성 감소)
*목표변수가 범주 형일때 사용하는 지포(분류에서 사용)
- 지니 지수
- 분수도 측정 지표, 값이 작을수록 순수도가 높음(분류가 잘 됨)
- 가장 작은 값을 갖는 예측 변수와 이때의 최적분리에 의해 자식 마디 형성
- Gini(T) = 1 - $ \sum $(각 범주별수/전체수)$^2$ 1- $\sum_{i=1}^k P_i^{2}$
- 엔트로피 지수
- 불순도 측정 지표, 가장 작은 값을 갖는 방법 선택
- Entropy(T) = - $\sum_{i=1}^{k}P_ilog_2P_i$
- 카이제곱 통계량의 유의 확률(p-value)
- 가장 작은 값을 갖는 방법 선택
*의사결정나무를 위한 알고리즘
- CHAID, CART, ID2, C5.0, C4.5가 있으며 하향식 접근 방법을 이용한다
*알고리즘 별 분리, 정지 기준변수 선택법
알고리즘 | 이산형 목표변수(분류나무) | 연속형 목표변수(회귀나무) |
CART (Classification And Regression Tree) |
지니지수 | 분산 감소량 |
C5.0 | 엔트로피지수 | |
CHAID (Chi-squared Automatic Interaction Detection) |
카이제곱 통계량의 p-value | ANOVA F-통계량 - p-value |
3.SVN(Support Vector Machine)
- 지도 학습 모델로 회귀 분석 및 분류(이항, 다항 모두 상용) 분석에 모두 사용함
- 본류 모델은 서로 다른 분류에 속한 데이터 간의 간격이 최대가 되는 선을찾아 이를 기준으로 데이터를 분류하는 모델로, 선형 분류 및 비선형 분류에 사용할 수 있음
- 비선형 분류를 위해서는 데이터를 고차원 특징 공안으로 사상하는 작업이 필요하며, 이를 효율적으로 하기위해 커널 트릭을 사용하기도
- 고차항이 될수록 특성의 중요도는 감소함
- 데이터가 많아질수록 최적화를 위한 테스트 과정이 많아져 속도가 느린편에 속함(큰 데이터셋에 부적합)
- 노이즈가 많은 데이터 셋에 overfitting 될 수 있어 적합하지 않음, 모델분 석 결과에 대한 설명력 부족
*Kernel
- linear, sigmoid, polynomial, RBF(Radial Basis Function, 가우시안 커널)등이 있음
- Polynomial Kernel: 사용자가 지정한 차수의 다항식을 활용
*C
- C는 training data를 정확히 구분하지 아니면 decision boundary를 일반화할지를 결정
- C가 크면 training 포인트를 정확히 구분, C가 작으면 Smooth한 decision boundary를 그림
- decision boundary는 C가 크면 더 굴곡지고, c가 작으면 직선에 가까움
*Gamma
- Gamma가 크면 reach가 좁고, Gamma가 작다면 reach가 멀다는 뜻
- reach는 decision boundary의 굴곡에 영향을 주는 데이터의 범위
- decision boundarysms Gamma가 크면 더 굴곡지고, Gamma가 작으면 직선에 가까움
- 큰 C, Gamma -> 과대적합 위험
4.앙상블(Ensemble)기법
- 분류와 회귀에 관한 모형이 존재함
- 여러 개의 분류/회귀 모형에 의한 결과를 종합하여 분류의 정확도/회귀의 설명력을 높이는 방
- 적절한 표본추출법으로 데이터에서 여러 개의 훈련용 데이터 집합을 만들어 각 데이터 집합에 하나의 모형을 만들어 결합하는 방법(Bagging)
- 약하게 학습 된 여러 모형들을 결합하여 사용
- 성능을 분산시키기 때문에 과대적합(overfitting)감소 효과가 있음
*종류
- Voting
- 서로 다른 여러 개 알고리즘 모델 사용
- 각 모델의 결과를 취합하여 많은 결과 또는 높은 확률로 나온 것을 최종 결과로 채택
- 각 모델 별 가중치를 다르게 부여하여 사용할 수 있음
- Hard voting
- 각 모델의 예측 결과 중 많은 것을 선택
- 1 예측 3표, 2예측 1표 -> 1예측 선택
- Soft voting
- 각 모델의 클래스 확률을 구하고 평균 높은 확률을 선택
- 1예측 : (0.9 + 0.8 + 0.3 + 0.4) / 4 = 0.6 => 1예측 선택
- 2예측 : (0.1 + 0.2 + 0.7 + 0.6) / 4 = 0.4
- Hard voting
- Bagging
- 서로 다른 훈련 데이터 샘플로 훈련, 서로 같은 알고리즘 모델 결합, 병렬 학습
- 원 데이터에서 중복을 허용하는 크기가 같은 표본을 여러 번 단순 임의 복원 추출하여 각 표본에 대해 모델을 생성하는 기법
- 여러 모델이 병렬로 학습, 그 결과를 집계하는 방식
- 같은 데이터가 여러 번 추출될 수도 있고, 어떤 데이터는 추출되지 않을 수 있음
- 대표적 알고리즘 : Random Forest
- Boosting
- 여러 모델이 순차적으로 학습, 학습이 잘못된 데이터에 가중치를 부여하여 표본 추출
- 맞추기 어려운 문제를 맞추는데 초점이 맞춰져 있고, 이상치에 약함
- 대표적 알고리즘 : AdaBoost, GradientBoost (XGBoost, Light GBM) 등 - Leaf-wise-node 방법을 사용하는 알고리즘
- Stacking - 서로 다른 여러 모델의 학습 결과를 구하고, 그 학습 결과를 다른 모델의 데이터 셋으로 학습해 최종 결과를 구
*랜덤 포레스트
- 의사결정나무를 기반으로 하는 앙상블 모형으로, 배깅(Bagging)에 랜덤 과정을 추가한 방법
- 노드 내 데이터를 자식 노드로 나누는 기준을 정할 때 모든 예측변수에서 최적의 분할을 선택하는 대신, 설명변수의 일부분만을 고려함으로 성능을 높이는 방법 사용
- 여러 개 의사결정 나무를 사용해 하나의 나무를 사용할 때보다 과적합 문제를 피할 수 있음
- 단, 너무 많은 모형의 사용은 오히려 과적합을 발생시킬 수 있음(모형의 개수는 hyper parameter)
5.인공지능, 머신러닝, 딥러닝
- 딥러닝은 머신러닝의 한 종류로 인공신경망(ANN)에 기반을 둔 학습 방법
- 머신러닝은 정형데이터 학습에 딥러닝은 이미지, 소리, 텍스트와 같은 비정형 데이터 학습에 주로 사용
- 딥러닝 학습에넌 DNN, CNN, RNN, GAN, 전이학습 등의 다양한 종류 있음
- 전이학습 : 풍부한 데이터를 이용해서 학습된 pre-trained model을 가져와 부족한 사용자 데이터 환경에 맞도록 새롭게 모델을 학습시키는 일련의 과정
- 인공신경망(ANN) 모형
- 인공신경망을 이용하면 분류 및 예측을 할 수 있음
- 인공신경망은 입력층, 은닉층, 출력층 3개의 층으로 구성(SLP:은닉층 없음, MLP :1개 이상의 은닉층)
- 각 층에 뉴런(=Perceptron, Node)이 여러 개 포함되어 있음
- 학습: 입력에 대한 올바른 출력이 나오도록 가중치를 조절하는 것
- 파라미터(매개변수) : 가중치(weight)
- 하이퍼 파라미터 : 인공신경망의 학습률(learning rate), 배치크기, hidden unit, hidden layer
*SLP의 한계
- SLP는 단순한 문제 해결만 가능함
- 즉, 1개의 선으로 나눌 수 있는 AND, OR, NOR 등의 문제는 해결할 수 있지만, 두개의 선이 필요한 XOR는 해결할 수 없음 -> 복잡한 문제는 MLP 이용
*인공신경망(ANN)의 학습 방법
- FORWARD PROPAGATION
- 모든 weight(=parameter)의 임의 값 초기화
- 입력(X), weight를 사용하여 예측 값 구하기
- 손실/비용/에러 구하기
- 예측 값과 실제 값을 손실함수에 적용하여 구함
- BACKWARD PROPAGATION
- 손실을 반영하여 weight 값 갱신하기
- 이대, 손실함수에 대한 기울기 미분이 발생
W = W - $\alpha \frac{d}{dW}cost(W,b)$
- 경사하강법
- 비용 함수 기울기를 낮은 쪽에서 계속 이동시켜 극값에 이를 때까지 반복시키는 것
- 비용 함수의 기울기의 최소값을 찾아내는 머신러닝 알고리즘
- 비용 함수 기울기를 최소화 하기 위해 parameter(=Weight)를 반복적으로 조정하는 과정
- 경사 하강법 과정
- 다음의 과정을 n회 반복 수행, 비용 함수 기울기 최소값을 향해 수렴
- 임의의 Weight값으로 초기화
- Cost 계산(적절한 Cost Function 사용)
- Weight 값 갱신 : W = W -$\alpha \frac{d}{dW}cost(W,b)$
- n, learning rate(hyper-parameter) 가 적절해야 함
- 다음의 과정을 n회 반복 수행, 비용 함수 기울기 최소값을 향해 수렴
*퍼셉트론(Perceptron)
- 생물학적 뇌의 뉴런을 모방하여 만든 인공신경망(ANN)의 기본 단위
*기울기 소실
- 역전파 알고리즘은 출력층에서 입력층으로 오차 gradient를 흘려 보내면서, 각 뉴런의 입력 값에 대한 손실함수의 gradient를 계산 함
- 이렇게 계산된 gradient를 사용하여 각 가중치 매개변수를 업데이트 해 줌
- 다층신경망에서는 역전파 알고리즘이 입력층으로 갈 수록 Gradient가 점차적으로 작아져 0에 수렴하여, weight가 업데이트 되지 않는 현상
- activation function으로 sigmoid 함수를 사용할 때 발생 -> 해결을 위해 ReLU 등 다른 함수 사용
*신경망 활성화 함수
- 출력을 내보낼 때 사용하는 삼수로, 주로 비선형 함수를 사용 함
- 가중치 값을 학습할 때 에러가 적게 나도록 돕는 역할을 함
- 풀고자 하는 문제 종류에 따라 활성화 함수의 선택이 달라지며, Layer마다 다르게 사용할 수 있음
- 함수 종류 : 선형-항등, 비선형-계산, 부호, sigmoid, ReLU, Leaky ReLU, Maxout, tanh, softmax
*활성화 함수의 종류
- 항등함수 : X값 그대로
- 계단함수 : 0 또는 1
- 부호함수 : -1 또는 1
- sigmoid함수 :
- 연속형 0~1, Logistic 함수라 불리기도함
- 선형적인 멀티-퍼셉트론에서 비선형 값을 얻기 위해 사용
- $\frac{1}{1+e^{-x}}$
- softmax함수 :
- 각 클래스에 속할 확률 값을 출력함, 속할 확률이 가장 높은 클래스로 예측함
- 모든 logits(출력)의 합이 1이 되도록 output을 정규화 한 것
- sigmoid 함수의 일반화된 형태로 결과가 다 범주인 경우 각 범주에 속할 사후 확률을 제공하는 활성화 함수
(3개 이상)
- ReLU(Rectified Linear Unit)
- 학습이 빠르고 미분값이 0,1 두 개 중 하나이기 때문에 자원 소모가 적어 일반적으로 쓰는 함수 중 한가지
- x<0 인 경우 Dying ReLU 현상이 발생함
- Leaky ReLU
- 0보다 작은 입력에 대해 기울기를 주어 Dying ReLU 현상 보완
- ELU(Exponential Linear Unit)
- 입력이 음수일때 exponential을 활용한 함수를 사용하여 Dying ReLU 문제 해결
- X<0일때 지수함수 계산 비용 발생
- tanh(Hyperbolic Tangent)
- sigmoid의 중심 값을 0으로 이동한 것
- 학습시간 지연 해소, Vnishing Gradient 발생
*손실함수
- Loss/Cost : 실제 값과 예측 값의 차이로 '오차'를 의미함
- Loss Function의 예 : 분류 - Cross Entropy, 회구 - Mean Square Error
*Learning Rate(학습률)
- 학습의 속도를 나타내는 것, weight update 시 함께 곱해지는 값
- Learning Rate가 작을 경우 wieght 변경 속도가 느려 학습시간이 오래 걸릴 수 있음
- Learming Rate가 클 경우 곡선의 최저점을 이탈 할 수 있다
*Mini batch 학습
- 모든 학습 데이터에 대해 loss를 계산하는 것은 시간이 오래 걸리므로, 데이터의 일부를 사용해 학습한다.
- Epoch
- 모든 DataSet이 Netural Network 전체에 대한 학습을 1회 수행한 것
- 1Epoch만으로 학습은 충분하지 않음
- Batch Size
- Single Batch 내 학습용 Data Size
- Iterations
- 1 Epoch를 달성하기 위한 batch 개수
- Iterations = 전체 데이터수 / Batch_Size
*Normalization
- 학습을 더 빨리하고, local minima에 빠지는 가능성을 줄이기 위해 사용함
- MinMaxScaler : 0~1사이 값으로 변경, StandardScaler : 평균0, 분산 1의 값으로 변경
- Unnomalized
- 타원 모양
- 수평으로 이동할 때와 수직으로 이동할 때 변화량 불균형 발생으로 Gradient
Descnet 알고리즘을 적용하기 어려울 수 있음 - Learning rate를 작게 해야 함
- Normalized
- 구모양
- Gradient Descent를 적용하여 쉽고 빠르게 최적화 지점을 찾을 수 있음
- Learning rate에 민감하지 않음
- Unnomalized
*Optimization
- Learning Rate 및 Gradient 부분 값을 적절하게 수정하여 학습 속도를 높이고 안정적인 결과를 얻고록 함
- Plateau(평지) 현상 해결
- ZigZag 현상 해결 : w 갱신 행렬의 부호가 동일하여 w 목표점을 지그재그로 찾아가는 현상
- 극소점을 찾은 뒤 더 이상 학습이 되지 않는 현상 해결
- Optimizer의 종류
- Gradient 수정 : Momentum, NAG
- Learning Rate 수정 : AdagRrad, AdaDelta, RMSProp
- Gradient, Learning Rate 모두 수정 : Adam, Nadam
- Optimizer의 종류
*다층신경망학습과 Layer, Node
- 다층신경망은 단층신경망에 비해 훈련이 어려움
- 레이어가 많아지면 기울기 소실 문제가 발생할 수 있음
- 은닉층 수와 은닉 층의 노드수 결정은 분석가가 분석 경험에 의해 설정
- 은닉 층 노드가 너무 적으면
- 네트워크가 복잡한 의사결정 경계를 만들 수 없음
- Underfitting 문제 발생
- 은닉 층 노드가 너무 많으면
- 복잡성을 잡아낼 수 있지만, 일반화가 어렵다
- 과적합(Overfitting)문제 발생
- Layer, Node를 사용한 과적합 해결
- 매개변수의 수를 줄인다
- 은닉층 수를 줄인다
- 노드 수를 줄인다
- 반복, 데이터, 규제를 사용한 과적합 해결
- epoch 수를 줄인다
- early stopping 기법을 사용한다
- 데이터의 양을 늘인다
- Regularization을 사용한다
- Regularization의 종류
- L1/L2 Regularization
- Dropout
- DropConnect
- 은닉 층 노드가 너무 적으면
*Regularization -Overfitting 해결법
- 데이터 양을 늘림
- Regularization 사용
- Batch Normalization : Mini-batch의 평균, 분산을 이용해 Normalization 실행
*인공 신경망 모형의 장/단점
- 장점
- 변수의 수가 많거나 입,출력변수 간에 복잡한 비선형 관계에 유용
- 이상치 잡음에 대해서도 민감하게 반응하지 않음
- 입력변수와 결과변수가 연속형이나 이산형인 경우 모두 처리 가능
- 단점
- 결과에 대한 해석이 쉽지 않음
- 최적의 모형을 도출하는 것이 상대적으로 어려움
- 모형이 복잡하면 훈련 과정에 시간이 많이 소요되고, 과적합되지 쉬움
- 데이터를 정규화 하지 않으면 지역해에 빠질 위험이 있음
반응형
'Certificate > 빅데이터 분석기사' 카테고리의 다른 글
[빅데이터분석기사] [3-3] 빅데이터모델링 - 분석 기법(2/4) (0) | 2023.09.07 |
---|---|
[빅데이터분석기사] [3-2] 빅데이터모델링 - 데이터 분할 (0) | 2023.09.01 |
[빅데이터분석기사] [3-1] 빅데이터모델링 - 분석 모형 설계 (0) | 2023.09.01 |
[빅데이터분석기사] [2-3]빅데이터 탐색 통계기법 이해 (0) | 2023.08.29 |
[빅데이터 분석기사] [2-2] 빅데이터 탐색 데이터 탐색 (0) | 2023.08.29 |