
PyMC 라이브러리를 활용한 베이지안 분석
PyMC and Bayesian 이번 글에서는 Python에서 MCMC 기반의 베이지안 분석을 할 수 있도록 고안된 PyMC 라이브러리를 소개해보도록 하겠습니다. PyMC에서는 비교적 간단한 MCMC부터, Bayesian neural network BNN 까지 폭넓은 분석을 진행할 수 있습니다. 여기서는 선형회귀모형과 로지스틱 회귀모형, 그리고 BNN을 활용한 분류를 다루어보도록 하겠습...
Tag
Posts collected under Python.

PyMC and Bayesian 이번 글에서는 Python에서 MCMC 기반의 베이지안 분석을 할 수 있도록 고안된 PyMC 라이브러리를 소개해보도록 하겠습니다. PyMC에서는 비교적 간단한 MCMC부터, Bayesian neural network BNN 까지 폭넓은 분석을 진행할 수 있습니다. 여기서는 선형회귀모형과 로지스틱 회귀모형, 그리고 BNN을 활용한 분류를 다루어보도록 하겠습...

이번 글에서는 Point Process 데이터를 분석하는 방법에 대해 Pysal 패키지와 예제 데이터를 바탕으로 살펴보도록 하겠다. 이전에 정리본을 영어로 업로드해두어, 간단한 정의에 대해 먼저 다시 살펴보고, Python을 활용해 intensity meausre와 같은 point process 데이터의 주요 특징을 어떻게 분석하는지 다루어보도록 하겠다. Point Process Def...

Optimal Transport Optimal Transport는 하나의 확률분포를 다른 확률분포로 옮기는데 필요한 비용을 계산하는 문제라고 생각하면 된다. 즉, 두 확률분포 간의 거리를 측정하는 것이 주요 목적이다. 이러한 문제는 다양한 분야에서 활용되는데, 예를 들어 이미지 처리에서는 두 이미지 간의 색상 분포를 매핑하는데 사용할 수 있다. 이번 포스트에서는 Optimal Trans...

Hidden Markov Model 은닉 마코프 모형 Hidden Markov Model, HMM 이란 message passing algorithm(or belief propagation algorithm)의 일종이다. 여기서 message passing이란, 그래프 구조에서 각 노드가 다음 노드로 정보를 전달하며 어떤 결론을 도출하는 과정을 의미하는데, 전달되는 정보는 확률분포 형태...

본 포스트는 서울대학교 M2480.001200 인공지능을 위한 이론과 모델링 강의노트를 간단히 재구성한 것입니다. Bayesian Network Bayesian network는 아래 예시와 같은 방향성 비순환 그래프(Directed Acyclic graph)를 의미합니다. 각 노드는 확률변수에 대응되는데, (위 예시는 PGM의 유명한 예제인 student network입니다) 각각의 확...

Jupyter Notebook Pdf 변환하기 Jupyter Notebook으로 강의자료를 만들고 pdf 변환을 시도하던 중, 여러 문제들이 있어 해결하고 각각의 해결 방안을 공유하고자 한다. Jupyter Notebook을 아나콘다(miniforge3) 환경에서 사용하기 때문에, 각자 로컬환경에 따라 유동적으로 경로나 이름 등을 확인하면 될 것 같다. Jupyter > Latex >...

Graph Clustering Graph Clustering Graph Clustering(혹은 community recovery)란, 위 그림과 같이 그래프의 노드들을 서로 다른 커뮤니티(그룹)으로 나누는 방법론을 의미한다. 특히 소셜 미디어의 발달로 인해 최근 들어 개인간 연결성이 강조되며, SNA(social network analysis) 영역에서 주로 연구되는 방법론이며, 컴퓨...

따릉이 데이터 분석하기 (7) - AutoML 이번 게시글을 끝으로 데이콘의 따릉이 데이터 분석 관련 포스팅을 마치고자 한다. 마지막 내용은 AutoML을 다룰 것인데, AutoML이란 이전에 살펴본 여러 종류의 모델들을 선택하고, hyperparameter들을 최적화하는 일련의 모든 과정들을 자동화하는 방법을 총칭하는 단어이다. 사실 최근 비즈니스 실무 영역에서는 AutoML이 대세로...

따릉이 데이터 분석하기 (6) Support Vector Machine 이번 글에서는 대표적인 머신러닝 모델인 SVM(Support Vector Machine)을 이용해 따릉이 이용 데이터의 분석을 진행해보도록 하자. 본래 SVM은 classification의 목적을 위해 고안된 기법으로, 데이터들의 레이블을 분류하는 기준이 되는 초평면을 찾아내는 과정이다. 그런데 이 과정의 아이디어를...

따릉이 데이터 분석하기 (5) Tree 이번에는 Tree 관련 모델들로 주어진 데이터셋을 훈련시켜보고 이를 검증해보도록 하자. 저번 Transformation 데이터 분석 과정과 마찬가지로 scikit-learn의 Pipeline을 이용해 데이터 전처리부터 모델링까지의 파이프라인을 구성해보도록 하겠다. Data Load와 Preprocessing 관련 코드 및 자세한 설명은 시리즈의 이...

따릉이 데이터 분석하기 (3) Modified Linear Methods 이번 글에서는 Linear regression을 계속 다룰 것인데, 그중에서도 regularization method나 spline regression과 같은 변형된 방법들을 다루어보고자 한다(역시 Regression 문제가 Linear Model로 다루기 최적인듯 하다🤣). 우선 Lasso, Ridge 등을 포...

따릉이 데이터 분석하기 (4) Transformation 이번에는 PCA를 비롯해 예측변수의 데이터셋을 변환시키는 transformation 여러 가지 방법들에 대해 다루어보도록 하겠다. 대표적으로 PCA는 기본적인 회귀문제에 응용되어 PCR로 사용되거나, 고차원 문제의 차원 축소 기법으로 필수적인 역할을 한다. 여기서는 우선 PCA를 진행하고, 이 결과를 바탕으로 PCR을 진행하여 이...

따릉이 데이터 분석하기 (2) Linear Regression 먼저, 앞서 살펴본 따릉이 데이터셋을 이용해 가장 간단한 Linear Regression Model을 구현해보도록 하자. Python에는 statsmodels라는 패키지가 있는데, 이는 R에서 사용하는 형태로 통계분석을 가능하게 해주는 패키지이다(공식 문서 참고). 이를 이용해 선형모형을 만들고, 이를 개선시켜나가는 방법을...

따릉이 데이터 분석하기 (1) EDA 이번 시리즈는 공공데이터인 서울시 공유자전거 따릉이의 데이터를 이용한 small project를 진행해보고자 한다. 데이터를 비롯한 프로젝트의 내용은 데이콘의 내용을 바탕으로 진행했으며, 원래 주제는 데이터를 바탕으로 한 AI 모델을 개발하는 것이다. 하지만 여기서는 AI모델을 개발하기 전에, 회귀문제로 얼마나 높은 성능까지 끌어올릴 수 있는지를 먼...