让机器学习手把手指导你的下一步实验-基于贝叶斯优化的序贯实验
在企業的日常研發工作中, 工程師可能會面對眾多潛在影響因子及這些因子間的復雜組合而無所適從,不知道如何通過實驗構建這些因子與最終響應間的數學模型。類似困擾常出現在鋰電池行業對于電解液配方的研究、醫藥行業對于生物制劑配方的設計,以及化工行業對于合成路線的確定等,其中涉及到的成分因子與過程因子均遠超課本中經典實驗設計方案所能承受,使企業在成倍增加研發成本的同時產品性能卻難以突破。
來自普林斯頓大學學者2021年的一篇Nature“爆款”文章1為我們提供了一種基于機器學習來高效探索因子最優組合的方法。無需復雜的編程,借助JMP強大的數據處理與機器學習功能,大家不妨跟我們來一起體驗一下普林斯頓大學的基于貝葉斯優化的序貫實驗吧。
01 通俗易懂說說什么是序貫實驗&貝葉斯優化
所謂序貫實驗(Sequential Experimentation),即為進行實驗時不預先固定總實驗次數,每做完一階段實驗并獲得實驗數據之后,我們都需要進行決策分析,來決定下一階段實驗的具體類型及其中因子的取值。每一次的決策分析均可視為一次對實驗方向的修正,幫助我們更接近最終優化目標(如最大產量、最小不合格率、最大強度等)。我們不斷重復這個實驗-決策-實驗的過程,直到達成某個給定的停止規則。
本文中所指的機器學習方法均是指貝葉斯優化(Bayesian Optimization)。貝葉斯優化常被應用于機器學習模型的超參數優化,即在計算成本受限、優化方向不明的情況下找到最佳的超參數組合(與我們做實驗設計的目標完全一致!)。該優化方法以貝葉斯定理為指導,在每次迭代地時候,都會綜合考慮之前觀測到的所有歷史信息(先驗信息)來決定下一步優化的方向,這又與序貫實驗中實驗-決策-實驗的理念相一致。那我們為什么不能將這兩種方法進行結合呢?如果你也有類似的想法,那么恭喜你!你與普林斯頓的大牛們的想法不謀而合,他們正是將貝葉斯優化所計算得到的優化方向作為序貫實驗決策分析依據,讓“機器”來指導我們如何進行下一步實驗。
至此,我們知道了基于貝葉斯優化的序貫實驗的大體迭代思路,但是具體的數學公式方面仍未作任何解釋, 那就請大家跟著我們來通過一個虛擬實驗案例來進一步了解。
02 二階最優化問題和響應曲面模型JMP實現
我們考慮優化一個包含三個連續因子及一個連續響應的系統(見圖1),優化目標為使Y越大越好。因為本實驗為一個虛擬實驗,我們預先設定響應與因子間的關系為如下二次函數:
其中ε為正態隨機數,用來模擬真實實驗中的各種實驗誤差對響應的影響。容易看出,Y的最大值為4,且在當X1=X2=X3=0.5 時取得該最大值。我們想要驗證的就是基于貝葉斯優化的序貫實驗需要多少次實驗能幫助我們找到該最大值。
圖1 模擬實驗因子與響應設定
我們以響應曲面設計中的中心復合設計作為比較基準,可以通過查表或JMP實驗設計平臺了解到,三因子優化問題最少需要進行16次響應曲面實驗才能預測最優解的位置,見圖2b。獲得實驗設計表后,我們使用上述表達式(見圖2d)來模擬響應并進行二次模型擬合。
圖2 響應曲面實驗設計流程。(a)響應曲面設計路徑(b)中心復合設計路徑(c)實驗設計表(d)模擬Y值公式
擬合結果見圖3, 通過JMP獨有的交互式預測刻畫器,我們可以看到基于16次經典實驗計算得到的數學模型給出的最優參數組合為(0.5,0.54,0.43),響應最優值為3.97。
圖3 響應曲面模型最優解預測
03 基于貝葉斯優化的序貫實驗JMP實現
序貫實驗及貝葉斯優化均嚴重依賴于我們對系統的先驗認知,只有通過各種先驗信息的匯總,才能找到下一步的優化方向。
這里,我們假定對上一節所提到的二階最優化問題沒有任何了解,為了快速獲得該系統最基本信息,我們可以嘗試使用JMP中的空間填充設計構建8次實驗,并對實驗響應進行模擬,見圖4。注意,這里的空間填充法并不是必須,其他描述性實驗設計方法,諸如完全析因設計均可嘗試。
圖4 基于JMP的均勻設計
在整個貝葉斯優化的過程中,目標函數為 Y=f(X1,X2,X3),我們想要優化目標函數使Y最大化,但我們并不知道這個函數具體長什么樣,其中哪些效應項顯著,哪些效應項可以被剔除。那我們就退而求其次,轉而優化一個代理函數(Surrogate Function)來取代目標函數。
我們要求代理函數能夠完全擬合我們已經觀察到的數據點且易于計算,雖然最初的代理函數可能與目標函數大相徑庭,但它本身會在每一步序貫實驗之后被不斷更新。可以預見的是,隨著我們收集到的數據點增多,代理函數會逐漸逼近目標函數,我們通過代理函數求得的最優響應與最優參數組合也就越接近理論最優。
在本例中,我們選用JMP中的高斯過程作為代理函數,擬合從8次空間填充實驗中獲得的數據點,并將擬合得到的預測均值與預測方差表達式存入原實驗設計表格中作為我們尋找優化方向的依據,具體操作路徑見圖5。
圖5 使用高斯過程擬合響應與因子間數學關系
通過已有數據點上的高斯過程預測均值與預測方差來確定優化方向,即通過先驗信息來選擇下一個實驗點,通常由采集函數(Acquisition Functions)來實現。
采集函數幫助我們權衡是在代理函數極值點附近做更多實驗收益大,還是在原先沒有數據的區域做更多實驗收益大,從而使每次新增實驗都達到“利益最大化”。文獻2中給出了眾多可供選擇采集函數,本文以Gaussian Process Upper Confidence Bound (GP-UCB) 為例,大家可自行嘗試其他采集函數。我們在實驗設計表中新建一列UCB列,并填入圖6所示函數表達式。借助JMP的交互式刻畫器中的最大化意愿功能(見圖7),我們能立刻求解出采集函數在 X1=0.738,X2=1,X3=1時取得最大值, 這也就是“機器學習“推薦的下一步實驗參數組合。
圖6 代理函數公式列
圖7 最大化代理函數
我們遵循序貫實驗的步驟,不斷重復上述分析步驟(擬合高斯過程作為代理函數-計算采集函數-最大化采集函數-確定下一步實驗參數-進行實驗并獲得響應)。前12次實驗的結果見圖8a。細心的你可能很快就發現,從第9次實驗開始,貝葉斯優化在尋找最優解的過程中逐漸向理論最優解不斷逼近(X1=X2=X3=0.5),從而使我們能夠在有限的資源下最高效的找到最優解。
為了驗證實驗結果并與響應曲面模型結果(圖3)進行對比,我們使用JMP“擬合模型”平臺構建二次模型并對最優Y值做出預測,結果見圖8b。受限于實驗次數與實驗點的不平衡分布,基于12次貝葉斯優化實驗做出的預測有較寬的置信區間,但對最優響應均值與最優參數組合的預測卻與16次響應曲面實驗結論接近, 進一步驗證了貝葉斯優化在優化問題上所展現出的高效性。
圖8 序貫實驗結果(a)實驗設計表(b)預測刻畫器
04 小結
基于貝葉斯優化的序貫實驗自從被提出以來,受到工業界的廣泛關注,在傳統化工、生物制藥及鋰電等傳統實驗設計力所不能及的領域,貝葉斯優化的價值都在不斷被驗證。
借助JMP軟件,我們在不進行任何編程的情況下一起探索了一個三因子簡單系統,實際觀察到了序貫實驗如何在“機器“的指導下,一步步逼近理論最優解。對于我們工程師實際業務問題,隨著系統復雜度及影響因子的成倍上升,或許機器學習能成為我們在研發路上的破局之道。
**參考文獻:
JMP 17 版本全新問世!歡迎下載最新版軟件免費試用體驗。
總結
以上是生活随笔為你收集整理的让机器学习手把手指导你的下一步实验-基于贝叶斯优化的序贯实验的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++ —— 调用微软语音接口(SAPI
- 下一篇: 捷联惯导系统学习6.2(序贯滤波 )