iT邦幫忙

2023 iThome 鐵人賽

DAY 19
0
AI & Data

ㄟ唉廚房交響樂 多智能的煮飯秀系列 第 19

Day19 Too_many_cooks Bayes' theorem

  • 分享至 

  • xImage
  •  

本來以為 cooking-gym 這個專案使用類神經網路的方法,結果看到論文名稱才知道是用 Bayesian Inference,早期蠻多使用 Bayesian,直到神經網路紅起來,不過它在數據不多的時候,表現依然很出色,我猜作者可能捨棄不用蒐集大量數據方法,用傳統的方法來做這個專案。不過 Bayesian Delegation 也是加了 Q function的部份,為了讓大家有點感覺,我們就先借用wiki的陳述與github上的方法,讓大家感受一下 Bayesian method。

Bayes' theorem

Bayes' theorem 是機率論中的一個定理,描述在已知一些條件下,某事件的發生機率。比如,如果已知某種健康問題與壽命有關,使用貝氏定理則可以通過得知某人年齡,來更加準確地計算出某人有某種健康問題的機率。

通常,事件A在事件B已發生的條件下發生的機率,與事件B在事件A已發生的條件下發生的機率是不一樣的。然而,這兩者是有確定的關係的,貝氏定理就是這種關係的陳述。貝氏公式的一個用途,即透過已知的三個機率而推出。

https://ithelp.ithome.com.tw/upload/images/20231003/20121110NkHzOUKEgc.png

簡而言之就是透過條件機率的定理,從事前機率去推事後機率。

Bayesian Classifier

雖然我們不會帶著大家看太深入的專案程式碼,不過這裡還是跑點 Bayesian inference的程式碼,讓大家感受一下,這邊我們用到普遍的鳶尾花數據集,用高斯模型做分類器。

from sklearn.naive_bayes import GaussianNB
from sklearn import datasets
from sklearn.model_selection import train_test_split
import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

iris=datasets.load_iris()
X=iris.data
y=iris.target

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

modelg=GaussianNB()
modelg.fit(X_train,y_train)
modelg.predict(X_test)

modelg.predict_proba(X_test)
print('Training Set Score:',modelg.score(X_train,y_train))
print('Test Set Score:',modelg.score(X_test,y_test))

參考

  1. 貝氏定理
  2. Bayesian Classifier

上一篇
Day18 Too_many_cooks 廚房做菜嗨起來
下一篇
Day20 Too many cooks 簡介
系列文
ㄟ唉廚房交響樂 多智能的煮飯秀30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言