본문 바로가기
728x90
반응형

전체 글266

Optuna & LightGBM ※ 원래 velog에 있던 내 글을 티스토리에 옮김 optuna를 이용하면 파라미터 튜닝을 알아서 해준다. 정확히 말하자면 각 파라미터마다 튜닝할 숫자의 범위를 정해주면, 각 trial마다 random하게 숫자를 골라준다. 단순히 random selection이 아니라 grid search도 적용할 수 있어서 효율적으로 파라미터를 튜닝한다. Optuna references나는 아래 링크에 있는 글에서 도움을 많이 받았다. (특히 첫번째 글)좀 더 명확한 feature 분석을 위해서는 추가 작업도 해야하지만 이 글에서는 그냥 파라미터튜닝 자체에만 설명한다.https://www.kaggle.com/code/corochann/optuna-tutorial-for-hyperparameter-optimization.. 2023. 9. 19.
[CS246] Finding Similar Items (2) - Shingling Shinglings$k$-Shinglingsdocument를 길이가 $k$인 문자열 집합으로 표현한다.예를 들어 "abcdabd"에 대해 $k=2$인 2-shingling 집합은 {ab, bc, cd, da, ab, bd} 이다.공백과 관련하여 몇까지 옵션이 가능하다. (blank, tab, newline 등)일반적으로 $k=9,\ 9,\ 10$ 정도로 한다. textually similar한 문서들은 많은 수의 shingling이 겹칠 것이다. 단순히 한단어를 바꾸는 것으로는  $k-1$ 거리만큼만 바뀐다.  예를 들어 "The dog which chased the cat" 과 "The dog that chased the cat"을 비교해보자.두 문장의 차이점은 오직 "g_which_c"에서만 발생한다.. 2023. 9. 19.
[CS246] Finding Similar Items (1) - Introduction Big Picturenaive하게 similar item을 찾는다고 하면 이중 루프를 통해 유사도를 계산하는 것을 생각할 수 있다. 해싱(hashing)을 이용하여 제곱의 시간복잡도 없이 유사한 아이템을 빠르게 찾을 수 있다.대표적인 알고리즘으로 Locality-Sensitive Hashing (LSH)에 대하여 공부할 것이다.LSH의 장점으로 매우 적은 pair만으로도 계산이 가능하다는 것이고, 단점으로 false negative가 존재할 수 있다는 것이다. ApplicationsFinding Similar Documentsweb, 뉴스 기사 등의 매우 큰 스케일에서 문자 그대로(textually) 유사한 문서를 찾는 것이다. 의미가 비슷한(similar meaning, topic) 것을 찾는 것이 아.. 2023. 9. 18.
[Bayesian] Linear Modeling Settings (선형 회귀 모델링, MLE, Least Square, MAP, Ridge) Notation우리가 관측한(얻은) $n$개의 데이터셋을 $\mathcal{D}$이라 하자. 각 데이터 표본(인스턴스)는 $d$차원 변수이고, label은 상수(스칼라) 이다. 이를 수식으로 표현하면 다음과 같다.\[ \mathcal{D} = (X, y), \quad X=[x_1, \dots, x_n]^\top \in \mathbb{R}^{n \times d}, \quad y=[y_1, \dots, y_n]^\top \in \mathbb{R}^{n} \]$X$의 $i$번째 표본은 $X_i = (x_i, y_i)$이고 $x_i$는 $d$차원 벡터이고 $y$는 스칼라이다. ($x_i \in \mathbb{R}^d$)그리고 더 basis function(기저 함수, 혹은 feature map으로도 불린다)을 .. 2023. 9. 17.
[CS246] Frequent Itemsets: SON, Toivonen Algorithm Recap: Frequent Itemsets & Intro.A-Priori, PCY, Multistage, Multihash 알고리즘을 이용하면 결국 크기가 $k$인 frequent itemset을 얻기 위해서 $k$번 반복해야한다. 물론 일부는 frequent pair에 특화되어있지만 결국 $k$번 반복하는 것은 동일하다. 이번 포스팅에서는 pass 수가 2번 이하인 알고리즘을 알아보자. 크게 3가지 방법이 알려져있다.Random sampling (random sampling은 대규모 데이터셋에서 효과적이다. 무시하지 말기)ToivonenSON (Savasere, Omiecinski, Navathe) Random Samplingmarket basket에 대하여 랜덤 샘플링(무작위 표본 추출법)을 적용하.. 2023. 9. 15.
[CS246] PCY, Multistage, Multihash Algorithm Recap: A-PrioriA-Priori 알고리즘은 2-pass 알고리즘이다. pass1에서는 아이템을 스캔하여 개수를 저장하고, pass2에서 candidate frequent pairs ($C_2$)를 찾는다. 각 $C_k$로부터 truly frequent itemsets $L_k$를 찾는 과정을 반복한다.이렇게 크기가 $k$인 frequent itemsets $L_k$를 통해 association rule을 찾을 수 있다. 그러나 $C_2$ 역시 너무 커서 main memory에 들어가지 않으면? 이 문제를 해결하는 알고리즘이 PCY, multistage, multihash 이다. PCY AlgorithmA-Priori의 pass1에서 사용되지 않는 main-memory가 너무 많다. 이렇게 사용.. 2023. 9. 14.
728x90
반응형