Bongho, Lee

Bongho, Lee
대체불가능한 사람(부제 - 다시금 Why를 고민하다.)

Thought

대체불가능한 사람(부제 - 다시금 Why를 고민하다.)

나는 대체불가능한 사람인가? 아침에 아이를 돌보면서 문득 들었던 생각이다. 사내에서 하나의 사원번호로 관리되다가 퇴직하기 쉬운 세상에서 대체불가능한 사람이 되려면 어떻게 되어야 하는 것일까? 그 순간 떠오르는 대체불가능한 사람은 다음 두가지 유형에 속하는 사람이었다. 첫째, 말그대로 유니크(Unique)해서 대체불가능한 사람이었다. 대다수의 사람과 달리 구별되는 특징을 갖고 있으면 대체되기 어렵다고 생각하였다.

By Bongho, Lee
SeedFinder는 실험 전 편향을 제거하기 위한 방법 중 하나입니다.

Data

SeedFinder는 실험 전 편향을 제거하기 위한 방법 중 하나입니다.

SeedFinder * 편향을 최소화하기 위해 "SeedFinder" 방식에서 가장 적은 편향을 가진 SaltKey를 찾는 프로세스 * 기본적인 아이디어는 여러 SaltKey를 사용해 무작위화된 그룹을 생성하고, A/A 테스트에서 이 그룹들의 성과 지표(예: 전환율 등)가 균등한지 평가하여 편향이 적은 SaltKey를 선택하는 것입니다. 전체 프로세스 1. 여러 SaltKey를 생성 2. 각 SaltKey에

By Bongho, Lee
Chi-Square Test와 T-Test는 데이터 특성에 따라 선택하여 사용합니다.

Data

Chi-Square Test와 T-Test는 데이터 특성에 따라 선택하여 사용합니다.

Chi-Square Test가 A/B/C Test에서 사용되는 구체적인 경우 * 범주형 데이터 분석: 각 그룹에서 클릭하거나 전환된 사람의 수를 비교할 때, 이 데이터를 범주형 변수로 간주하고 Chi-Square Test를 적용할 수 있습니다. * 다중 그룹 비교: A/B/C 테스트에서 세 개 이상의 그룹을 비교해야 할 때, Chi-Square Test는 모든 그룹 간의 독립성을

By Bongho, Lee
OLS 기반 인과추론 시 오차항 관련 체크 필요 가정

OLS

OLS 기반 인과추론 시 오차항 관련 체크 필요 가정

배경 * 아래 글을 DANBI에서 보다가 더 알아보게 되었습니다. OLS를 떠받치는 몇 개의 기둥이 있는데 그중 실용적으로 가장 중요한 것이 일치성(consistency)다. 쉽게 말해서 OLS를 통해 도출된 추정량이 있을 때 샘플사이즈가 커지면서 이 값이 참 값으로 접근한다는 것이다. 일치성이 충족되면 우리는 적당하게 큰 표본에 대해서 추정치가 좋은 속성을 지니고 있다고

By Bongho, Lee
인공지능이 문제가 아니라 결국 사람이 문제가 될 것입니다.

AI

인공지능이 문제가 아니라 결국 사람이 문제가 될 것입니다.

사람들이 AI가 필요하다고 생각하는 시점 저 판사를 얼른 AI로 교체해야 한다. 유튜브에서 뉴스를 보다 보면 정말 많이 보이는 덧글입니다. 이러한 내용의 덧글이 달릴 때마다, 정말 많은 사람들이 공감을 표하곤 합니다. 왜 이렇게 사람들은 이러한 주장에 공감을 표하는 것일까? AI는 시킨대로 하기 때문에 공정하다는 인식 여러 이유가 있겠지만, 사람들은 아마 AI가

By Bongho, Lee
BG/NBD 모델은 고객 생애가치를 추정하는데 사용되는 확률 모델입니다.

Data

BG/NBD 모델은 고객 생애가치를 추정하는데 사용되는 확률 모델입니다.

1. BG/NBD 모델이란? * BG/NBD(Beta-Geometric/Negative Binomial Distribution) 모델은 **고객의 생애 가치(Customer Lifetime Value, CLV)**를 추정하는 데 사용되는 확률적 모델입니다. * 특히 고객이 반복 구매를 할지, 아니면 더 이상 활동하지 않을지를 추정하는 데 유용합니다. 이 모델은 고객의 구매 행태를 두 가지 중요한 개념으로 나눕니다: * 고객은 활성(active)

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

Data

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

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

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

Data

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

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

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

Data

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

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

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

Data

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

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

By Bongho, Lee
ML 코드 작성시 유의사항

Data

ML 코드 작성시 유의사항

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

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

Data

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

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

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

Data

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

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

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

Communication

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

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

By Bongho, Lee
Decorator를 활용한 Depreciated Function 관리 전략

Programming

Decorator를 활용한 Depreciated Function 관리 전략

Code import warnings import functools def deprecated(reason=None, alternative=None): """ Deprecated Function을 표시하는 데코레이터입니다. Args: reason (str, optional): 함수가 Deprecated 된 이유를 설명합니다. alternative (str, optional): 대체 함수나 방법을 안내합니다. """ def decorator(func): @functools.wraps(func) def wrapped(*args, **kwargs): message = f"

By Bongho, Lee
LangChain 활용해서 내 글스타일에 맞춰 글쓰는 LLM 구축하기 Ver0.1

Data

LangChain 활용해서 내 글스타일에 맞춰 글쓰는 LLM 구축하기 Ver0.1

목적 및 배경 * 매일 글을 쓰는 입장에서 보다 많은 글을 작성하기 위해서 1차로 글의 구조만 잡아주고, 나머지 내용은 LLM으로 채운 후 퇴고를 하는 형태를 시도해보려고 한다. Code 01. Obsidian에 있는 내 글을 모아서 전처리하기 import os import re import time import pickle def preProcessNote(file, path_dir): try: file_path

By Bongho, Lee