自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

結(jié)合基于規(guī)則和機(jī)器學(xué)習(xí)的方法構(gòu)建強(qiáng)大的混合系統(tǒng)

人工智能 機(jī)器學(xué)習(xí)
經(jīng)過這些年的發(fā)展,我們都確信ML即使不能表現(xiàn)得更好,至少也可以在幾乎所有地方與前ML時代的解決方案相匹配。

經(jīng)過這些年的發(fā)展,我們都確信ML即使不能表現(xiàn)得更好,至少也可以在幾乎所有地方與前ML時代的解決方案相匹配。比如說一些規(guī)則約束,我們都會想到能否把它們替換為基于樹的ml模型。但是世界并不總是黑白分明的,雖然機(jī)器學(xué)習(xí)在解決問題上肯定有自己的位置,但它并不總是最好的解決方案?;谝?guī)則的系統(tǒng)甚至可以勝過機(jī)器學(xué)習(xí),特別是在可解釋性、健壯性和透明度至關(guān)重要的領(lǐng)域。

在本文中,我將介紹一些實(shí)際的案例,以及如何將手動規(guī)則和ML結(jié)合使得我們的方案變得更好。

基于規(guī)則的系統(tǒng)

基于規(guī)則的系統(tǒng)是通過預(yù)定義規(guī)則來為決策提供支持,系統(tǒng)根據(jù)存儲的規(guī)則評估數(shù)據(jù),并根據(jù)映射執(zhí)行特定操作。

下面是幾個例子:

欺詐檢測:在欺詐檢測中,基于規(guī)則的系統(tǒng)可用于根據(jù)預(yù)定義規(guī)則快速標(biāo)記和調(diào)查可疑交易。

比如說國際象棋的作弊者,他們的的基本作法是在另一個窗口中安裝計(jì)算機(jī)象棋應(yīng)用程序,使用程序進(jìn)行對弈,對于程序來說無論多復(fù)雜,每一步都需要 4-5 秒才能完成。所以添加“閾值”來計(jì)算玩家每一步的時間,如果在浮動不大就有可能被判斷為是作弊者,如下圖所示:

圖片

醫(yī)療保健行業(yè):基于規(guī)則的系統(tǒng)可用于管理處方和防止用藥錯誤。它們還可以非常有用地幫助醫(yī)生根據(jù)先前的結(jié)果為患者開出額外的分析處方。

供應(yīng)鏈管理:在供應(yīng)鏈管理中,基于規(guī)則的系統(tǒng)可用于生成低庫存警報、幫助管理到期日期或新產(chǎn)品推出。

基于機(jī)器學(xué)習(xí)的系統(tǒng)

機(jī)器學(xué)習(xí) (ML) 系統(tǒng)使用算法從數(shù)據(jù)中學(xué)習(xí)并做出預(yù)測或采取行動,且無需明確編程。機(jī)器學(xué)習(xí)系統(tǒng)使用通過大量數(shù)據(jù)訓(xùn)練獲得的知識來對新數(shù)據(jù)進(jìn)行預(yù)測和決策。隨著更多數(shù)據(jù)用于訓(xùn)練,ML 算法可以提高其性能。機(jī)器學(xué)習(xí)系統(tǒng)包括自然語言處理、圖像和語音識別、預(yù)測分析等。

欺詐檢測:銀行可能會使用機(jī)器學(xué)習(xí)系統(tǒng)從過去的欺詐交易中學(xué)習(xí)并實(shí)時識別潛在的欺詐活動?;蛘撸赡軙ο到y(tǒng)進(jìn)行逆向工程并尋找看起來非?!爱惓!钡慕灰?。

醫(yī)療保健:醫(yī)院可能會使用 ML 系統(tǒng)來分析患者數(shù)據(jù),并根據(jù)某些 X 射線預(yù)測患者患某種疾病的可能性。

圖片

對比

基于規(guī)則的系統(tǒng)和ML系統(tǒng)都有各自的優(yōu)點(diǎn)和缺點(diǎn)

基于規(guī)則的系統(tǒng)的優(yōu)點(diǎn)很明顯:

  • 易于理解和解釋
  • 快速實(shí)現(xiàn)
  • 易于修改
  • 健壯的

缺點(diǎn):

  • 涉及大量變量的問題
  • 約束條件多的問題
  • 限于現(xiàn)有規(guī)則

基于ml的系統(tǒng)的優(yōu)點(diǎn)也很明顯

  • 自主學(xué)習(xí)系統(tǒng)
  • 解決更復(fù)雜問題的能力
  • 與基于規(guī)則的系統(tǒng)相比,減少了人為干預(yù),提高了效率
  • 通過不斷學(xué)習(xí),靈活地適應(yīng)數(shù)據(jù)和環(huán)境的變化

缺點(diǎn):

  • 需要的數(shù)據(jù),有時很多
  • 僅限于之前看到的數(shù)據(jù)ML
  • 認(rèn)知能力有限

通過對比我們發(fā)現(xiàn),這兩種系統(tǒng)的優(yōu)缺點(diǎn)并不沖突,并且是互補(bǔ)的,那么有沒有一種方法可以將他們的優(yōu)點(diǎn)結(jié)合起來呢?

混合型系統(tǒng)

圖片

混合系統(tǒng),結(jié)合了基于規(guī)則的系統(tǒng)和機(jī)器學(xué)習(xí)算法,最近變得越來越流行。它們可以提供更健壯、準(zhǔn)確和有效的結(jié)果,特別是在處理復(fù)雜問題時。

讓我們來看看可以使用租賃數(shù)據(jù)集實(shí)現(xiàn)的混合系統(tǒng):

圖片

特征工程:將樓層轉(zhuǎn)換為三個類別之一:高、中或低,具體取決于建筑物的樓層數(shù)。這樣可以提高M(jìn)L模型的效率

硬編碼規(guī)則可以用作特征工程過程的一部分,以識別和提取輸入數(shù)據(jù)中的重要特征。例如,如果問題領(lǐng)域清晰明確,規(guī)則可以很容易地而準(zhǔn)確地定義,硬編碼規(guī)則可以用來創(chuàng)建新特征或修改現(xiàn)有特征,以提高機(jī)器學(xué)習(xí)模型的性能。雖然硬編碼規(guī)則和特征工程是兩種不同的技術(shù),但它們可以結(jié)合使用以提高機(jī)器學(xué)習(xí)模型的性能。硬編碼規(guī)則可以用于創(chuàng)建新特征或修改現(xiàn)有特征,而特征工程可以用于提取不易通過硬編碼規(guī)則捕獲的特征。

后處理:四舍五入或歸一化最終結(jié)果。

硬編碼規(guī)則可以作為后處理階段的一部分來修改機(jī)器學(xué)習(xí)模型的輸出。例如,如果機(jī)器學(xué)習(xí)模型輸出一組預(yù)測結(jié)果與某些已知規(guī)則或約束條件不一致,硬編碼規(guī)則可以用來修改預(yù)測結(jié)果,使其符合規(guī)則或約束條件。比如過濾或平滑等后處理技術(shù)可以通過消除噪聲或錯誤,或提高預(yù)測的整體準(zhǔn)確性來精細(xì)機(jī)器學(xué)習(xí)模型的輸出。當(dāng)機(jī)器學(xué)習(xí)模型輸出概率預(yù)測或輸入數(shù)據(jù)存在不確定性時,這些技術(shù)尤其有效。在某些情況下,后處理技術(shù)也可以用于使用額外信息增強(qiáng)輸入數(shù)據(jù)。例如,如果機(jī)器學(xué)習(xí)模型是在有限數(shù)據(jù)集上訓(xùn)練的,后處理技術(shù)可以用來從外部來源(如社交媒體或新聞提要)中提取額外的特征,以提高預(yù)測的準(zhǔn)確性。

案例

醫(yī)療保健

讓我們來看看心臟病的數(shù)據(jù):

圖片

如果我們用隨機(jī)森林來預(yù)測目標(biāo)類:

clf = RandomForestClassifier(n_estimators=100, random_state=random_seed
X_train, X_test, y_train, y_test = train_test_split(
df.iloc[:, :-1], df.iloc[:, -1], test_size=0.30, random_state=random_seed
)
clf.fit(X_train, y_train))

這里選擇隨機(jī)森林的原因之一是它的構(gòu)建特征重要性能力。下面可以看到用于訓(xùn)練的特征的重要性:

圖片

看看結(jié)果:

y_pred = pd.Series(clf.predict(X_test), index=y_test.index
cm = confusion_matrix(y_test, y_pred, labels=clf.classes_)
conf_matrix = ConfusionMatrixDisplay(confusion_matrix=cm, display_labels=clf.classes_)
conf_matrix.plot())

圖片

f1_score(y_test, y_pred): 0.74
recall_score(y_test, y_pred): 0.747

這時一位心臟病專家看到了你的模型?;谒慕?jīng)驗(yàn)和領(lǐng)域知識,他認(rèn)為地中海貧血特征(thal)比上面所示的要重要得多。所以我們決定建立一個直方圖并查看結(jié)果。

圖片

然后指定一個強(qiáng)制性規(guī)則

y_pred[X_test[X_test["thal"] == 2].index] = 1

結(jié)果的混淆矩陣變成這樣:

圖片

f1_score(y_test, y_pred): 0.818
recall_score(y_test, y_pred): 0.9

結(jié)果有了很大的提升。這就是領(lǐng)域知識在評估患者得分方面發(fā)揮了重要作用。

欺詐交易

下面的數(shù)據(jù)集是銀行欺詐交易。

圖片

數(shù)據(jù)集高度不平衡:

df["Class"].value_counts()
0 28431
1 4925

為了創(chuàng)建規(guī)則,我們查看特征的分布箱線圖:

圖片

我們們要編寫一個自己的HybridEstimator類,他將作為我們手動規(guī)則的預(yù)估器:

from hulearn.classification import FunctionClassifier
rules = {
"V3": ("<=", -2),
"V12": ("<=", -3),
"V17": ("<=", -2),
}
def create_rules(data: pd.DataFrame, rules):
filtered_data = data.copy()
for col in rules:
filtered_data[col] = eval(f"filtered_data[col] {rules[col][0]} {rules[col][1]}")
result = np.array(filtered_data[list(rules.keys())].min(axis=1)).astype(int)
return result
hybrid_classifier = FunctionClassifier(create_rules, rules=rules)

我們可以比較純基于規(guī)則的系統(tǒng)和kNN方法的結(jié)果,這里使用kNN的原因是,它可以處理不平衡數(shù)據(jù):

圖片

可以看到,我們只寫了3個規(guī)則,就比KNN模型的表現(xiàn)好

總結(jié)

我們這里的例子可能并不非常的確切,但是它足以說明,混合模型提供了實(shí)際的好處,例如快速實(shí)施、對異常值的穩(wěn)健性和增加的透明度。在將業(yè)務(wù)邏輯與機(jī)器學(xué)習(xí)相結(jié)合時,它們是有益的。例如,醫(yī)療保健中的混合規(guī)則-ML 系統(tǒng)可以通過結(jié)合臨床規(guī)則和分析患者數(shù)據(jù)的機(jī)器學(xué)習(xí)算法來診斷疾病。機(jī)器學(xué)習(xí)能夠在很多任務(wù)上取得出色的結(jié)果,但是它也需要領(lǐng)域知識的補(bǔ)充。領(lǐng)域知識可以幫助機(jī)器學(xué)習(xí)模型更好地理解數(shù)據(jù),并更準(zhǔn)確地進(jìn)行預(yù)測和分類。

混合模型可以幫助我們將領(lǐng)域知識和機(jī)器學(xué)習(xí)模型結(jié)合起來。混合模型通常是由多個子模型組成,其中每個子模型都針對特定的領(lǐng)域知識進(jìn)行了優(yōu)化。這些子模型可以是基于硬編碼規(guī)則的模型,也可以是基于統(tǒng)計(jì)方法的模型,甚至可以是基于深度學(xué)習(xí)的模型。

混合模型可以利用領(lǐng)域知識來指導(dǎo)機(jī)器學(xué)習(xí)模型的學(xué)習(xí)過程,從而提高模型的準(zhǔn)確性和可靠性。例如,在醫(yī)學(xué)領(lǐng)域中,混合模型可以結(jié)合醫(yī)生的專業(yè)知識和機(jī)器學(xué)習(xí)模型的能力,以診斷患者的疾病。在自然語言處理領(lǐng)域,混合模型可以結(jié)合語言學(xué)知識和機(jī)器學(xué)習(xí)模型的能力,以更好地理解和生成自然語言。

總之,混合模型可以幫助我們將領(lǐng)域知識和機(jī)器學(xué)習(xí)模型結(jié)合起來,從而提高模型的準(zhǔn)確性和可靠性,并且在各種任務(wù)中都有廣泛的應(yīng)用。

責(zé)任編輯:華軒 來源: DeepHub IMBA
相關(guān)推薦

2021-02-24 09:15:48

kubernetes混合云云端

2023-08-08 09:00:00

開源Prometheus

2022-09-20 23:38:24

機(jī)器學(xué)習(xí)工具數(shù)字優(yōu)化

2012-10-30 10:09:56

Redis

2015-09-21 15:00:38

機(jī)器學(xué)習(xí)

2020-06-15 10:05:12

人工智能機(jī)器學(xué)習(xí)技術(shù)

2017-08-10 09:11:38

規(guī)則引擎構(gòu)建

2023-03-01 11:18:59

人工智能機(jī)器學(xué)習(xí)

2023-12-01 10:21:00

機(jī)器學(xué)習(xí)算法

2020-02-03 09:09:23

機(jī)器學(xué)習(xí)ML深度學(xué)習(xí)

2021-04-16 10:49:07

人工智能機(jī)器學(xué)習(xí)

2016-12-28 15:19:22

大數(shù)據(jù)機(jī)器學(xué)習(xí)銷售預(yù)測

2015-02-26 09:35:48

AWSOpenStack混合云

2010-07-06 11:34:15

EclipseRationalJazz

2017-02-05 21:02:44

大數(shù)據(jù)深度學(xué)習(xí)推薦系統(tǒng)

2022-10-21 16:07:10

編碼器自然語言模型

2015-07-22 16:16:47

PythonScikit-Lear機(jī)器學(xué)習(xí)

2018-08-30 14:58:12

機(jī)器學(xué)習(xí)磁盤故障

2017-02-16 08:25:35

2024-11-04 08:14:48

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號