일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Comparisons
- Python 특징
- VSCode
- seaborn
- 정규분포 MLE
- boolean & fancy index
- 표집분포
- 카테고리분포 MLE
- Numpy
- Python
- 가능도
- BOXPLOT
- namedtuple
- Operation function
- python 문법
- groupby
- 부스트캠프 AI테크
- Array operations
- dtype
- scatter
- Python 유래
- 최대가능도 추정법
- linalg
- 딥러닝
- ndarray
- pivot table
- subplot
- type hints
- Numpy data I/O
- unstack
- Today
- Total
목록분류 전체보기 (160)
또르르's 개발 Story

PyTorch는 Python을 위한 오픈소스 머신러닝 라이브러리입니다. 페이스북에서 개발했고, 다양한 Deep Learning 함수와 모델을 지원합니다. 1️⃣ PyTorch 개요 PyTorch는 머신러닝 라이브러리로써, 3가지의 장점을 가지고 있습니다. Numpy + AutoGrad + Function Numpy : Numpy 구조를 가지는 Tensor 객체로 array 연산이 가능 AutoGrad : 자동 미분을 지원하여 Deep Learning 연산을 지원 Function : 다양한 형태의 Deep Learning을 지원하는 함수와 모델 지원 그렇다면 PyTorch는 다른 프레임워크와 다른 점은 무엇일까요? 가장 큰 특징은 맨 마지막에 있는 Computational graphs used입니다. 딥러..

딥러닝은 인공지능(Artificial Inteligence)의 한 분야입니다. 딥러닝의 가장 큰 특징은 연속된 층(layer)을 겹겹이 쌓아 올린 신경망(Neural networks)을 사용해서 학습 방법입니다. 딥러닝를 구성하는 Key Components를 뽑으라면 4가지를 뽑을 수 있습니다. Data : Model이 학습할 수 있는 기반 Model : Data를 변환하는 방법 Loss Function : Model과 Data의 실제 출력값 차이 Optimization Algorithm : Loss를 최소화시키는 Parameter들을 찾아서 조정 1️⃣ 딥러닝의 발전 1) AlexNet (2012) - CNN 기반의 알고리즘 - 2012 ILSVRC(ImageNet Large Scale Visual R..

1️⃣ 조건부 확률과 베이즈 정리 조건부 확률 $P(A|B)$는 사건 B가 일어난 상황에서 사건 A가 발생할 확률을 의미합니다. $$P(A|B) = \frac {P(A \cap B)} {P(B)}$$ 따라서 아래와 같이 표현도 가능합니다. 만약 $P(B|A)$ 즉, 사건 A가 일어난 상황에서 사건 B가 발생할 확률을 구하고 싶다면, 베이즈 정리를 이용하면 됩니다. 이 식을 베이즈 통계학에 적용하면 아래와 같이 표현이 가능합니다. 베이즈 통계학에서 $P(\theta|D)$의 의미는 데이터가 주어져있을 때 모수 $\theta$가 성립할 확률을 의미합니다. 사후확률(posterior) : 데이터가 관찰된 이후에 측정을 하는 확률 사전확률(prior) : $\theta$에 대한 모델링을 하기 이전(데이터가 주어..

딥러닝에서는 데이터를 받아들여 통계적 모델을 만들고 결과값을 추정합니다. 따라서 통계적 모델링은 적절한 가정 위에서 확률분포를 추정(inference)하는 것이 목표이며, 기계학습이 추구하는 목표입니다. 그러나 유한한 개수의 데이터만 관찰해서 모집단의 분포를 정확하게 알아낼 수 없습니다. 데이터가 무작위로 들어오면 이 데이터들이 어떠한 분포를 가졌는지 유추할 수 없으며, 근사적으로 확률분포를 추정할 수 밖에 없습니다. 그래서 예측모형의 목적은 분포를 정확히 맞추는 것보다 위험을 최소화하는 것에 가깝습니다. 1️⃣ 확률분포 가정하기 확률분포를 가정하는 방법은 우선 히스토그램을 통해 모양을 관찰합니다. 데이터가 2개의 값(0 또는 1)만 가지는 경우 => 베르누이 분포 데이터가 n개의 이산적인 값을 가지는 ..

Python에는 다양하게 시각화를 할 수 있는 모듈들이 있습니다. 대표적으로 matplotlib와 seaborn이 있는데요. 두 가지 시각화 모듈에 대해 알아보겠습니다. 1️⃣ Matplotlib matplotlib는 python의 대표적인 시각화 도구입니다. 거의 표준 라이브러리로 사용되는데요. matplotlib의 장점은 다양한 graph를 지원해주고, pandas와 연동이 가능합니다. 1) pyplot 객체 matplotlib는 pyplot 객체를 사용해서 데이터를 표시합니다. pyplot 객체에 그래프들을 쌓은 다음 flush를 합니다. import matplotlib.pyplot as plt X = range(100) Y = [value**2 for value in X] plt.plot(X, Y..

딥러닝은 확률론 기반의 기계학습 이론에 바탕을 두고 있습니다. 기계학습에서 사용되는 손실함수(loss function)들의 작동 원리는 데이터 공간을 통계적으로 해석해서 유도하게 됩니다. 즉, 예측이 틀릴 위험(risk)을 최소화하도록 데이터를 학습하는 원리는 통계적 기계학습의 원리입니다. 예를 들어, 회귀 분석에서 손실함수로 사용되는 $L_{2}$-노름은 예측 오차의 분산을 가장 최소화하는 방향으로 학습하도록 유도합니다. 분류 문제에서 사용되는 교차 엔트로피(cross-entropy)는 모델 예측의 불확실성을 최소화하는 방향으로 학습하도록 유도합니다. 따라서 딥러닝에서 확률론은 중요하며, 꼭 집고 넘어가야하는 부분입니다. 1️⃣ 확률 변수 확률변수는 확률 공간에서 일어나는 확률 현상을 기인해 확률적으로..

[08] Python pandas (1) Pandas는 panel data의 줄임말로 파이썬의 데이터 처리의 사실상 표준인 라이브러리입니다. Python의 pandas는 통계 프로그램인 R하고 비슷하다는 소리를 많이 듣는데요. pandas의 객체 생성과 함수들을 dororo21.tistory.com 위 글에 이어서 groupby, pivot, merge, concat과 같은 명령어를 정리해보겠습니다. 1️⃣ Groupby (1) Groupby는 Series나 Data frame을 split(자르고)하고 Apply(함수 적용)하고 combine(합치는) 역할을 한 번에 수행합니다. 즉, 어떠한 column으로 묶어서 sum, std와 같은 함수를 적용한 후 보여주는 함수입니다. 1) groupby 구조 위..

오늘은 신경망을 수학적으로 분해해보는 시간을 가졌습니다. 1️⃣ 신경망(neural network) 신경망(neural network)은 기계학습에서 생물학의 신경망에서 영감을 얻은 통계학적 학습 알고리즘입니다. 신경망은 수많은 데이터를 분석해서 만들어지는 학습 알고리즘이며, 따라서 선형 모델로 만들기에는 너무 많은 예외와 변수가 존재해 무리가 있습니다. 따라서 신경망은 비선형모델이며 아래 그림과 같이 행렬곱으로 이루어집니다. 신경망의 구성요소는 아래와 같습니다. O 행렬 : Output 행렬 X 행렬 : Input(데이터) 행렬 W 행렬 : 가중치 행렬 b 벡터 : 절편 (bias) 벡터 (각 행들이 같은 값을 가지고 있음) 즉, 각 행벡터 $o_{i}$는 데이터 $X_{i}$와 가중치 행렬 $W$ 사..

Pandas는 panel data의 줄임말로 파이썬의 데이터 처리의 사실상 표준인 라이브러리입니다. Python의 pandas는 통계 프로그램인 R하고 비슷하다는 소리를 많이 듣는데요. pandas의 객체 생성과 함수들을 정리해보았습니다. 1️⃣ Pandas 개요 1) Pandas 특징 구조화된 데이터 처리를 지원하는 Python 라이브러리 Numpy와 통합하여 ndarray를 사용할 수 있고, 강력한 "스프레드시트" 처리 기능 제공 인덱싱, 연산용 함수, 전처리 함수 등 제공 데이터 처리 및 통계 분석을 위해 사용 2) 스프레드시트 구성요소 Data table, Sample : Data Frame 표 전체를 말함 attribute, field, feature, column : 열(column)의 이름을..

경사하강법은 1차원, 2차원.. 다차원의 그래프에서 최솟값(극소값)을 찾아가는 방법을 말합니다. 아래 그림과 같이 다차원의 그래프에서 가장 오목하게 들어간 부분(최솟값)을 찾아가는 과정이라는 것이죠. 경사하강법을 정리하게 전에 미분부터 알아야 합니다. 1️⃣ 미분(Differentiation) 미분(differentiation)은 변수의 움직임(그래프)에 따른 함수값의 변화(기울기)를 측정하기 위한 도구로 수학에서 정의합니다. 미분은 $f^{'}$으로 표시하며 아래 식으로 표현됩니다. 다항식의 경우, 아래와 같이 표현할 수 있습니다. $$ f(x) = x^2 + 2x +3$$ 미분 공식을 사용하게 되면 아래 다항식으로 변경됩니다. $$f^{'}(x) = 2x + 2$$ Python에서는 sympy 모듈을..