본문 바로가기

분류 전체보기

(108)
MLE / MAP 우도 : 모델 파라미에서 데이터가 발생할 확률 사전확률 : 모델 파라미터에 대한 사전지식, 여기서 모델 파라미터에 대한 확률분포를 그냥 정규분포라고 가정 사후확률 : 우도랑 반대로, 주어진 데이터에 대한 파라미터의 확률분포를 계산 MLE와 MAP는 주어진 데이터에 대한 모델의 파라미터를 추정하는 방법 중 하나입니다. 1. 최대 우도 추정 (MLE): MLE는 주어진 데이터가 가장 가능성이 높은 모델 파라미터를 찾는 것을 목표로 합니다. MLE는 다음과 같은 방법으로 작동합니다. 가정: 데이터는 독립적이며 동일한 확률 분포에서 생성되었다고 가정합니다. 모델은 매개 변수 θ를 사용하여 확률 분포를 정의합니다. MLE의 수식: 주어진 데이터 X에 대해 가능도(likelihood) L(θ|X)는 다음과 같이 정..
likelihood와 머신러닝 베이지안 통계 사전 확률(prior) : 어떤 사건에 대한 확률을 알기 전에 가지고 있는 초기확률 (초기추정) 사후 확률(posterior) : 데이터를 관찰한 후 계산되는 확률 (최종확률) 우리에게 필요한값 Prior, likelihood를 결합하여 어떤 사건이 일어났을 때의 최종 확률 likelihood(가능도, 우도) : 파라미터의 분포 p(θ)가 정해졌을 때 x라는 데이터가 관찰될 확률 (데이터와 모델간의 관계) 주어진 파라미터 분포에 대해서 우리가 갖고 있는 데이터가 얼마나 '그럴듯한지' 계산할수 있고, 이것을 나타내는 값. likelihodd가 높다는 것 ➞ 우리가 지정한 파라미터 조건에서 데이터가 관촬될 확률이 높다는 것, 데이터의 분포를 모델이 잘 표현하는 것 식 : p(X=x∣θ) pos..
Skit - learn으로 머신러닝 구현해 보기 설치 및 improt pip install scikit-learn 사이킷런 install 사이트 import sklearn print(sklearn._version_) skit - learn의 주요 메소드 Transformer() from sklearn.model_selection import train_test_split fit() predict() 데이터 표현법 skit - learn에서는 numpy의 Ndarray, pandas의 DataFrame, scipy의 Sparse Matrix로 데이터셋을 제공한다. skit - learn은 데이터를 보통 Feature matrix(특성 행렬)과 Target vector(타겟 벡터)로 나타냅니다. Feature matrix 입력 데이터를 의미 feature..
머신러닝 알고리즘 머신러닝 알고리즘이란 머신러닝 : 데이터로부터 자동으로 모델을 생성하는 방법 머신러닝 알고리즘 : 데이터 집합을 모델로 바꿔주는 알고리즘 대표적인 머신러닝 알고리즘 3가지 - 지도학습 (Supervised Learning) - 비지도학습 (Unsupervised Learning) - 강화학습 (Reinforcement Learning) 머신러닝에서 알고리즘은 가장 크게 지도와 비지도, 강화학습으로 나눌수 있다. 지도 학습은 정답이 포함된 문제를 학습데이터로 제공한다. 이와 반대로 비지도 학습은 정답이 없는 데이터를 제공해서 알고리즘이 스스로 데이터를 살펴보고 유의미한 결과를 도출하게 한다. 머신러닝 알고리즘은 우리가 구현하고자하는 용도에 따라 선택할 수 있고, 또 합쳐서 사용될 수도 있다. 어떤 알고리즘..
Regularization(정규화) Ridge vs Lasso Regularization(정규화) : 모델을 변형하여 과적합을 완화해 일반화 성능을 높여주기 위한 기법을 말한다. 위의 세가지 모델을 통해 under fitting(과소적합)된 모델과 over fitting(과적합)된 모델을 살펴보자. 첫번째 모델을 보면 train data와 예측값이 많이 차이가 나는 것을 볼수 있다. 이런 경우를 under fitting, high bias라고 한다. 이와 같은 모델은 train data를 잘 학습하지 못하였고 test data와 train data사이의 차이가 너무 크기 때문에 값을 잘 예측 할 수 없다. 세번째 모델은 train data의 모든 점들을 예측값이 전부 통과하는 것을 볼수 있다. 이런 경우를 over fitting, high vaiance라고 한다. ..
이미지 모델 다루기 MNIST데이터셋의 손글씨 데이터from sklearn.datasets import load_digitsdigits = load_digits()digits.keys()# 출력dict_keys(['data', 'target', 'frame', 'feature_names', 'target_names', 'images', 'DESCR'])load_digits() : Dictionary 자료형과 유사한 sklearn.utils.Bunch 자료형digits_data = digits.data# 데이터늬 shape 확인digits_data.shape# 출력(1797, 64)digits_data[0]# 출력224.625손글씨 데이터는 이미지 데이터입니다. 그래서 각 숙자는 픽셀값을 의미합니다. 길이 64의 숫자 배열은..
scikit-learn을 이용해 분류문제 해결하기 scikit-learn을 활용해보기 붓꽃 데이터를 사용 scikit-learn 머신러닝의 다양한 알고리즘과 편리한 프레임 워크를 제공하기 때문에 많이들 사용함. scikit-learn의 데이터셋 데이터 살펴보기 전체 데이터 150개 각 데이터는 sepal, petal 각각의 길이와 폭의 정보를 담고 있음 scikit-learn의 모듈 함수 모듈 import, 데이터 불러오기 from sklearn.datasets import load_iris iris = load_iris() pritn(iris) # 출력 ['DESCR', 'data', 'data_module', 'feature_names', 'filename', 'frame', ....] 데이터 정보 확인 # iris 데이터셋에 담긴 정보 종류 확인 ..
[파이썬] itertools count, 조합, 순열 사용방법 오늘은 파이썬의 표준 라이브러리중 하나인 itertools에 대해 알아보도록 하겠습니다. itertools는 코테에서도 많이 사용되는데요. 자주 사용되는 count와 조합, 순열 함수들 위주로 살펴보겠습니다. 파이썬 공식문서 더보기 iterator란? * 파이썬에서 반복 가능한 객체(Iterable)의 데이터를 순회하며, 차례대로 각 항목들에 접근할 수 있는 인터페이스를 제공하는 객체입니다. 반복가능한 객체란? * 파이썬에서 순회 가능한 객체를 말합니다. 이는 객체 내의 요소들을 순차적으로 하나씩 접근할 수 있는 객체를 의미합니다. *리스트, 퓨플, 셋, 사전, 문자열 for문과 itertator의 차이 * for 루프는 반복 작업을 수행하는 데 사용되는 문법적인 구조이고, 이터레이터는 데이터를 반복하는..