結合基於規則和機器學習的方法來建立強大的混合系統
經過這些年的發展,我們都確信ML即使不能表現得更好,至少也可以在幾乎所有地方與前ML時代的解決方案相匹配。比如說一些規則約束,我們都會想到能否把它們替換為基於樹的ml模型。但是世界並不總是黑白分明的,雖然機器學習在解決問題上肯定有自己的位置,但它並不總是最好的解決方案。基於規則的系統甚至可以勝過機器學習,特別是在可解釋性、健壯性和透明度至關重要的領域。
在本文中,我將介紹一些實際的案例,以及如何將手動規則和ML結合使得我們的方案變得更好。
基於規則的系統
基於規則的系統是透過預定義規則來為決策提供支持,系統根據儲存的規則評估數據,並根據映射執行特定操作。
以下是幾個例子:
詐欺偵測:在詐欺偵測中,基於規則的系統可用於根據預定義規則快速標記和調查可疑交易。
比如說國際象棋的作弊者,他們的基本作法是在另一個視窗中安裝電腦象棋應用程序,使用程式進行對弈,對於程式來說無論多複雜,每一步都需要4- 5 秒才能完成。所以加上「閾值」來計算玩家每一步的時間,如果在浮動不大就有可能被判斷為是作弊者,如下圖所示:
醫療保健產業:基於規則的系統可用於管理處方和防止用藥錯誤。它們還可以非常有用地幫助醫生根據先前的結果為患者開出額外的分析處方。
供應鏈管理:在供應鏈管理中,基於規則的系統可用於產生低庫存警報、協助管理到期日或新產品推出。
基於機器學習的系統
機器學習 (ML) 系統使用演算法從資料中學習並做出預測或採取行動,且無需明確編程。機器學習系統使用透過大量資料訓練所獲得的知識來對新資料進行預測和決策。隨著更多資料用於訓練,ML 演算法可以提高其效能。機器學習系統包括自然語言處理、影像和語音辨識、預測分析等。
詐欺偵測:銀行可能會使用機器學習系統從過去的詐騙交易中學習並即時識別潛在的詐騙活動。或者,它可能會對系統進行逆向工程並尋找看起來非常“異常”的交易。
醫療保健:醫院可能會使用 ML 系統來分析病患數據,並根據某些 X 光預測病患罹患某種疾病的可能性。
對比
基於規則的系統和ML系統都有各自的優點和缺點
基於規則的系統的優點很明顯:
- 易於理解並解釋
- 快速實作
- 易於修改
- 健壯的
缺點:
- 涉及大量變數的問題
- 約束條件多的問題
- 限於現有規則
- 自主學習系統
- 解決更複雜問題的能力
- 與基於規則的系統相比,減少了人為幹預,提高了效率
- 透過不斷學習,靈活地適應數據和環境的變化
- 需要的數據,有時很多
- 僅限於先前看到的資料ML
- 認知能力有限
硬編碼規則可以用作特徵工程過程的一部分,以識別和提取輸入資料中的重要特徵。例如,如果問題領域清晰明確,規則可以輕鬆且準確地定義,硬編碼規則可以用來創建新特徵或修改現有特徵,以提高機器學習模型的效能。雖然硬編碼規則和特徵工程是兩種不同的技術,但它們可以結合使用以提高機器學習模型的性能。硬編碼規則可以用於創建新特徵或修改現有特徵,而特徵工程可以用於提取不易透過硬編碼規則捕獲的特徵。
後處理:四捨五入或歸一化最終結果。
硬編碼規則可以作為後處理階段的一部分來修改機器學習模型的輸出。例如,如果機器學習模型輸出一組預測結果與某些已知規則或限制條件不一致,硬編碼規則可以用來修改預測結果,使其符合規則或限制條件。例如過濾或平滑等後處理技術可以透過消除雜訊或錯誤,或提高預測的整體準確性來精細機器學習模型的輸出。當機器學習模型輸出機率預測或輸入資料存在不確定性時,這些技術尤其有效。在某些情況下,後處理技術也可以用於使用額外資訊增強輸入資料。例如,如果機器學習模型是在有限資料集上訓練的,後處理技術可以用來從外部來源(如社交媒體或新聞提要)中提取額外的特徵,以提高預測的準確性。
案例
醫療保健
讓我們來看看心臟病的數據:
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))
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
y_pred[X_test[X_test["thal"] == 2].index] = 1
登入後複製
結果的混淆矩陣變成這樣:y_pred[X_test[X_test["thal"] == 2].index] = 1
f1_score(y_test, y_pred): 0.818 recall_score(y_test, y_pred): 0.9
df["Class"].value_counts() 0 28431 1 4925
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)
登入後複製我們可以比較純基於規則的系統和kNN方法的結果,這裡使用kNN的原因是,它可以處理不平衡資料:
##############可以看到,我們只寫了3個規則,就比KNN模型的表現好######總結######我們這裡的例子可能並不非常的確切,但是它足以說明,混合模型提供了實際的好處,例如快速實施、對異常值的穩健性和增加的透明度。在將業務邏輯與機器學習結合時,它們是有益的。例如,醫療保健中的混合規則-ML 系統可以透過結合臨床規則和分析患者資料的機器學習演算法來診斷疾病。機器學習能夠在許多任務上取得出色的結果,但是它也需要領域知識的補充。領域知識可以幫助機器學習模型更好地理解數據,並更準確地進行預測和分類。 ###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)
混合模型可以幫助我們將領域知識和機器學習模型結合起來。混合模型通常由多個子模型組成,其中每個子模型都針對特定的領域知識進行了最佳化。這些子模型可以是基於硬編碼規則的模型,也可以是基於統計方法的模型,甚至可以是基於深度學習的模型。
混合模型可以利用領域知識來指導機器學習模型的學習過程,從而提高模型的準確性和可靠性。例如,在醫學領域中,混合模型可以結合醫生的專業知識和機器學習模型的能力,以診斷患者的疾病。在自然語言處理領域,混合模型可以結合語言學知識和機器學習模型的能力,以便更好地理解和產生自然語言。
總之,混合模型可以幫助我們將領域知識和機器學習模型結合起來,從而提高模型的準確性和可靠性,並且在各種任務中都有廣泛的應用。
以上是結合基於規則和機器學習的方法來建立強大的混合系統的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

在機器學習和資料科學領域,模型的可解釋性一直是研究者和實踐者關注的焦點。隨著深度學習和整合方法等複雜模型的廣泛應用,理解模型的決策過程變得尤為重要。可解釋人工智慧(ExplainableAI|XAI)透過提高模型的透明度,幫助建立對機器學習模型的信任和信心。提高模型的透明度可以透過多種複雜模型的廣泛應用等方法來實現,以及用於解釋模型的決策過程。這些方法包括特徵重要性分析、模型預測區間估計、局部可解釋性演算法等。特徵重要性分析可以透過評估模型對輸入特徵的影響程度來解釋模型的決策過程。模型預測區間估計

通俗來說,機器學習模型是一種數學函數,它能夠將輸入資料映射到預測輸出。更具體地說,機器學習模型是一種透過學習訓練數據,來調整模型參數,以最小化預測輸出與真實標籤之間的誤差的數學函數。在機器學習中存在多種模型,例如邏輯迴歸模型、決策樹模型、支援向量機模型等,每種模型都有其適用的資料類型和問題類型。同時,不同模型之間存在著許多共通性,或者說有一條隱藏的模型演化的路徑。將聯結主義的感知機為例,透過增加感知機的隱藏層數量,我們可以將其轉化為深度神經網路。而對感知機加入核函數的話就可以轉換為SVM。這一

本文將介紹如何透過學習曲線來有效辨識機器學習模型中的過度擬合和欠擬合。欠擬合和過擬合1、過擬合如果一個模型對資料進行了過度訓練,以至於它從中學習了噪聲,那麼這個模型就被稱為過擬合。過度擬合模型非常完美地學習了每一個例子,所以它會錯誤地分類一個看不見的/新的例子。對於一個過度擬合的模型,我們會得到一個完美/接近完美的訓練集分數和一個糟糕的驗證集/測試分數。略有修改:"過擬合的原因:用一個複雜的模型來解決一個簡單的問題,從資料中提取雜訊。因為小資料集作為訓練集可能無法代表所有資料的正確表示。"2、欠擬合如

1950年代,人工智慧(AI)誕生。當時研究人員發現機器可以執行類似人類的任務,例如思考。後來,在1960年代,美國國防部資助了人工智慧,並建立了實驗室進行進一步開發。研究人員發現人工智慧在許多領域都有用武之地,例如太空探索和極端環境中的生存。太空探索是對宇宙的研究,宇宙涵蓋了地球以外的整個宇宙空間。太空被歸類為極端環境,因為它的條件與地球不同。要在太空中生存,必須考慮許多因素,並採取預防措施。科學家和研究人員認為,探索太空並了解一切事物的現狀有助於理解宇宙的運作方式,並為潛在的環境危機

C++中機器學習演算法面臨的常見挑戰包括記憶體管理、多執行緒、效能最佳化和可維護性。解決方案包括使用智慧指標、現代線程庫、SIMD指令和第三方庫,並遵循程式碼風格指南和使用自動化工具。實作案例展示如何利用Eigen函式庫實現線性迴歸演算法,有效地管理記憶體和使用高效能矩陣操作。

譯者|李睿審校|重樓人工智慧(AI)和機器學習(ML)模型如今變得越來越複雜,這些模型產生的產出是黑盒子-無法向利害關係人解釋。可解釋性人工智慧(XAI)致力於透過讓利害關係人理解這些模型的工作方式來解決這個問題,確保他們理解這些模型實際上是如何做出決策的,並確保人工智慧系統中的透明度、信任度和問責制來解決這個問題。本文探討了各種可解釋性人工智慧(XAI)技術,以闡明它們的基本原理。可解釋性人工智慧至關重要的幾個原因信任度和透明度:為了讓人工智慧系統被廣泛接受和信任,使用者需要了解決策是如何做出的

MetaFAIR聯合哈佛優化大規模機器學習時所產生的資料偏差,提供了新的研究架構。據所周知,大語言模型的訓練常常需要數月的時間,使用數百甚至上千個GPU。以LLaMA270B模型為例,其訓練總共需要1,720,320個GPU小時。由於這些工作負載的規模和複雜性,導致訓練大模型存在著獨特的系統性挑戰。最近,許多機構在訓練SOTA生成式AI模型時報告了訓練過程中的不穩定情況,它們通常以損失尖峰的形式出現,例如Google的PaLM模型訓練過程中出現了多達20次的損失尖峰。數值偏差是造成這種訓練不準確性的根因,

機器學習是人工智慧的重要分支,它賦予電腦從數據中學習的能力,並能夠在無需明確編程的情況下改進自身能力。機器學習在各個領域都有廣泛的應用,從影像辨識和自然語言處理到推薦系統和詐欺偵測,它正在改變我們的生活方式。機器學習領域存在著多種不同的方法和理論,其中最具影響力的五種方法被稱為「機器學習五大派」。這五大派分別為符號派、聯結派、進化派、貝葉斯派和類推學派。 1.符號學派符號學(Symbolism),又稱符號主義,強調利用符號進行邏輯推理和表達知識。該學派認為學習是一種逆向演繹的過程,透過現有的
