본문 바로가기

블로그

[SQL] CASE WHEN으로 Pivot 하는 방법 Hive 뿐만 아니라, 다양한 SQL 언어에서 CASE WHEN을 활용하여 Pivot이 가능하다. 개인적으로 컬럼의 종류가 많으면 Python Pandas를 활용한 Pivot을 선호하며, 대용량 데이터이거나 또는 피벗 해야 하는 데이터 종류가 많지 않다면 SQL에서 처리하는 것을 더 선호한다. 따라서 본인은 상황에 따라 바꿔 가면서 데이터 Pivoting을 진행하는 편이다. 예시로 참고한 데이터는 Leetcode의 "reformat-department-table"이다. https://leetcode.com/problems/reformat-department-table/ Reformat Department Table - LeetCode Level up your coding skills and quickly.. 더보기
단층에서부터 Deep한 다층 퍼셉트론까지(Universal Approximation Theorem) 다양한 실험에 따르면 노드 수가 많은 단층 구조 신경망보다, 비선형 함수를 활용한 노드 수가 적은 다층 구조 신경망이 훨씬 우수한 경우가 많다고 한다. 그렇다면 왜 비선형 활성화 함수(e.g., ReLu)를 활용해야 하는가? 이 이야기를 하기 전에, 우리가 어떻게 매우 복잡한 문제를 딥러닝으로 해결할 수 있는지에 대한 단서인 Universal Approxiamtion Theorem을 알아보자. Universal Approxiamtion Theorem Every continuous function that maps intervals of real numbers to some output interval of real numbers can be approximated arbitrarily closely by.. 더보기
[ANOVA] One-way ANOVA, ANOVA table One-way ANOVA는 3개 이상의 그룹에 모평균 간 차이가 있는지를 검정하는 방법이다. 이때, 귀무가설 H0은 "모평균들 간에는 차이가 없다"이며, 대립가설 Ha는 "적어도 두 모평균이 다르다" 이다. One-way ANOVA는 Variance의 분석을 통해 모평균 간의 차이가 있는지 검정하며, 예시를 들어보자. 수학 학습 방법 중에 A 학습 방법, B,C, D 학습 방법이 있다고 하자. 이때, 우리는 4가지 수학 학습 방법의 차이에 따른 수학점수의 차이를 보고 싶다. 이때 학습 방법이 종속변수에 영향을 주는 독립변수이라고 할 수 있으며, 각 처리(treatment, 학습 방법)에 따라 나타나는 집단 간의 수학점수 평균이 종속변수가 될 것이다. 아래 표를 보자 독립변수 : 수학 학습 방법(A,B,C.. 더보기
[이상치 탐지] 금형 센서 데이터 이상 탐지 사례 2019년 10월 11일 위세아이텍에서 주최한 '인공지능 개발전략과 산업별 사례'에서의 딥러닝 기반 금형 센서 데이터 이상 탐지 발표 사례를 정리한 글입니다. Rana, Annie lbrahim et al (2016)에 따르면 이상치 탐지 분석이 통계기반에서 기계학습기반으로 변하고 있으며, 기존 통계기법보다 향상된 성능을 보인다고 한다. 이상 탐지 이상 탐지는 시계열 데이터에서 보편적인 패턴에서 벗어나거나 벗어나려는 징후가 있는 패턴을 찾는 분석 - 뚜렷한 패턴을 보이지 않지만 이상을 일으킴 - 보편적인 것에 대비 상대적으로 수가 적음 - 지금은 문제가 없지만 앞으로 문제가 발생할 수 있는 패턴 기계학습을 이상 탐지에 적용할 때, 쉽게 생각하면 이진 분류 모델로 생각할 수 있는데 이진 분류로 판단하면 아.. 더보기
역전파 알고리즘(Back Propagation)과 Delta Rule(1) 딥러닝 아키텍처가 도대체 어떻게 데이터를 "학습"하고 그렇게 어려운 문제를 해결할 수 있는가?라고 했을 때, 그 핵심이 되는 알고리즘은 "역전파 알고리즘(Back Propagation)"이라고 할 수 있다. 과적합, Vanishing gradient 등과 같은 명백한 단점이 존재하여 역전파 알고리즘(Back Propagation)의 단점을 보안하려는 연구가 계속되고 있음에도 불구하고, 여전히 많은 딥러닝 아키텍처는 역전파 알고리즘을 기반으로 데이터를 "학습"한다. 역전파 알고리즘(Back Propagation) 모델의 출력값과 기댓값을 비교하여 차이(오차)를 줄여나가는 방향으로 Weight update를 하고, 상위층에서 역전파하여 하위층에서 이를 근거로 다시 weight를 업데이트하는 것 상위층인 출력.. 더보기
MLE(Maximum Likelihood Estimation), 음의 로그우도(Negative log-likelihood) 머신러닝은 주어진 데이터를 가장 잘 설명하는 '함수'를 찾는 알고리즘을 디자인한 것이다. 그렇다면, 주어진 데이터가 아닌 관측하지 못한 데이터에 대해서 해당 '함수'가 얼마나 정확한 예측을 해낼 수 있을까? 다음과 같은 문제를 일반화 문제라고 하는데, 머신러닝의 목표는 주어진 데이터를 잘 학습하는 optimization이 아니라, 우리가 관측하지 못한 데이터(unseen data)에 대해서 일반화(generalization)하는 것이다. 이러한 일반화를 위해 우리는 실제 확률 분포로부터 샘플링하여 수집된 데이터만을 가지고 " 현상을 가장 잘 설명하는 확률 분포 모델"을 추정함으로써, 우리가 알고 싶은 실제 확률 분포를 근사하게 된다. 이때 주어진 데이터를 잘 추정하기 위해 가능도를 최대화하도록 파라미터를.. 더보기
[비모수 통계] KS test (Kolmogorov–Smirnov test) 방법 신용평가모형의 타당성을 테스트하는 통계적인 기준은 많지만, 오늘은 그 중 하나인 K-S 통계량을 소개하고자 한다. 아래는 NICE평가정보에서 소개하고 있는, K-S 통계량 산출 원리이다. K-S 통계량은 우량집단과 불량집단의 누적분포의 차이를 나타내는 지표로 신용평가모형의 변별력 평가 시 주요 판별 통계량으로 활용됩니다. K-S 통계량이 20 이상인 경우 신용평가모형의 변별력이 확보되는 것으로 판단합니다. 신용등급에 따른 우불량 집단의 분포 차이를 비교하여, 누적 우량비율과 누적 불량비율 차이의 최대 값을 K-S 통계량으로 정의합니다. 출처 :NICE평가정보 신용등급체계공시 K-S 테스트는 one-sample, two-sample로 나뉘는데, 우선 모집단에서 추출한 관측된 표본의 분포가 어떤 특정한 이론.. 더보기
[기초 통계] 08. 모비율 검정(One sample case) 오류나 틀린 부분이 있을 경우 언제든지 댓글 혹은 메일로 남겨주세요 😄 One sample case 우선 하나의 집단에서 샘플을 뽑아 모집단 비율을 추론하는 one sample case 예를 들어보자. 예를들어, 새누리당과 민주당 후보 중 누가 대통령 후보가 될까? 라는 예시가 있다고 하자. 이것은 선택지가 2개인 범주이며, 대통령 선거 투표자는 두 후보 중 하나를 선택할 것이다. 우리는 출구조사로 투표자와 후보에 대한 투표수의 비율로 모집단의 비율을 추정할 것이다. \begin{equation} \hat{p}=\frac{x}{n} \end{equation} 여기서 n은 샘플의 수이며, x는 샘플에서 특정 정당을 지지하는 수이다. 2022년 새누리당 후보와 민주당 후보의 출구조사 결과를 가지고 선출될 가.. 더보기