본문 바로가기

전체 글25

[프로그래머스][Level3] 징검다리 건너기 (파이썬) 문제출처 https://school.programmers.co.kr/learn/courses/30/lessons/64062 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 스스로 해결하였는가? -> O 이분탐색 아이디어를 떠올리기까지 그리 오래 걸리지 않았다. 하지만 효율성 검사를 통과하기가 꽤나 까다로웠다. 초기에 작성한 실패코드와 성공코드를 같이 놓고 어떤 차이가 있었는지 비교하자. 사용된 알고리즘 이분탐색 실패 코드 def solution(stones, k): left, right = 0, max(stones) while left = k: ri.. 2022. 8. 22.
[고차원 데이터분석] Group Lasso (with Group MCP, SCAD) 많은 회귀 문제들에서 설명변수들은 완전히 분리되는 것이 아니라 변수들이 하나의 공통 요인으로 묶일 수 있는 경우가 종종 있다. 예를 들어 범주형 변수를 지시 함수(Indicator function)을 통해 더미 변수(Dummy variable)로 나타내면 생성된 여러 변수들은 하나의 공통 요인으로 묶일 수 있다. 연속형 변수 역시 사전적으로 변수들의 그룹 정보를 알고 있다면 이 정보를 이용하지 않을 이유는 없다. 실제로 데이터가 그룹구조를 가지고 있을 때 그 정보를 활용해 더 높은 수준의 예측 성능을 낼 수 있다. 또한 변수 선택 관점에서 개별 변수를 선택하는 것이 아니라 변수들의 집합인 그룹을 선택하면, 진보적인(liberal) 결과와 함께 조금 더 해석적인 모형을 만들 수 있다. 노테이션 먼저 정의하.. 2022. 8. 21.
[고차원 데이터분석] MCP와 SCAD (Bias reduction technique) (2) 지난 포스팅에 이어 MCP와 SCAD를 다룬다. LASSO와 마찬가지로 MCP와 SCAD는 Design matrix가 orthonomal한 경우 closed form solution을 가진다. 이 때 MCP와 SCAD의 univariate solution은 다음과 같다. MCP thresholding (firm thresholding) : $$ F(z | \lambda, \gamma ) = \begin{cases} \frac{\gamma}{\gamma-1}S(z|\gamma) & \text{if $|z|\leq \gamma \lambda $}\\ z & \text{if $|z| > \gamma \lambda $} \end{cases} $$ where $\gamma > 1$ SCAD thresholding.. 2022. 8. 20.
[고차원 데이터분석] MCP와 SCAD (Bias reduction technique) (1) LASSO는 대표적인 규제화 방법(regularization method)으로써 추정치(estimator)의 분산을 줄여주는 수축(shrinkage)과 동시에 불필요한 추정치를 정확히 0으로 만들어줌으로써 변수선택(Variable selection)의 기능까지 수행한다. 이러한 이유로 LASSO는 고차원 자료이면서 희소성(Sparsity)의 특징을 가지는 유전체 데이터에 많이 활용된다. 하지만 추정치의 분산을 줄여줄 수 있지만, 편향 분산 트레이드오프(Bias variance tradeoff)에 의해 실제 회귀계수가 0이 아닌 큰 값을 가질 때 $\lambda$만큼의 추정치에 대한 편향을 발생시킨다. 이러한 문제는 penalty function을 수정해줌으로써 추정치의 편향을 줄일 수 있다. 가장 대표적.. 2022. 8. 19.