일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
- 티스토리챌린지
- Decision Boundary
- HookNet
- Multi-Resolution Networks for Semantic Segmentation in Whole Slide Images
- logistic regression
- 기초확률론
- 백신후원
- 프로그래머스
- docker exec
- airflow
- aiffel exploration
- IVI
- cocre
- 오블완
- AIFFEL
- 코크리
- Pull Request
- GIT
- vscode
- numpy
- WSSS
- 히비스서커스
- cs231n
- CellPin
- docker attach
- docker
- Jupyter notebook
- 사회조사분석사2급
- ssh
- 도커
- 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, 회귀계수 벡터 β는 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의 부분행렬이고, β(l)은 해당 그룹의 계수 벡터이며, pl은 β(l)의 길이이다. 여기서, 각 그룹의 크기가 1이면 정확히 lasso가 된다.
sparse group lasso
group lasso는 sparse group 집합을 제공하지만, 만약 모델에 gourp이 포함되어 있으면 group의 모든 coefficient는 0이 아니게 될 것이다. 때때로 그룹들의 sparsity와 각 그룹들 내의 sparsity들을 주길 원하는데 이를 고려한 것이 sparse group lasso이다.

이 식에서 α∈[0,1]는 lasso와 group-lasso의 패널티의 convex combination이다. (α=0이면 group lasso, α=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 |