일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- GIT
- vscode
- cs231n
- Jupyter notebook
- docker
- docker exec
- Pull Request
- 백신후원
- HookNet
- numpy
- 코크리
- IVI
- 도커
- docker attach
- 사회조사분석사2급
- airflow
- cocre
- 히비스서커스
- aiffel exploration
- 티스토리챌린지
- AIFFEL
- Multi-Resolution Networks for Semantic Segmentation in Whole Slide Images
- Decision Boundary
- ssh
- logistic regression
- 기초확률론
- WSSS
- CellPin
- 오블완
- 프로그래머스
- Today
- Total
히비스서커스의 블로그
[Concept] sparse group lasso 본문
정규화 방법으로 알려진 lasso에도 여러가지 방법이 존재한다. 그 중 lasso, group lasso, sparse group lasso 순으로 하나씩 살펴보자.
lasso
일반적인 선형회귀식의 최소제곱법을 나타내보자. 샘플 수가 $n$, feature 수가 $p$일 때, response vector의 크기는 $n$ x $1$이고 feature들의 matrix는 $n$ x $p$, 회귀계수 벡터 $\beta$는 $p$ x $1$이 되어 다음과 같은 식으로 표기될 것이다.
이상적인 경우는 샘플 수 n이 feature 수 p 보다 충분히 큰 경우이다. 하지만 생물학 데이터의 경우는 p가 n보다 훨씬 더 큰 경우가 많아서 매우 곤란한 상황이 생긴다. 바로 차원의 저주(Curse of Dimensionality)에 의해 불필요한 데이터 공간이 많아지는 것이다. 이는 모델의 성능에도 좋지 않은 영향을 줄 수 있기 때문에 필요없다고 판단되는 feature들의 효과를 줄이거나 (Ridge 방식) 없애는 (LASSO 방식) 방법을 해주어 regularization(정규화)를 해주는 것이 좋다. 이와 같이 lasso의 방식은 각 feature들 간의 sparsity를 준 방법이다.
lasso를 통해 정규화를 해주는 식을 표현해보면 다음과 같다.
group lasso
그런데 feature들을 뽑다보면 몇몇 feature들끼리는 근처에 있어 서로 비슷한 영향을 줄 수 있을 것이다. 이를 고려한다면 서로 비슷한 영향을 주는 feature들은 group화 하여 regularization을 해주는 방법이 있을 것이다. 이와 같이 feature들을 그룹화하여 그룹들의 sparsity를 준 것이 group lasso이다.
group lasso를 통해 정규화를 해주는 식을 표현해보면 다음과 같다.
이 식에서, $X^{(l)}$은 그룹 $l$의 예측변수에 있는 X의 부분행렬이고, $\beta^{(l)}$은 해당 그룹의 계수 벡터이며, $p_l$은 $\beta^{(l)}$의 길이이다. 여기서, 각 그룹의 크기가 1이면 정확히 lasso가 된다.
sparse group lasso
group lasso는 sparse group 집합을 제공하지만, 만약 모델에 gourp이 포함되어 있으면 group의 모든 coefficient는 0이 아니게 될 것이다. 때때로 그룹들의 sparsity와 각 그룹들 내의 sparsity들을 주길 원하는데 이를 고려한 것이 sparse group lasso이다.
이 식에서 $\alpha \in [0, 1]$는 lasso와 group-lasso의 패널티의 convex combination이다. ($\alpha = 0$이면 group lasso, $\alpha = 1$이면 lasso 이다.) "groupwise sparsity"은 0이 아닌 계수가 하나 이상있는 그룹의 수, "within group sparsity"는 0이 아닌 각 그룹 내 0 이 아닌 계수의 수, "overall sparsity"는 그룹화에 관계없이 0이 아닌 계수의 총 수를 나타낸다.
참조한 자료
https://www.tandfonline.com/doi/pdf/10.1080/10618600.2012.681250?needAccess=true
-히비스서커스-
'Theory > Machine Learning' 카테고리의 다른 글
[기계학습 5강] error handling in SVM and soft Margin with SVM (0) | 2021.04.22 |
---|---|
[기계학습 5강] Decision boundary with margin (0) | 2021.04.19 |
[기계학습 4강] Naive Bayes and Logistic Regression (0) | 2021.04.16 |
[기계학습 4강] Logistic Regression with Gradient Ascent (0) | 2021.04.15 |
[기계학습 4강] Gradient Method (0) | 2021.04.13 |