Programmers人工知能Defcos-Week 5日間5-Probability
11103 ワード
😃[5週-Day 5]😃
かくりつぶんぷ
[離散確率分布]
みつどすいてい
解決すべき最大の問題は密度推定である.N個の観察データx 1,...,分布関数p(x)は、xnが与えられたときに検索される.確率分布を完璧に求めることができれば、すべての問題を解くことができます.これは最も普遍的な問題だ.
一般的な方法は次のとおりです.
確率密度を求める場合,p(x)をパラメトリック分布と仮定する.回帰問題は主にp(t|x)を検索し,分類問題は主にp(C|x)を検索する.
この分布のパラメータを見つけるには、周波数注意とベイズメソッドを使用します.周波数注意法はlikedを最適化することによってパラメータ値を決定する.
ベイズ法はパラメータの先行確率を仮定し,ベイズ規則に基づいてパラメータの先行確率を求める方法である.これを使用してパラメータが見つかった場合、tまたはCを予測できます.
二重プリ分布はプリ確率の関数形式をポスト確率と同じにする.
二項変数-周波数注意方法
xが0または1、またはそのいずれかの値であると仮定します.
これは単純な確率にすぎないが,パラメータで表すことができる.
2つの確率のみの場合,出現1の確率をMUにパラメータ化し,出現0の確率は1−MUの値とする.
任意のx値が与えられた場合、Bernui分布で表され、MUのx乗と1−MUの1−x乗の積で表される.
これは不確実性をうまく表現することができず,それに一致する結果を生じる可能性がある.
この変数-ベイズメソッド
上記のエラーではbaginメソッドを使用できます.
もう1つの言い方は、M回観察イベントN回で結果x全体が1となる確率を定義することである.
mは0〜Nの値を有することができる.これは二項分布です.
前に見たヴァンヌーイ分布と二項分布は,データを表示する別の二つの観点と言える.
ベルヌーイの試みは毎回繰り返されていると言える.これらはそれぞれ確率変数です.複数の確率変数.
xが1の場合について何度観察したかの物語は二項分布である.確率変数があります.
ベージュスキームを使用するには、パラメータの確率を事前に決定する必要があります.重要なのは,後確率と前確率を同じ関数形式にすることである.
Beta分布を用いてBezier法で問題を解決し,Beta分布を二重プレ分布として用いた.
β分布はミューの分布についてである.元はパラメトリックMUだったが今はMUの分布このmuは、別のパラメータa,bによって定義される.
ここではガンマ関数を用い,ガンマ関数はうっかり拡張継承(factorial)の関数である.
このガンマ関数は
上の性質を満たすから(n-1)!満たす性質.
β分布では,a値が大きいほどミューの値は0.5より大きい側に形成され,逆も同様である.a値bの値がいずれも1の場合、β分布は直線的に現れる.
また、bとの差が大きいほど、右側の表示が鮮明になる.
β分布が標準化されていることも実証した.
(積分全体値は1==正規化)
https://m.blog.naver.com/mykepzzang/220843077734においてβ分布の基数と超差を実証した.
複数の変数の期待値と尤度を検索したり、推定したりできます.
多項式分布も求められ,すべてのmkが加算されるとNとなる.
二重プレ分布は、滴下分布を用いて行うことができる.β分布の一般化とみられる.
ディリクレイ分布は標準化されており、その証明も見つけることができます.ポイントの場合は1の性質です
普通の場合でもそうです.帰納法で証明できる.
JUPYTER NOTEBOOK
Uniform Distribution
from scipy.stats import uniform
n = 10000
start = 10
width = 20
data_uniform = uniform.rvs(size=n, loc = start, scale=width)
ax = sns.distplot(data_uniform,
bins=100,
kde=True,
color='skyblue',
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Uniform Distribution ', ylabel='Frequency')
Bernoulli Distribution
from scipy.stats import bernoulli
data_bern = bernoulli.rvs(size=10000,p=0.8) # mu == p
# 빈도를 절반으로 하고 싶으면, p를 0.5으로 세팅하면 됩니다.
np.unique(data_bern, return_counts=True)
ax= sns.distplot(data_bern,
kde=False,
color="skyblue",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Bernoulli Distribution', ylabel='Frequency')
Beta Distribution
from scipy.stats import beta
a, b = 0.1, 0.1
data_beta = beta.rvs(a, b, size=10000)
ax= sns.distplot(data_beta,
kde=False,
color="skyblue",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Beta Distribution', ylabel='Frequency')
Multinomial Distribution
from scipy.stats import multinomial
data_multinomial = multinomial.rvs(n=1,
p=[0.2, 0.1, 0.3, 0.4], size=10000)
data_multinomial[:50]
for i in range(4):
print(np.unique(data_multinomial[:,i], return_counts=True))
Reference
この問題について(Programmers人工知能Defcos-Week 5日間5-Probability), 我々は、より多くの情報をここで見つけました
https://velog.io/@donchanee/Week-5-Day-5-Probability
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
from scipy.stats import uniform
n = 10000
start = 10
width = 20
data_uniform = uniform.rvs(size=n, loc = start, scale=width)
ax = sns.distplot(data_uniform,
bins=100,
kde=True,
color='skyblue',
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Uniform Distribution ', ylabel='Frequency')
from scipy.stats import bernoulli
data_bern = bernoulli.rvs(size=10000,p=0.8) # mu == p
# 빈도를 절반으로 하고 싶으면, p를 0.5으로 세팅하면 됩니다.
np.unique(data_bern, return_counts=True)
ax= sns.distplot(data_bern,
kde=False,
color="skyblue",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Bernoulli Distribution', ylabel='Frequency')
from scipy.stats import beta
a, b = 0.1, 0.1
data_beta = beta.rvs(a, b, size=10000)
ax= sns.distplot(data_beta,
kde=False,
color="skyblue",
hist_kws={"linewidth": 15,'alpha':1})
ax.set(xlabel='Beta Distribution', ylabel='Frequency')
from scipy.stats import multinomial
data_multinomial = multinomial.rvs(n=1,
p=[0.2, 0.1, 0.3, 0.4], size=10000)
data_multinomial[:50]
for i in range(4):
print(np.unique(data_multinomial[:,i], return_counts=True))
Reference
この問題について(Programmers人工知能Defcos-Week 5日間5-Probability), 我々は、より多くの情報をここで見つけました https://velog.io/@donchanee/Week-5-Day-5-Probabilityテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol