반응형
Python의 scipy.stats 라이브러리는 통계에서 사용하는 확률 분포를 표현할 수 있습니다. 앞선 포스트(https://citizen.tistory.com/41)에서 가장 잘 알려진 6가지의 scipy 확률 분포 클래스를 소개드렸었죠. 베르누이 분포: bernoulli 이항 분포: binom 푸아송 분포: poisson 균일 분포: uniform 정규 분포: norm 지수 분포: expon 여기에 더해, scipy는 통계 모형에 대한 세밀한 분석을 위한 확률 질량 함수, 확률 밀도 함수와 같은 여러 통계 개념들을 메서드 형태로 제공합니다. cdf 누적 분포 함수 (Cumulative Distribution Function) ppf 누적 분포 함수의 역함수 (Probability Point Func..
확률과 통계는 데이터 사이언스의 기본 토대입니다. 나아가, 머신 러닝 그리고 인공지능의 바탕이 되는 원리들도 다른 게 아닌 통계학과 선형대수 이론들이죠. 언젠가 데이터를 다루거나 데이터 사이언스 분야의 논문들을 읽어야 할 때, 수 없이 많은 통계 기초 지식들이 요구될 것입니다. 앞으로 제가 작성하려고 하는 [데이터 사이언스 in Python] 포스트는 기초적인 확률/통계 개념 정리 노트와 이를 코드 상에서 시각화하고 테스트해볼 수 있는 Python 튜토리얼들이 수록될 예정입니다. Data Scientist 또는 유관 전공자를 희망하는 분들에게 많은 도움이 될 수 있도록, 저 역시 열심히 공부하고 배운 내용을 공유해보겠습니다. 1. 확률 변수(Random Variable) 확률을 따지는 목적은 불확실성, ..
볼츠만 머신(Boltzmann Machine)은 딥러닝이 한창 입에 오르내리기 전, 표현 학습(Representation Learning)의 선조격 역할을 한 확률 모형입니다. 이 확률 모델의 이름은 볼츠만 분포(Boltzmann Distribution)라는 열역학에서 주로 등장하는 개념에서 비롯되었습니다. 80년대 인공지능이 막 연구되는 시기, 머신러닝/딥러닝은 독자적인 분야라기보다 다른 이론학문들과 접목되는 사례가 꽤 있었습니다. 볼츠만 머신(Boltzmann Machine)이 그 중 하나이며, 당시 Terry Sejnowski 교수가 에너지/엔트로피 개념을 비지도학습과 융합하여 탄생시킨 결과물이기도 합니다. 그로부터 20년 정도 지난 2006년에 Geoffrey Hinton 교수는 볼츠만 머신을 한..
1. 개념 데이터 사이언스 분야에는 기존의 고차원 데이터를 이보다 더 작은 차원으로 축소하는 알고리즘이 존재합니다. 대표적으로 주성분분석(Principal component analysis; PCA)이 유명하고, 다소 생소하지만 이와 비슷한 개념을 가진 정준상관분석(Canonical correlation analysis; CCA)라는 기법도 있습니다. 주성분분석(PCA)이 하나의 독립변수 집합을 압축시키는 방법론이라면, 정준상관분석(CCA)은 최소 2개의 독립변수 집단의 상관관계를 파악하고 이 상관관계를 극대화하는 압축 표현을 찾는 기법입니다. 헬스케어 데이터를 예시로 좀 더 쉽게 접근해보자면 아래와 같은 표현이 가능할 것 같습니다. 주성분분석(PCA)는 건강 관련 데이터(혈압, 심박수, 체중, 콜레스테..
Tensorflow는 Google에서 개발한 딥러닝 모델을 개발하고 학습하는 프레임워크입니다. Tensorflow와 각종 딥러닝 라이브러리 (ex: matplotlib, numpy, scikit-learn)를 활용하기 위해선 Python 개발 환경이 준비되어야 하는데요. pip을 통해 필요한 패키지를 개별적으로 설치할 수도 있겠지만은, 최근에는 Anaconda 또는 Docker를 활용하여 딥러닝 환경을 빠르게 구축하고 개발을 용이하게 할 수 있습니다. 이번 포스트에서는 Docker 이미지를 통해 Tensorflow 환경을 구축하는 내용을 다루고자 합니다. Docker 설치 1. Docker Windows 배포판은 아래 주소에서 받을 수 있습니다. ▶▶ https://docs.docker.com/docke..