데이터
정형데이터 : Table 데이터, N×P metrix, Excel Data
비정형데이터 : Image, Text
Machin Learning 종류
지도학습 - Y가 O
회귀(regression)
분류(classification)
비지도학습 - Y가 X
Clustering
차원축소(Dimensionality Reduction)
강화학습
X : Variables, Features, Columns, 독립변수, 설명변수
Numerical : 연속적 변수 - 대소 의미 O
Categorical : 이분적 변수 - 대소 의미 X
Y : Labels, 종속변수
Numerical : Regression, 회귀
Categorical : Classification, 분류
Y : 이미 갖고 있는 값 y ^ \hat{y} y ^ : 알고리즘이 낸 아웃풋
알고리즘
= Input(Xs) → Process → Output(y ^ \hat{y} y ^ )
좋은 알고리즘 ?? = error가 낮은 알고리즘
Error = ∑ ( y i − y ^ i ) 2 \displaystyle\sum(y_i-\hat{y}_i)^2 ∑ ( y i − y ^ i ) 2
+와 -로 값이 상쇄되지 않고 크기를 잘 대변할 수 있기 위해 제곱
1. Loss Function
Error = Variance + Bias
Variance : 추정값(Algorithm Output)의 평균과 추정값(y ^ \hat{y} y ^ ) 들 간의 차이 추정값들의 흩어진 정도
Bias : 추정값의 평균과 참 값(y) 들 간의 차이 참 값과 추정값 간의 거리
θ = y θ ^ = y ^ \theta=y\qquad \hat{\theta}=\hat{y} θ = y θ ^ = y ^
M S E ( θ ^ ) = E θ [ ( θ ^ − θ ) 2 ] = V a r θ ( θ ^ ) + B i a s θ ( θ ^ , θ ) 2 MSE(\hat{\theta}) = E_\theta[(\hat{\theta}-\theta)^2] =Var_\theta(\hat{\theta})+Bias_\theta(\hat{\theta},\theta)^2 M S E ( θ ^ ) = E θ [ ( θ ^ − θ ) 2 ] = V a r θ ( θ ^ ) + B i a s θ ( θ ^ , θ ) 2
적합
Underfitting : Bias ↑ , Variance ↓
Overfitting : Bias ↓ , Variance ↑
Error(x) = Noise(X) + Bias(X) + Variance(X)
< 요소별 error 줄이는 법>
Noise : Data Processing(Cleansing) - 이상치들로 인한
Bias : Model Complexity ↑ → Bias ↓
Variance : Model Complexity ↓
Bias - Variance : Trade-off
L o s s F u n c t i o n = M i n ∑ ( y i − y ^ i ) 2 Loss Function = Min \displaystyle\sum(y_i-\hat{y}_i)^2 L o s s F u n c t i o n = M i n ∑ ( y i − y ^ i ) 2 : Task 1
2. Linear Regression
Simple Linear Regression
E ( y i ) = β 0 + β 1 x E(y_i)=\beta_0+\beta_1x E ( y i ) = β 0 + β 1 x
y = β 0 + β 1 x + ϵ y = \beta_0+\beta_1x +\epsilon y = β 0 + β 1 x + ϵ (error)
독립변수 X 1개, 종속변수 Y 1개
E ( y i ) E(y_i) E ( y i ) : 추정값(DependentVariable) = y ^ \hat{y} y ^
β 0 \beta_0 β 0 : Constant(상수)
β 1 \beta_1 β 1 : Coefficient(계수) - x가 1단위 증가할 때 Y에 미치는 영향도
Multi Linear Regression
선 → 평면
E ( y i ) = β 0 + β 1 x + β 2 x i 2 E(y_i)=\beta_0+\beta_1x+\beta_2x^2_i E ( y i ) = β 0 + β 1 x + β 2 x i 2
독립변수 X 2개, 종속변수 Y 1개
E ( y i ) E(y_i) E ( y i ) : 추정값(DependentVariable) = y ^ \hat{y} y ^
β 0 \beta_0 β 0 : Constant(상수)
β 1 , β 2 \beta_1, \beta_2 β 1 , β 2 : Coefficient(계수) - x가 1단위 증가할 때 Y에 미치는 영향도
MSE 제곱의 이유 = 미분가능 하기 때문 → 최솟값 찾아야니까
3. β \beta β (계수) 추정법
Y = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β p x p + ϵ Y=\beta_0+\beta_1x_1+\beta_2x_2+\cdots+\beta_px_p+\epsilon Y = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β p x p + ϵ
E ( Y ) = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β p x p = Y ^ E(Y) = \beta_0+\beta_1x_1+\beta_2x_2+\cdots+\beta_px_p=\hat{Y} E ( Y ) = β 0 + β 1 x 1 + β 2 x 2 + ⋯ + β p x p = Y ^
Q ( β 0 , β 1 ) = ∑ i = 1 n ϵ i 2 = ∑ i = 1 n ( y i − β 0 − β 1 x i ) 2 Q(\beta_0,\beta_1)=\displaystyle\sum_{i=1}^{n}\epsilon^2_i =\displaystyle\sum_{i=1}^{n}(y_i-\beta_0-\beta_1x_i)^2 Q ( β 0 , β 1 ) = i = 1 ∑ n ϵ i 2 = i = 1 ∑ n ( y i − β 0 − β 1 x i ) 2
각 β \beta β 에 대해 편미분 사용 → 추정
Loss Function = closed form quadratic이므로 미분만으로 쉽게 추정 가능
추정한 β \beta β 가 의미가 있는지 판단
H 0 : β 1 = 0 v s H 1 : β 1 ≠ 0 H_0:\beta_1=0\quad vs \quad H_1:\beta_1\neq 0 H 0 : β 1 = 0 v s H 1 : β 1 = 0
기울기=0 → 의미 X
β \beta β 의 p-value가 낮으면 기울기 ≠0으로 판단
p-value ≤ 0.05면 의미 O = H 0 H_0 H 0 (귀무가설) 기각 & H 1 H_1 H 1 (대립가설) 채택
*p-value : 기울기가 0일 확률 = β 1 ^ − 0 s d { β 1 ^ } = t \* \frac{\hat{\beta_1}-0}{sd\{\hat{\beta_1}\}}=t^\* s d { β 1 ^ } β 1 ^ − 0 = t \*
Model의 Output 해석
β i \beta_i β i (β 0 \beta_0 β 0 제외)
: X가 1단위 증가 시 Y에 영향을 미치는 정도
β i \beta_i β i 값이 크면 Y에 영향을 크게 미친다고 판단O
BUT X간 scale이 다르기 때문에 X 간의 상대적인 비교는 불가
p-value
- β i \beta_i β i 값이 커도 p-value값이 높으면 의미 X
→ β i \beta_i β i 값과 p-value 두 가지 조건이 모두 맞아야 유의미
→ X 간에 중요한 변수를 ranking 하고자 할 때는 어떻게? → x scaling
4. Model 평가 및 지표 해석
Model 평가 기준
동일 평가 기준으로 model 성능 평가해야 함
R-Squared (R 2 R^2 R 2 )
R 2 = S S E S S T = 1 − S S R S S T R^2=\frac{SSE}{SST}=1-\frac{SSR}{SST} R 2 = S S T S S E = 1 − S S T S S R
SSR(Residual Sum of Squares) = Y i − Y i ^ Y_i-\hat{Y_i} Y i − Y i ^ : 회귀식에 의해 설명되지 않는 편차
SSE(Explained Sum of Squares) = Y i ^ − Y ‾ \hat{Y_i}-\overline{Y} Y i ^ − Y : 회귀식에 의해 설명되는 편차
SST(Total Sum of Squares) = Y i − Y ‾ Y_i - \overline{Y} Y i − Y : 총편차 SST = SSR + SSE
regression model의 정성적 적합도 판단
R 2 R^2 R 2 = 평균으로 예측한 것 대비 분산을 얼마나 축소 시켰는지에 대한 판단
0~1의 값. 1에 가까울수록 좋은 모델 0.25 정도면 유의미하다고 판단
성능지표
Average Error(평균오차) : 잘못된 정량적 방법
실제값에 비해 과대/과소 추정여부 판단
부호로 인해 잘못된 결론 내릴 위험 O
MAE(Mean Absolute Error) (평균 절대 오차)
실제값과 예측값 사이의 절대적 오차의 평균
미분 X
MAPE(Mean Absolute Percentage Error)(평균 절대 비율 오차)
M A P E = 100 ( % ) × 1 n ∑ i = 1 n ∣ y − y ’ ∣ ∣ y ∣ MAPE=100(\%) \times \frac{1}{n} \sum_{i=1}^{n} \frac{|y-y’|}{|y|} M A P E = 1 0 0 ( % ) × n 1 ∑ i = 1 n ∣ y ∣ ∣ y − y ’ ∣
정성적
실제값 대비 얼마나 예측값이 차이가 있는지 (%)
상대적 오차 추정
MSE(Mean Squared Error) & RMSE(Root Mean Sqaured Error)
M S E = R M S E \sqrt{MSE}=RMSE M S E = R M S E
부호의 영향을 제거하기 위해 절대값이 아닌 제곱을 취함
R M S E + R 2 RMSE+R^2 R M S E + R 2 사용 많이 함
linear regression 분석 순서
Model 성능 체크 - 정성, 정량
Model 성능 안 나올 시 - data quality check( or 모델 변형)
p-value 확인하여 의미있는 변수 추출
β i \beta_i β i 활용하여 X 1단위 증가 당 Y에 얼만큼 영향 미치는지 판단
5. Feature Selection 기법
변수(feature)가 많은 경우
Overfitting 되었을 경우 사용 Overfitting - Bias 낮고 Variance 높아 → 방지 위해 Feature Selection
Feature 수 ↑ → Model Complexity ↑ 0 → Bias ↓ , Variance ↑
⇒ Feature Selection을 통해 Bias, Variance의 Trade-off 최적점 도출
Train set에서 accuracy 보장이 안 된 경우(underfitting)에는 사용할 필요 X
Supervised Variable Selection - Exhaustive Search(완전탐색)
Features의 최적 조합을 찾아내
X 개수 : p 경우의 수 : 2 p − 1 2^p-1 2 p − 1
Training Set 정확도보다 Test Set 정확도를 봄
시간이 너무 오래걸림
Supervised Variable Selection - Forward Selection
처음에는 variable 없이 시작하여 하나씩 주요한 변수들을 sequentially 추가 선택된 variable은 지우지 X
p개의 variable에 대하여
y ^ = β 0 + β 1 x 1 \hat{y}=\beta_0+\beta_1x_1 y ^ = β 0 + β 1 x 1
y ^ = β 0 + β 2 x 2 \hat{y}=\beta_0+\beta_2x_2 y ^ = β 0 + β 2 x 2
…
y ^ = β 0 + β p x p \hat{y}=\beta_0+\beta_px_p y ^ = β 0 + β p x p
R 2 R^2 R 2 이 가장 큰 변수 x i x_i x i 에 대하여 (x i x_i x i 제외)
y ^ = β 0 + β i x i + β 1 x 1 \hat{y}=\beta_0+\beta_ix_i + \beta_1x_1 y ^ = β 0 + β i x i + β 1 x 1
y ^ = β 0 + β i x i + β 2 x 2 \hat{y}=\beta_0+\beta_ix_i + \beta_2x_2 y ^ = β 0 + β i x i + β 2 x 2
…
y ^ = β 0 + β i x i + β p x p \hat{y}=\beta_0+\beta_ix_i + \beta_px_p y ^ = β 0 + β i x i + β p x p
b에서 R 2 R^2 R 2 이 가장 큰 변수 x j x_j x j 에 대하여 (x i , x j x_i,x_j x i , x j 제외)
y ^ = β 0 + β i x i + β j x j + β 1 x 1 \hat{y}=\beta_0+\beta_ix_i + \beta_jx_j+\beta_1x_1 y ^ = β 0 + β i x i + β j x j + β 1 x 1
y ^ = β 0 + β i x i + β j x j + β 2 x 2 \hat{y}=\beta_0+\beta_ix_i + \beta_jx_j+\beta_2x_2 y ^ = β 0 + β i x i + β j x j + β 2 x 2
…
y ^ = β 0 + β i x i + β j x j + β p x p \hat{y}=\beta_0+\beta_ix_i + \beta_jx_j+\beta_px_p y ^ = β 0 + β i x i + β j x j + β p x p
⇒ 가장 큰 R 2 R^2 R 2 = 0.75 일 때(가정)
c에서 R 2 R^2 R 2 값이 가장 큰 변수 x k x_k x k 에 대하여(x i , x j , x k x_i,x_j,x_k x i , x j , x k 제외)
y ^ = β 0 + β i x i + β j x j + β k x k + β 1 x 1 \hat{y}=\beta_0+\beta_ix_i + \beta_jx_j+\beta_kx_k+\beta_1x_1 y ^ = β 0 + β i x i + β j x j + β k x k + β 1 x 1
y ^ = β 0 + β i x i + β j x j + β k x k + β 2 x 2 \hat{y}=\beta_0+\beta_ix_i + \beta_jx_j+\beta_kx_k+\beta_2x_2 y ^ = β 0 + β i x i + β j x j + β k x k + β 2 x 2
…
y ^ = β 0 + β i x i + β j x j + β k x k + β p x p \hat{y}=\beta_0+\beta_ix_i + \beta_jx_j+\beta_kx_k+\beta_px_p y ^ = β 0 + β i x i + β j x j + β k x k + β p x p
⇒ 가장 큰 R 2 R^2 R 2 = 0.75인 것이 여러 개 있다면(정확도의 변화가 없다면) ⇒ STOP
Final Model
y ^ = β 0 + β i x i + β j x j + β k x k , R a d j 2 = 0.75 \hat{y}=\beta_0+\beta_ix_i + \beta_jx_j+\beta_kx_k, \qquad R^2_{adj}=0.75 y ^ = β 0 + β i x i + β j x j + β k x k , R a d j 2 = 0 . 7 5
Supervised Variable Selection - Backward Elimination
모든 variable을 사용하고 정확도에 영향을 미치지 않는 variable을 sequentially 제거
모든 variable을 넣고 시작
변수를 한 개씩 빼고서 계산 → 정확도 가장 높은(R 2 R^2 R 2 가장 높은) 모델 채택
b의 모델에서 또 변수를 한 개씩 뺐을 때 정확도 loss가 있다면 → STOP & b의 모델 채택
Supervised Variable Selection - Stepwise Selection
Forward Selection과 Backward Elimination을 번갈아 가며 수행
둘 보다 시간은 오래걸릴 수 있음
최적 variable subset 찾을 가능성 높음
높은 정확성을 가진 한 개의 variable 채택 (F)
높은 정확성을 가진 한 개의 variable 추가 (F)
높은 정확성을 가진 한 개의 variable 추가 (F)
한 개씩 variable 제거해서 기존의 모델과 R 2 R^2 R 2 비교 (B) - (F) - (B) - (F) - …
…
6. ★ Penalty Term
Feature Selection 종류
Filter Method
: 간단한 기법으로 filtering 수행(X-Y Correlation, Chi-Square Test, Anova 등)
필요없는 X 없앰
X,Y 선형관계일 때는 O but 비선형관계일 때는 X
Wrapper Method
-Forward Selection, Backward Elimination, Stepwise Selection
Embedded Method
: Regularization Approach를 활용하여 model 스스로 feature selection 진행
wrapper method와 같이 featuer 간의 상호작용 고려
상대적으로 시간 save
model이 train하면서 스스로 feature의 subset 찾아가
Penaly Term
: 불필요한 Feature에게 벌을 줘서 학습하지 못하게 하는 것 ( β i \beta_i β i =0으로 )
Error을 minimize하는 조건에서 필요없는 features의 β \beta β 에 penalty 부여
적절하게 penalty 계수를 부여해야 함
7. Regularized(정규화) Model
Ridge Regression
: β 2 \beta^2 β 2 에 Penalty Term을 부여하는 방식
= L 2 − n o r m L_2-norm L 2 − n o r m = L 2 L_2 L 2 Regularization (제곱이 들어가므로 L 2 L^2 L 2 라고 알고 있어)
제곱오차 최소화 하면서 회귀 계수 제한
Feature간 scaling 필수
β ^ r i d g e = a r g m i n ∑ i = 1 n ( y i − x i β ) 2 ∑ j = 1 p β j 2 ≤ t \hat{\beta}^{ridge}=arg\, min \displaystyle\sum_{i=1}^{n}(y_i-x_i\beta)^2 \qquad \displaystyle\sum_{j=1}^{p}\beta^2_j \leq t β ^ r i d g e = a r g m i n i = 1 ∑ n ( y i − x i β ) 2 j = 1 ∑ p β j 2 ≤ t
⇔ β ^ r i d g e = a r g { m i n ∑ i = 1 n ( y i − x i β ) 2 + λ ∑ j = 1 p β j 2 } \Leftrightarrow \hat{\beta}^{ridge}=arg\, \{min \displaystyle\sum_{i=1}^{n}(y_i-x_i\beta)^2 +\lambda \displaystyle\sum_{j=1}^{p}\beta^2_j\} ⇔ β ^ r i d g e = a r g { m i n i = 1 ∑ n ( y i − x i β ) 2 + λ j = 1 ∑ p β j 2 }
t 커지면 식이 loose, overfitting 못 잡을 수 있음. → λ \lambda λ 작아짐
t 작아지면 λ \lambda λ 커짐
MSE Contour : 중심에서 멀어질수록 Error 증가( overfitting 방지를 위해서는 error을 조금 증가시켜야)
증가 지점 : Ridge Estimator과 MSE Contour이 만나는 점 = 제약조건 만족하며 error 최소
*Ridge Estimator(∑ j = 1 p β j 2 ≤ t \displaystyle\sum_{j=1}^{p}\beta^2_j \leq t j = 1 ∑ p β j 2 ≤ t ) : 원으로 생각해
L ( β ) = L o s s F u n c t i o n ( M i n ∑ ( y i − y ^ i ) 2 ) + λ ∑ j = 1 p β j 2 L(\beta)=Loss Function(Min \displaystyle\sum(y_i-\hat{y}_i)^2) + \lambda\displaystyle\sum_{j=1}^{p}\beta^2_j L ( β ) = L o s s F u n c t i o n ( M i n ∑ ( y i − y ^ i ) 2 ) + λ j = 1 ∑ p β j 2
λ \lambda λ : test와 train 사이에 tradeoff 를 조절하는 파라미터 ( Hyperparameter )
very big → underfitting ( model이 작동하지 않음)
very small → 일반 mode과 똑같이 작동함
적절한 λ \lambda λ 찾는 것 중요
장점
미분 이 가능하므로 closed form solution 구할 수 있음
해를 빠르게 찾을 수 있음
특징
Feature Selection 되지 X (원이기 때문에 0이 된다기보다 0에 가까워짐. shrinkage) = 불필요한 feature은 0에 수렴하게 만듦
Feature의 크기가 결과에 큰 영향을 마치기 때문에 scaling 중요
다중공선성(multicollinearity) 방지에 가장 많이 쓰임
다중공선성 : 변동성이 겹치는 부분. 이에 대해 중복으로 가져가지 못함
LASSO Regression (Least Absolute Shrinkage and Selection Operator)
: ∣ β ∣ |\beta| ∣ β ∣ 에 Penalty Term을 부여하는 방식
= L 1 − n o r m = L 1 L_1-norm = L_1 L 1 − n o r m = L 1 Regularization
절댓값 으로 shrinkage을 합하여 selection까지
β ^ r i d g e = a r g m i n ∑ i = 1 n ( y i − x i β ) 2 ∑ j = 1 p ∣ β j ∣ ≤ t \hat{\beta}^{ridge}=arg\, min \displaystyle\sum_{i=1}^{n}(y_i-x_i\beta)^2 \qquad \displaystyle\sum_{j=1}^{p}|\beta_j| \leq t β ^ r i d g e = a r g m i n i = 1 ∑ n ( y i − x i β ) 2 j = 1 ∑ p ∣ β j ∣ ≤ t
⇔ β ^ r i d g e = a r g { m i n ∑ i = 1 n ( y i − x i β ) 2 + λ ∑ j = 1 p ∣ β j ∣ } \Leftrightarrow \hat{\beta}^{ridge}=arg\, \{min \displaystyle\sum_{i=1}^{n}(y_i-x_i\beta)^2 +\lambda \displaystyle\sum_{j=1}^{p}|\beta_j|\} ⇔ β ^ r i d g e = a r g { m i n i = 1 ∑ n ( y i − x i β ) 2 + λ j = 1 ∑ p ∣ β j ∣ }
Ridge와 달리 절댓값이므로 해의 set이 마름모 형태를 가짐 → MSE Contour과 만나는 점이 생기므로 selection 가능
미분 불가능 → closed form solution 불가능 ⇒ Numerical Optimization Methods 필요
Quadratic Programming techniques
LARS Algorithm
Coordinate descent Algorithm
Semi-differentiable
Gradient Descent(경사하강법)
언제 사용?
non-convex의 경우 = closed form solution 없을 때
대부분의 비선형회귀문제는 closed form solution X
closed form solution 존재해도 수많은 paramete가 있을 때
시작점이 중요. 주로 parellel 하게(병렬) 진행
최적의 해를 보장하지 X
Local Minima에 빠질 수 있음
Global Minimum이 있는지 없는지 모름
momentum을 사용
Deep Learning의 Loss Function 최적화 시 중요한 개념
스텝방향과 사이즈를 조절하며 develop중
t가 작아짐에 따라 모든 계수의 크기 감소
Ridge : 크기가 큰 변수가 더 빠르게 감소
LASSO : 예측에 중요하지 않은 변수가 더 빠르게 감소 → 그러다 0됨
Ridge LASSO L 2 L_2 L 2 -norm RegularizationL 1 L_1 L 1 -norm Regularization변수 선택 불가 변수 선택 가능 closed form solution O (미분) closed form solution X (numerical optimization 이용)(GD) 변수 간 상관관계 높은 상황에서 좋은 예측 성능 변수 간 독립적일 때 크기가 큰 변수를 우선적으로 줄이는 경향
ElasticNet
= Ridge + LASSO
= L 2 − n o r m + L 1 − n o r m L_2-norm + L_1-norm L 2 − n o r m + L 1 − n o r m
β ^ e n e t = a r g m i n ∑ i = 1 n ( u i = x i β ) 2 s 1 ∑ j = 1 p ∣ β j ∣ + s 2 ∑ j = 1 p β j 2 ≤ t \hat{\beta}^{enet}=arg\,min\displaystyle\sum_{i=1}^{n}(u_i=x_i\beta)^2 \qquad s_1 \displaystyle\sum_{j=1}^{p}|\beta_j|+s_2\displaystyle\sum_{j=1}^{p}\beta^2_j\leq t β ^ e n e t = a r g m i n i = 1 ∑ n ( u i = x i β ) 2 s 1 j = 1 ∑ p ∣ β j ∣ + s 2 j = 1 ∑ p β j 2 ≤ t
⇔ β ^ e n e t = a r g m i n { ∑ i = 1 n ( u i = x i β ) 2 + λ 1 ∑ j = 1 p ∣ β j ∣ + λ 2 ∑ j = 1 p β j 2 } \Leftrightarrow \hat{\beta}^{enet}=arg\,min\{\displaystyle\sum_{i=1}^{n}(u_i=x_i\beta)^2 +\lambda_1\displaystyle\sum_{j=1}^{p}|\beta_j| +\lambda_2\displaystyle\sum_{j=1}^{p}\beta^2_j\} ⇔ β ^ e n e t = a r g m i n { i = 1 ∑ n ( u i = x i β ) 2 + λ 1 j = 1 ∑ p ∣ β j ∣ + λ 2 j = 1 ∑ p β j 2 }
s 1 , s 2 s_1, s_2 s 1 , s 2 로 Ridge와 LASSO를 조절
λ 1 \lambda_1 λ 1 : LASSO Penalty Term (Reature Selection) λ 2 \lambda_2 λ 2 : Ridge Penalty Term(다중공선성 방지)
correlation이 강한 변수를 동시에 선택/배제하는 특정을 가짐
(-) 더 많은 실험이 필요
해 공간 α \alpha α =0:Ridge , α \alpha α =1:LASSO ( 1 − α ) ( ∣ β 1 ∣ + ∣ β 2 ∣ ) + α ( β 1 2 + β 2 2 ) ≤ t (1-\alpha)(|\beta_1|+|\beta_2|)+\alpha(\beta^2_1+\beta^2_2)\leq t ( 1 − α ) ( ∣ β 1 ∣ + ∣ β 2 ∣ ) + α ( β 1 2 + β 2 2 ) ≤ t
미분 불가능 - GD 활용해서 해 찾아
상관관계 높은 변수들 동시에 선택
이외
Fused LASSO - 인접한 변수들 동시에 선택
Group LASSO - 사용자가 정의한 그룹 단위로 변수 선택
Grace - 사용자가 정의한 그래프의 연결관계에 따라 변수 선택