Latest

다중공선성은 잘못된 인과추론 결과를 만들어낼 수 있습니다.

다중공선성은 잘못된 인과추론 결과를 만들어낼 수 있습니다.

다중공선성(Multi Collinearity) * **Multi-Collinearity(다중공선성)**는 독립 변수들 간의 강한 상관관계가 존재할 때 발생합니다. 즉, 한 독립 변수가 다른 독립 변수에 의해 설명될 수 있을 정도로 상관관계가 높은 상황을 의미합니다. * 이 문제는 주로 회귀 분석에서 나타나며, 변수들 간의 관계를 해석하는 데 있어 큰 장애물이 될 수 있습니다. * 일반적인 회귀식을 $Y=

Bayesian P-Value는 불확실성을 감안하여 모델의 적합도를 평가합니다.

Bayesian P-Value는 불확실성을 감안하여 모델의 적합도를 평가합니다.

Bayesian P- Value * Bayesian P-Value는 **모델의 적합도(goodness-of-fit)**를 평가하는 데 사용됩니다. * 사후 분포(posterior distribution)를 이용하여 실제 데이터와 모델이 생성한 예상 데이터를 비교함으로써, 관측된 데이터가 모델에 의해 얼마나 잘 설명되는지를 평가합니다. * 빈도주의 p-값은 "관찰된 데이터보다 극단적인 데이터가 나올 확률"을 계산하지만, Bayesian P-Value는 "모델이 실제

Non-Identifiability는 Model Parameter를 고유하게 식별할 수 없는 현상입니다.

Non-Identifiability는 Model Parameter를 고유하게 식별할 수 없는 현상입니다.

Non Identifiability * Non-Identifiability는 주어진 데이터와 모델에 대해 특정 파라미터를 고유하게 식별할 수 없는 상황을 의미합니다. 즉, 여러 파라미터 값들이 동일한 데이터를 생성할 수 있으며, 이로 인해 특정 파라미터 값을 확정적으로 추정하기 어렵게 됩니다. * 베이지안 추론에서 Non-Identifiability는 사후 분포가 특정 파라미터 값에 대해 명확하게 수렴하지 않고, 여러 값들에 대해 비슷한 확률을

Rootgram은 큰 분산을 갖거나 비정규 형태의 데이터를 위한 히스토그램입니다.

Rootgram은 큰 분산을 갖거나 비정규 형태의 데이터를 위한 히스토그램입니다.

Rootgram * 히스토그램의 변형으로 데이터가 비정규적이거나 큰 분산을 가지는 경우, 정확한 분포를 파악하기 위해 사용됩니다. * 일반적으로 히스토그램은 데이터의 빈도를 직접적으로 나타내기 때문에, 큰 값이 빈번하게 발생하는 경우 상대적으로 작은 값을 잘 드러내지 못하는 경향이 있습니다. 반면, Rootgram은 빈도를 제곱근 형태로 변환하여, 데이터 분포의 차이를 더 잘 시각화할 수 있도록 돕습니다 * 여기서

ML 코드 작성시 유의사항

ML 코드 작성시 유의사항

유의사항 * 코드의 작성방식: 다른사람이 코드를 읽고 이해할 수 있는가? * 코드의 성능: 의도치 않은 부작용이 발생하는가? * 코드의 복잡성: 유스케이스에 비해 설계가 과도하고 부족한가 * 개선의 용이성: ML코드가 지속적으로 리팩토링 되는가? 코드 작성방식에 따른 개발자(+데이터과학자)의 유형 분류 출처 * 머신러닝 엔지니어링 인 액션

ELPD는 모델이 새로운 데이터를 얼마나 잘 예측하는지를 보여주는 지표입니다.

ELPD는 모델이 새로운 데이터를 얼마나 잘 예측하는지를 보여주는 지표입니다.

기본 개념 * ELPD(Expected Log Predictive Density)는 모델이 새로운 데이터를 얼마나 잘 예측하는지를 나타내는 지표로, 주어진 데이터 포인트에 대해 모델이 예측한 확률의 로그 값(로그확률)을 합산한 것입니다. $$\text{ELPD} = \sum_{i=1}^{n} \log p(y_i \mid \text{data})$$ * $n$: 데이터 포인트의 수 * $y_i$ : 실제 관측된

잭나이프 샘플링은 표본의 변동성 추정 방법중 하나입니다.

잭나이프 샘플링은 표본의 변동성 추정 방법중 하나입니다.

잭나이프 샘플링이란? * 잭나이프 샘플링은 표본 데이터에서 하나의 관측치를 제거한 여러 하위 샘플을 만들어, 이들 샘플에 대해 통계량을 계산한 후 그 결과를 바탕으로 전체 표본의 변동성을 추정하는 방법입니다. 잭 * 나이프는 주로 표본의 분산을 추정하거나 통계량의 편향을 줄이기 위해 사용됩니다. 예시 * 주어진 표본이 [x1, x2, x3, x4]라면, 잭나이프 샘플링은 다음과 같은

정확한 단위로 대화를 하는 것이 중요합니다.

정확한 단위로 대화를 하는 것이 중요합니다.

자전거를 타고 약속장소로 이동하는 중이었습니다. 근처 과일 가게에 이런 문구가 적혀있었습니다. "한 상자에 X,000원" 과일을 직접 사먹지는 않는 편이기 때문에 가격은 모르지만 꽤 매력적인 가격대였습니다. 그래서 잠시 "살까?" 망설였습니다. 하지만 이내 자전거를 타고 다시 가던 길을 갔습니다. 한 상자 안에 몇개가 들어가 있을지를 몰랐기 때문입니다.

전체와 부분은 순환참조로 연결되어 있습니다.

전체와 부분은 순환참조로 연결되어 있습니다.

거실에 홈캠을 하나 설치할 일이 생겼습니다. 홈캠은 이전에 구매한 것과 동일한 구조로, 회전은 되지 않지만, 앞으로 각도를 조절하여 찍을 수 있는 구조로 되어 있었습니다. 설치 자체는 어렵지 않을 것이라고 생각했는데,문제는 장소였습니다. 거실은 부엌과 연결되어 세로로 긴 구조로 일반적인 정사각형 형태의 방 대비 화각의 한계에서 발생하는 사각지대가 존재하고 있었습니다. 이를

Model Drift Check Library, Evidently AI

Model Drift Check Library, Evidently AI

Evidently AI Evidently AI는 머신러닝 모델의 성능과 데이터 분포의 변화를 시각적으로 분석하고 모니터링할 수 있는 Python 라이브러리입니다. 이 라이브러리는 모델의 드리프트를 탐지하고, 이를 기반으로 모델의 성능 저하를 사전에 예방하는 데 유용합니다. 주요 기능 * 데이터 드리프트 감지: 현재 데이터와 과거 데이터 간의 분포 차이를 분석합니다. * 대규모 데이터 처리: 대규모 데이터에 대해

[책]어찌 보면 가장 현실적인 자기계발서인지 모른다, 더 시스템

[책]어찌 보면 가장 현실적인 자기계발서인지 모른다, 더 시스템

사실 이 책을 보게 된 것은 우연이었습니다. 어떤 다른 것보다 독특한 리뷰가 시선을 붙잡았습니다. 이 책에 남겨져 있는 리뷰는 다음과 같았습니다. 최근에 읽은 자기계발서중에서 가장 좋았습니다.   (중략) 자기계발서 중에서 가장 좋았다는 표현에서 미루어 짐작해보면, 기타 다른 자기계발서와 비교를 하여 우위를 가렸을 때, 좋았다는 표현이라고 생각해볼 수 있습니다. 그런데 가장 좋았다니.

특정 확장자의 파일명을 수정하기 위한 파이썬 코드

Productivity

특정 확장자의 파일명을 수정하기 위한 파이썬 코드

배경 및 목적 * NAS로 파일을 백업하는 과정에서 파일명이 길어서 수정해야 하는 경우가 너무 많아서, 자동화 코드를 작성 감안한 부분 * 대량의 파일을 처리할 것을 감안해서, 파일 복사 대신 경로만 저장해서 컨트롤한 이후에 최종적으로 필요한 파일만 일괄적으로 처리 * Python의 concurrent.futures 모듈을 사용하여 병렬로 파일을 처리 샘플 코드 import os import shutil

화이트보드와 시각적 커뮤니케이션의 중요성

Team

화이트보드와 시각적 커뮤니케이션의 중요성

최근에 취업준비를 하는 학생들을 코칭하고 있습니다. 처음에는 소일 거리로 이 일을 시작하였으나, 생각 외로 많은 도움을 받고 있습니다. 예를 든다면  개인적으로 가지고 있던 습관이나 행동패턴을 점검하는 시간으로 종종 활용하고 있습니다. 오늘 이야기하려는 것은 그러한 경험의 연속성으로 시각적 커뮤니케이션에 관한 것입니다. 일반적으로 문제를 정의하고 방법을 고민하다보면 문제 정의를 하던 초기 단계

디리클레 프로세스는 군집갯수를 구하기 위해 사용할 수 있습니다.

Data

디리클레 프로세스는 군집갯수를 구하기 위해 사용할 수 있습니다.

Dirichlet Process (디리클레 과정) * **Dirichlet Process (DP)**는 무한 차원의 확률분포로, 클러스터링 문제에서 군집의 개수가 미리 정해지지 않은 경우에 유용하게 사용됩니다. * DP는 기존의 Dirichlet Distribution를 확장한 것으로, 데이터 포인트들이 서로 다른 군집에 속할 확률을 정의합니다. * Dirichlet Distribution은 확률벡터(즉, 모든 원소가 0과 1 사이의 값을 가지며, 전체 합이 1이 되는

성공하는 프로젝트를 만들기 위한 체크리스트, 프로젝트 설계자

Team

성공하는 프로젝트를 만들기 위한 체크리스트, 프로젝트 설계자

살면서 우리는 평생 프로젝트를 합니다. 삶을 살아내는 것도 프로젝트라고 할 수 있기 때문입니다. 지금도 저는 다양하게 크고 작은 프로젝트를 하고 있습니다. 어느날과 다름없이 어떤 책을 읽어볼지 두리번 거리던 차에, "아이디어를 현실로 만드는 프로젝트 계획과 실행의 법칙"이라는 광고 문구를 보고 이 책을 구매하였습니다. 사실 절대적인 성공을 보장하는 것은

리더로서 힘들 수 있으나, 주저 앉아서는 안됩니다.

Team

리더로서 힘들 수 있으나, 주저 앉아서는 안됩니다.

리더는 외로운 자리이고 힘들 수 있습니다. 하지만 그렇다고 해서 팀원과의 대화를 멈춰서는 안됩니다. 리더는 아래는 팀원의 대화를, 위로는 상사의 대화를 들어야 하는 중간 위치에 서 있습니다. 그래서 당연히 외로울 수 있습니다. 하지만 멈춰서는 안됩니다. 리더가 외로운 것은 당연합니다. 위대함이 발현되는 상황일 수 있습니다. 포기하면 편합니다. 편하지 않고, 힘들다는 것은 무언가를

단일파일압축 기반 고성능 압축 알고리즘, zstd

Data

단일파일압축 기반 고성능 압축 알고리즘, zstd

zstd (Zstandard) * 페이스북에서 개발한 빠르고 효율적인 압축 알고리즘입니다. * 높은 압축률과 빠른 압축 및 해제 속도를 제공합니다. Motivation * zstd는 높은 압축률과 빠른 속도를 모두 제공하기 위해 개발되었습니다. 많은 데이터 처리와 전송이 필요한 환경에서 효율성을 높이기 위함입니다. * 스트리밍 지원: zstandard는 스트리밍 압축 및 해제를 지원합니다. 이는 실시간 데이터 처리나 네트워크 전송 시

HyperParameter Tuning 패키지, HyperOpt

Data

HyperParameter Tuning 패키지, HyperOpt

Motivation * 기존의 하이퍼파라미터 튜닝 방식은 주로 수동적이고 시간이 많이 소요되었습니다. * 그리드 서치(Grid Search)나 랜덤 서치(Random Search)는 단순하지만, 고차원의 하이퍼파라미터 공간에서는 비효율적입니다. * HyperOpt는 베이지안 최적화(Bayesian Optimization)와 같은 고급 기법을 통해 하이퍼파라미터 최적화를 보다 효율적으로 수행할 수 있게 합니다. Pros & Cons Pros * 효율적인 탐색: HyperOpt는

인사관리 - 조직장으로서 처음 챙겨야 하는 것들에 대해서

Tean

인사관리 - 조직장으로서 처음 챙겨야 하는 것들에 대해서

이 글은 복기와 회고의 글입니다. 최근에 읽었던 책, "HBR 리더십 인사이트"을 읽고 나니, 인사관리, 성과관리, 조직관리, 마인드셋의 관점에서 경험을 훑어보는 것도 좋겠다 싶었습니다. 한 회사에 영원히 있더라도 조직은 여러번 바뀔 수 있기 때문에 이렇게 정리해보는 것은 꽤나 좋은 경험이 아닐까 생각했습니다. 회사에 조직을 처음 구성하고 나면, 조직장과

Gibbs 샘플링과 MH 샘플링은 MCMC의 대표적 방법 중 하나입니다.

Data

Gibbs 샘플링과 MH 샘플링은 MCMC의 대표적 방법 중 하나입니다.

Motivation * 복잡한 다차원 확률 분포에서 직접 샘플링하는 것은 어려운 경우가 많습니다. 이러한 문제를 해결하기 위해 MCMC 방법이 등장했습니다. * * 고차원의 문제: 고차원 공간에서는 모든 가능한 값들을 커버하기 위해 필요한 샘플 수가 기하급수적으로 증가합니다. 이로 인해 효율적인 샘플링이 매우 어렵습니다. * 비선형성: 다차원 확률 분포는 종종 비선형성을 띄며, 특정 변수들 간의 복잡한 상호작용이

중간관리자는 상위조직과 하위조직 중간에서 통역을 담당한다.

Team

중간관리자는 상위조직과 하위조직 중간에서 통역을 담당한다.

실무를 담당하다, 리더로 맞닥뜨릴 때 제일 먼저 당황스러웠던 것은 바로 "언어"였습니다. 운이 좋게 같은 직군에 속한 사람이 상위 관리자면 그래도 다행일 수 있습니다. 하지만 상위로 올라갈 수록 동일 직군인 경우는 점차 드물어집니다. 동일 직군 출신이어도 동일직군의 느낌이 많이 옅어진 경우를 만나게 됩니다. "언어"가 달라졌기

앞으로는 신뢰가 가장 큰 자산이 될 것입니다.

Data

앞으로는 신뢰가 가장 큰 자산이 될 것입니다.

저녁에 샤워를 하고 있을 때였습니다.  세수를 위해 폼클렌저를 집는데, "나노버블"이라는 단어가 갑자기 눈에 띄었습니다. 그 때 머리속에 이런 질문이 떠올랐습니다 사람들이 나노버블의 의미를 이해하고 있을까? 이해한다면 얼마나 이해하고 있고 그 이해도는 얼마나 정확할까? 보통 우리가 문제를 해결할 때를 생각해보면 대부분의 문제는 초기 솔루션이 대부분의 문제는 해결합니다. 해결의

메일을 쓸 때 최소한의 양식을 갖추면 좋은 이유

Life

메일을 쓸 때 최소한의 양식을 갖추면 좋은 이유

육아휴직을 하면서 종종, 다양한 분들과 커피챗을 하게 됩니다. 이번에도 그렇게 커피챗 일정을 잡고 논의를 하는 중이었습니다. 저와 커피챗을 진행하신 분은 저를 좋게 봐주셨는지, 혹시 회사 입사 프로세스를 진행하실 생각이 있으실지 이야기를 주셨습니다. 그래서 가족과 이야기를 나눈 후 정중하게 메일을 써서 거절을 하였습니다. 그리고 받은 메일을 보았는데, 굉장히 당황스러웠습니다. 딱 세문장이었습니다.

끊임없이 교집합을 만들고자 하는 노력이 필요합니다.

Life

끊임없이 교집합을 만들고자 하는 노력이 필요합니다.

휴직 중에, 가장 많은 시간을 투자하고 있는 활동은 바로 사람을 만나는 것입니다. 기존에 알고 있던 사람들을 만나면서 의사결정을 하는 과정과 근황에 대해서 이야기를 나누고 있습니다. 회사에서 다양한 문제를 해결해볼 수록, 느끼는 것은 결과물의 품질만큼이나, 왜 결과물을 이렇게 만들었는지에 대한 이야기 역시 중요하다 입니다. 이 과정에서 정말 어디서도 듣기 쉽지 않은