成為AI產品經理——模型構建流程(下)

目錄

1.模型訓練

2.模型驗證

3.模型融合

4.模型部署


上節課我們講了模型設計、特征工程,這節課我們來講模型構建剩下的三個部分:模型訓練、模型驗證和模型融合。

1.模型訓練

模型訓練就是要不斷地訓練、驗證、調優直至讓模型達到最優。

那么怎么達到最優呢?就是要繪制一條比較好的決策邊界

決策邊界

就是在符合某種條件做出某種選擇的條件,根據這個條件可以將結果進行劃分。

比如說:下午6:00不寫完這篇博客我不吃飯,那么寫完了就去吃,沒寫完就不吃。這個條件就是我們說的決策邊界。

決策邊界分為:線性決策邊界和非線性決策邊界。下圖中,圖1為線性決策邊界,圖2、圖3為非線性決策邊界。

決策邊界曲線的平滑程度和算法訓練出來的模型能力息息相關。曲線越陡峭模型的測試精度越準確,但是越陡峭的曲線模型越不穩定。

所以為了找到好的決策邊界劃分結果,我們需要找到穩定性和準確率的平衡點。使用專業術語來講,我們就是需要找到泛化能力和擬合性能都好的平衡點。

通常,算法工程師會使用交叉驗證來找到模型參數的最優解。

總結:模型訓練就是要找到一個劃分條件(決策邊界),使得準確率(擬合)最高的同時兼顧穩定性(泛化性能)。

?交叉驗證

這里舉例10折交叉驗證法。如果一個樣本集中有10個樣本數據,對數據進行1-10的標號。

先使用1-9號標號的數據作為訓練集,將10號標號的數據作為測試集。

接著將9號標號的數據作為訓練集,其他數據作為測試集。

接著將8號標號的數據作為訓練集,其他數據作為測試集。

……

依次類推,然后將測試結果取出平均值。

如果這里有100個樣本,我們先將100個樣本隨機分成10組,將每一組按照這樣的方式進行測試,然后10組再取平均值。

2.模型驗證

算法工程師為了模型預測結果更加準確,將模型構建的比較復雜,越復雜的模型越依賴于訓練集,但是越依賴訓練集的模型泛化能力越差,造成過擬合的情況。

算法工程師為了使模型的泛化性能好一點,就降低模型的復雜度,這樣就造成了準確率不高,也就是欠擬合。

下圖的偏差我們可以看作誤差率,而方差可以看作泛化能力。可以類比為我們這里的欠擬合和過擬合情況。

所以算法工程師在模型訓練的絕大多數時間就是在找兩者的平衡點,找到適合的參數。但是有時候我們以為的最優解并不是真正的最優解,所以我們需要模型驗證工作。

模型驗證分為兩部分:模型性能和模型穩定性。

模型性能:簡而言之就是模型的預測準不準確。具體的評估指標有具體章節來講。

模型的穩定性:就是模型的效果可以持續多久?我們使用PSI指標來判斷模型的穩定性,具體的計算方法和合理范圍我們后面也會講到。

基于此我們知道我們需要了解模型的性能指標、穩定性指標以及其合理范圍才能夠進行模型的驗證,判斷模型的好壞。

3.模型融合

我們以前談到的例子都是使用一個模型來講的,但是為了解決多種具體細節問題,算法工程師往往需要建立多個模型才能獲得最佳的效果,此時就要考慮到模型的融合問題。

模型融合就是同時訓練多個模型,然后融合集成在一起提高整體的準確率。

我們可以了解一些基本的融合方法,如下面的思維導圖中的方法。

想要詳細了解融合算法的可以看看下面兩篇文章,有上面講到的方法:【知出乎爭】模型融合方法總結 - 知乎 (zhihu.com)?

【機器學習】模型融合方法概述 - 知乎 (zhihu.com)?

對于回歸模型而言加權平均就是采用算術平均或加權平均的方法來融合。?對于分類問題而言,通常采用投票法來進行融合,就是把概率最大的,票數最多的作為結果。

在模型融合的過程中,產品經理需要做一個考慮成本問題。有時候算法工程師可能為了提升AUC(模型預測效果)的一個點,增加特征規模,導致模型部署成本增加,所以我們要注意一下。

4.模型部署

算法部門和研發部門是兩個團隊,為了降低彼此的依賴性,算法模型部署成獨立的任務,然后暴露一個HTTP API給工程團隊來調用。

我們需要根據業務場景選擇離線/實時的部署。如果我們要實時的預測用戶的UGC類別,那么我們的模型就要部署成在線的web服務并提供實時響應的API接口。如果模型只是需要對一段時間已有的數據進行分類,那么我們模型只需要部署成離線的就可以啦!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/165608.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/165608.shtml
英文地址,請注明出處:http://en.pswp.cn/news/165608.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Python“牽手”京東商品詳情接口運營場景,京東商品詳情接口調用指南

京東商品詳情接口是一種程序化的接口,通過這個接口,商家或開發者可以使用自己的編程技能,獲取京東平臺上的商品詳細信息。這個接口允許商家根據自身的需求,獲取商品的標題、價格、促銷價、優惠券、庫存、銷量、詳情圖片、SKU屬性、…

YOLOv5分割訓練,從數據集標注到訓練一條龍解決

最近進行了分割標注,感覺非常好玩,也遇到了很多坑,來跟大家分享一下,老樣子有問題評論區留言,我會的就會回答你。 第一步:準備數據集 1、安裝標注軟件labelme如果要在計算機視覺領域深入的同學&#xff0…

TC397 EB MCAL開發從0開始系列 之 [15.2] Fee配置 - QsBlock demo

一、Fee配置1、配置目標2、目標依賴2.1 硬件使用2.2 軟件使用2.3 新增模塊3、EB配置3.1 配置講解3.2 模塊配置3.2.1 MCU配置3.2.2 PORT配置3.2.3 Fls_17_Dmu配置3.2.4 Fee配置3.2.5 Irq配置3.2.6 ResourceM配置4、ADS代碼編寫及調試4.1 工程編譯4.2 測試結果4.3 測例源碼->

基于STC12C5A60S2系列1T 8051單片讀寫掉電保存數據IIC總線器件24C02一字節并顯示在液晶顯示器LCD1602上應用

基于STC12C5A60S2系列1T 8051單片讀寫掉電保存數據IIC總線器件24C02一字節并顯示在液晶顯示器LCD1602上應用 STC12C5A60S2系列1T 8051單片機管腳圖STC12C5A60S2系列1T 8051單片機I/O口各種不同工作模式及配置STC12C5A60S2系列1T 8051單片機I/O口各種不同工作模式介紹IIC通信簡單…

致遠M3 反序列化RCE漏洞復現(XVE-2023-24878)

0x01 產品簡介 M3移動辦公是致遠互聯打造的一站式智能工作平臺,提供全方位的企業移動業務管理,致力于構建以人為中心的智能化移動應用場景,促進人員工作積極性和創造力,提升企業效率和效能,是為企業量身定制的移動智慧…

15.Python 異常處理和程序調試

1. 異常處理 異常就是在程序執行過程中發生的超出預期的事件。一般情況下,當程序無法正常執行時,都會拋出異常。 在開發過程中,由于疏忽或考慮不周,出現的設計錯誤。因此,在后期程序調試中應該根據錯誤信息&#xff…

系統高可用設計-有感

文章目錄 系統設計原則是 冗余 取舍系統運維的原則是規避線上異常 高可用設計通常從 系統設計和 系統運維 2 個層面來著手突破。 系統設計原則是 冗余 取舍 冗余:指集群部署 故障轉移取舍:常見手段包括:超時控制、降級、限流 系統運維…

音視頻項目—基于FFmpeg和SDL的音視頻播放器解析(二十)

介紹 在本系列,我打算花大篇幅講解我的 gitee 項目音視頻播放器,在這個項目,您可以學到音視頻解封裝,解碼,SDL渲染相關的知識。您對源代碼感興趣的話,請查看基于FFmpeg和SDL的音視頻播放器 如果您不理解本…

springboot(ssm災害應急救援平臺 應急管理平臺Java(codeLW)

springboot(ssm災害應急救援平臺 應急管理平臺Java(code&LW) 開發語言:Java 框架:ssm/springboot vue JDK版本:JDK1.8(或11) 服務器:tomcat 數據庫:mysql 5.7(或8.0&#x…

AOP(面向切面編程)

AOP是針對面向對象編程的一種補充,有時使用面向對象不能很好完成一些額外的功能業務時,可以采用AOP來進行補充。切面編程的目的就是為了將業務目標進行而外的增強或者擴展。Spring中的AOP是基于JDK動態代理和CGLIB動態代理實現的。 應用場景 日志操作&…

【數據結構(四)】前綴、中綴、后綴表達式(逆波蘭表達式)和逆波蘭計算器的代碼實現(2)

文章目錄 1. 前綴表達式(波蘭表達式)1.1. 前綴表達式的計算機求值 2. 中綴表達式3. 后綴表達式(逆波蘭表達式)3.1. 后綴表達式的計算機求值3.2. 逆波蘭計算器的實現 4. 中綴表達式 轉 后綴表達式4.1. 思路分析4.2. 代碼實現 5. 逆波蘭計算器的完整版 1. 前綴表達式(波蘭表達式)…

手寫數字可視化_Python數據分析與可視化

手寫數字可視化 手寫數字流形學習 手寫數字 手寫數字無論是在數據可視化還是深度學習都是一個比較實用的案例。 數據在sklearn中,包含近2000份8 x 8的手寫數字縮略圖。 首先需要先下載數據,然后使用plt.imshow()對一些圖形進行可視化: 打開c…

Mysql 鎖機制分析

整體業務代碼精簡邏輯如下: Transaction public void service(Integer id) {delete(id);insert(id); }數據庫實例監控: 當時通過分析上游問題流量限流解決后,后續找時間又重新分析了下問題發生的根本原因,現將其總結如下&#xf…

XDR 網絡安全:技術和最佳實踐

擴展檢測和響應(XDR)是一種安全方法,它將多種保護工具集成到一個統一的集成解決方案中。它為組織提供了跨網絡、端點、云工作負載和用戶的廣泛可見性,從而實現更快的威脅檢測和響應。 XDR的目標是提高威脅檢測的速度和準確性&…

Arduino驅動防水型SHT20溫濕傳感器(溫濕度傳感器)

目錄 1、傳感器特性 2、控制器和傳感器連線圖 3、驅動程序 SHT20防水型溫濕傳感器,采用新一代Sensirion濕度和溫度傳感器,配有4代CMOSens芯片。除了配有電容式相對濕度傳感器和能隙溫度傳感器外,該芯片還包含一個放大器、A/D轉換器、OTP內存和數字處理單元,可精確測量周…

Linux系統介紹及文件類型和權限

終端:CtrlAltT 或者桌面/文件夾右鍵,打開終端 切換為管理員:sudo su 退出:exit 查看內核版本號:uname -a 內核版本號含義:5 代表主版本號;13代表次版本號;0代表修訂版本號;30代表修訂版本的第幾次微調;數字越大表示內核越新. 目錄結構 /bin:存放常用命令(即二進制可執行程序…

C/C++內存管理(2):`new`和`delete`的實現原理

new和delete操作自定義類型 class Stack { public:Stack(int capacity 3):_top(0), _capacity(capacity){cout << "Stack(int capacity 3)" << endl;_a new int[capacity];}~Stack(){cout << "~Stack()" << endl;delete _a;_to…

openssl+ RSA + linux 簽名開發實例(C++)

文章目錄 一、opensslRSA理論基礎二、openssl RSA 簽名開發實例 一、opensslRSA理論基礎 RSA簽名是一種非對稱加密算法&#xff0c;用于在信息傳輸過程中驗證消息的完整性和真實性。以下是RSA簽名的理論基礎的主要知識點&#xff1a; RSA密鑰對&#xff1a; RSA使用一對公鑰和…

pcie-2-rj45速度優化

背景: 目前用iperf3打流傳輸速率達不到要求,千兆實際要求跑到800M以上: 優化方案: 1.優化defconfig: 首先編譯user版本驗證看是否正常 debug版本關閉CONFIG_SLUB_DEBUG_ON宏控。 2.找FAE ,通過更換驅動,或者更新驅動來優化 3.綁定大核: 以8125網卡為例,udp…

【Unity】IBeginDragHandler、IDragHandler 和 IEndDragHandler 介紹

IBeginDragHandler、IDragHandler 和 IEndDragHandler 介紹 IBeginDragHandler、IDragHandler 和 IEndDragHandler 是 Unity 引擎中的三個接口&#xff0c;用于處理 UI 元素的拖放事件。這些接口通常結合使用&#xff0c;構成了 Unity 引擎的拖放事件系統。 IBeginDragHandler…