貝葉斯最佳化:最大化 MaxPro 準則各位親愛的社區和JMP專家們,大家好!
我對貝葉斯優化批量自訂設定中的一個選項的名稱感到困惑。其中一個選項叫做最大化 MaxPro 標準在貝葉斯優化平台中。本節的說明文件提到:“此選項是對因子空間進行無模型探索,避免在訓練資料和當前批次中重複任何因子設定。當一個或多個模型擬合不佳時,無論批次大小如何,都可以使用此選項。 ”
關於快速靈活填充設計細節幫助部分中對 MaxPro 準則的定義,「 MaxPro 準則旨在最大化潛在設計點之間距離的乘積,並考慮所有因素。這有助於在因素投影上提供良好的空間填充特性。」 此外,還提到 MaxPro 準則「力求在聚類中找到使以下準則最小化的點」(在查看公式之前):

由於公式分母是距離平方的乘積,最小化該準則實際上會最大化潛在設計點之間的距離。因此,最大化 MaxPro 準則實際上可能導致點之間的距離更小,從而增加在觀察實驗空間較小子空間時,運行結果可能會出現聚集或「堆疊」的風險。觀察貝葉斯最佳化分析器,似乎該擷取函數背後的公式並沒有像原始 MaxPro 準則那樣在分母中使用(平方)距離,而是在分子中使用了距離。因為我們可以看到凹形期望曲線與涉及原始設計點之間距離的 -X² 型公式相匹配。 MaxPro 擷取函數在新點與原始設計點之間的距離最大時達到最大值:

能否請各位解釋一下空間填充設計中的「最小化 MaxPro 準則」和貝葉斯最佳化中的「最大化 MaxPro 準則」之間的差異?貝葉斯最佳化平台中的 MaxPro 準則是否與空間填充平台中的 MaxPro 準則使用相同的公式? MaxPro 空間填充準則取得函數中顯示的公式是什麼?
提前致謝 !
進階統計建模實驗設計回覆:貝葉斯最佳化:最大化 MaxPro 準則能否請JMP官方人員或高級用戶解答一下這個具體問題/疑惑?
我真心希望 JMP BayesOpt 的文檔能夠得到擴充,因為它缺少一些基本信息,例如關於核函數/連續相關性類型的公式和圖表。目前已經有關於核函數選擇中涉及的函數類型的優秀文件:
https://fr.mathworks.com/help/stats/kernel-covariance-function-options.html
https://www.comsol.fr/support/learning-center/course/surrogate-modeling-theory-271/more-on-covariance-functions-96531
https://indico.cern.ch/event/1407896/contributions/6068668/attachments/2947366/5179857/Lecture_2_vkain_BO.pdf
……
回覆:貝葉斯最佳化:最大化 MaxPro 準則嗨@Victor_G ,
我完全同意您對新版 BayesOp 平台的評估和疑問。自從今年年初第一次聽說它以來,我就一直想和同事們一起試用,但我也在權衡可能的收益與資源/時間投入之間的關係,不想在沒有先了解 JMP 如何實現 BayesOp 的基本原理之前,就讓同事們陷入無盡的摸索——這部分比較有挑戰性。
這裡有一些不錯的網頁教程,講解了開發早期階段以及 JMP 19 Pro 的最新新增功能:
https://community.jmp.com/t5/Phil-Kay-s-Blog/Active-Learning-in-JMP-Chris-Gotwalt-ENBIS-Workshop/ba-p/835262
https://community.jmp.com/t5/Learn-JMP-Events/Developer-Tutorial-Bayesian-Optimization/ev-p/894910
他們很擅長對事物的工作原理進行非常高層次的描述(這對管理層來說很好,尤其是第二個視頻,大約到 20 分鐘左右),但我仍然找不到更詳細的解釋,或者如何針對手頭的具體任務調整優化和採集功能的算法。
在教程中,他們承認存在陷入局部最優解的風險,但也聲稱他們的方法能夠擺脫這種困境,因為它平衡了探索和優化的雙重需求。他們的解釋比較籠統,我理解他們無法完全公開底層原理,但如果能提供更多細節就更好了。特別是對於我們這些身處行業的人來說,我們不僅看到了這種方法的價值,也希望能夠更深入地了解其運作機制,而不是僅僅停留在「黑箱」狀態。這樣,即使事情沒有按預期發展(這種情況很常見),我們也能及時調整,確保已完成的工作仍然能夠提供有價值的資訊。
以下是我在嘗試了解 JMP 最新平台後的一些想法。
感謝您提供的其他連結和資源!
DS
回覆:貝葉斯最佳化:最大化 MaxPro 準則您好,感謝您對 JMP Pro 中貝葉斯優化的關注。我理解您對「最大化 MaxPro」這個表述的困惑,JMP 實際上最大化的是 MaxPro 準則的倒數。這樣做是為了確保所有運行採集選項都以最大化的形式呈現,而不是部分選項是最小化,部分選項是最大化。事後看來,更好的表述應該是“最大化空間填充準則”,並在文件中詳細說明我們最大化的是 MaxPro 準則的倒數。
回覆:貝葉斯最佳化:最大化 MaxPro 準則謝謝@chris_gotwalt1 !
當我查看貝葉斯最佳化分析器中 MaxPro 準則的擷取函數形式和空間填充設計部分的方程式時,我就知道有些地方不一樣(甚至可能是相反的)。感謝您的澄清。
我理解最大化任何採集函數的簡化方法,但是這個準則與空間填充設計使用相同的名稱讓我感到困惑。
我希望相關文件能夠經過修訂和完善,以避免任何混淆,並為使用者提供更多關於 BayesOpt 平台功能的資訊。
最好的,
回覆:貝葉斯最佳化:最大化 MaxPro 準則嗨@SDF1 ,
感謝您的解答和提供的補充連結。
雖然這些連結對於實際操作 BayesOpt 可能很有用,但它們並沒有深入探討一些技術選擇,例如核函數、採集函數形式(和方程式)等。
無法保證一定能達到全局最優解。我已經在探索研討會上展示了一個關於 BO 的用例:僅使用“自動”模式(盲目地按照平台建議添加後續運行)得到的結果是次優的,不如在開始時強制探索,甚至不如使用空間填充方法創建初始運行結果。


所以我對你提到的說法有點懷疑:如果在 BO 循環中達到了目標(無論是局部最優還是全局最優),那麼平台會建議複製該點,然後就結束了。
在本次 JMP Discovery 研討會上,全局最優與局部最優是常見問題,另一個常見問題是「如何使用/信任模型的預測結果」。我指出,基於貝葉斯優化循環中使用的高斯過程來計算特徵重要性/敏感性指標可能會產生很大的誤導: https://www.linkedin.com/posts/victorguiller_bayesianoptimization-designofexperiments-activity-7475080705866174465-e3uV

這種可解釋性方法只能解釋演算法遵循的路徑,而不一定能解釋因素的「真正」重要性/敏感性。
非常感謝大家的討論和提供的連結!
最好的,
回覆:貝葉斯最佳化:最大化 MaxPro 準則嗨@Victor_G ,
是的,我完全同意您對演算法的擔憂,以及迭代是否能準確探測設計空間,從而快速找到全局最大值(甚至是聚集最大值)。需要澄清的是,我並沒有對演算法的能力做出任何斷言,只是複述了線上研討會中的一些觀點。正如我在最初的回覆中提到的,這些研討會作為入門資料還不錯,但並沒有深入探討方法論、演算法以及如何調整它們——顯然更適合JMP和DOE方法論的「非專業」用戶。
在某種程度上,我同意並理解BO平台演示中傳達/展示的內容——在行業中,很多時候,深入理解每個因素與其他因素的相互作用並建立完美的模型並非至關重要。只要知道你已經完成了85%到90%的目標,並且擁有一個能夠穩定產生所需回應的流程就足夠了。剩餘的10%到15%可以透過在接近最優狀態時進行微調來優化。但是,在對營運領域知之甚少的情況下,能夠快速接近最優狀態是非常理想的。
所有這些例子都沒有顯示從接近最優解的位置開始會發生什麼。如果你已經完成了一次 BO 優化並找到了一個“最大值”,那麼探索演算法和利用演算法會如何運作?如果你使用接近該最大值的幾個點重新啟動優化過程,又會發生什麼?它會卡住嗎?還是會繼續搜尋設計空間?我可以想到幾種情況,其中可能至少存在兩個全局最大值,可以透過兩種不同的設定達到——其中一個可能從生產角度來看更實用。但是,如果 BO 演算法總是卡在某個局部最大值上而沒有進行充分的探索,那麼你可能會錯過重要的資訊。
感謝您分享在「自動」和監督模式下執行 BO 的比較結果,以及不同方法在實現預期目標方面的效果。與其他實驗方法一樣,我認為它更像是一種迭代方法,是工具箱中的另一個工具。網路研討會「幾乎」讓人覺得它可能會成為 DOE 的「新」替代品,儘管演講者表示並非如此,但其中仍然隱含著一種暗示,認為它可能是下一個重大突破。任何事物都一樣——謹慎使用。
我最大的體會是,對於所有電腦輔助建模(無論稱之為機器學習、人工智慧或生成人工智慧),流程監督至關重要。無監督的電腦輔助建模或生成很容易出現「幻覺」。我曾經給幾個不同的人工智慧平台設定指令,讓他們產生人物輪廓,這些人物正在執行各種任務——非常簡單,沒有細節,只是一個輪廓。結果,不同的人工智慧平台很容易在人物輪廓上「幻覺」出額外的肢體——三條腿或四條手臂。即使我指出人工智慧的生成過程中存在錯誤,下一次迭代仍然會出現「幻覺」。這個過程仍然需要相當嚴格的人工監督和監管。目前看來,BO平台也需要一些細緻的監督。
保持一些健康的懷疑態度。
DS
回覆:貝葉斯最佳化:最大化 MaxPro 準則感謝大家的精彩討論。簡單來說,我認為這歸根究底是兩種截然不同的實驗方法。
一種方法是演算法驅動的。其目標很簡單,就是找到能產生理想結果的設定。只要演算法能夠可靠地收斂到令人滿意的解,背後的機制是否被理解就無關緊要了。
第二種方法將實驗視為一個學習過程。其目標不僅在於找到合適的實驗設置,更在於理解其有效的原因。這種機制性的理解使我們能夠預測新情況下的性能,識別條件的變化,將知識應用於未來的設計,並開發出更穩健的產品和流程。
這兩種方法本身並無對錯之分——它們只是優化不同的目標。如果唯一目標是盡快優化單一系統,那麼貝葉斯優化就極具吸引力。如果目標是建構超越當前問題的科學或工程知識,那麼實驗設計就必須旨在揭示機制,而不僅僅是尋找最優解。
我擔心的是,我們有時評估這些方法時只是問自己: “我們是否找到了更好的解決方案?”我認為同樣重要的問題是: “我們從中學到的哪些經驗在下一個項目中仍然有用?”這兩者並不總是同一回事。
數據可以辨識出最優解所在。理解其機制可以解釋最優解存在的原因。只有後者才能讓我們預測當世界不可避免地改變時會發生什麼。
回覆:貝葉斯最佳化:最大化 MaxPro 準則嗨,DS,
很抱歉造成了誤會,我理解這些說法是來自 JMP 團隊,而不是您(如果我的回答造成了任何困惑,我深表歉意)。
您說得對,初始起點(分佈和位置)與啟動 BO 循環後所做的選擇同樣重要。初始點與最優解的接近程度決定了演算法可能會「傾向於」該區域,尤其是在它符合您的目標和目的的情況下。為了強制演算法進行探索,可以添加具有空間填充(MaxPro)準則的運行,因為它會產生與現有點距離最大的點(或添加具有強調不確定性的採集函數的運行,例如多模型標準差或置信上限) 。使用者在使用 BO 時的決策會對專案結果產生非常大的影響。
沒錯,BO 是工具箱中另一種「智慧實驗」方法。我也認為,在實踐中,每次迭代進行多次運行(而不僅僅是每次迭代一次運行)可能更有效,並且不斷改變運行類型,添加不同的採集函數,以確保運行批次的多樣性,避免過早停止探索。例如,我們可以考慮每次迭代運行 5 次,其中一到兩次用於開發,兩次(或更多)用於探索,其餘運行則以「平衡」模式進行。我認為,結合採集函數的 BO 可以用於創建「微型」DoE 實驗類型,其中採集函數類似於設計最優性,並且「設計」增強在運行規模方面具有高度靈活性。但這會犧牲一些統計「機制」和保障措施,例如分塊或其他降噪技術,因此這兩種方法不能完全互換。我同意“謹慎使用”,首先確定實驗設定和約束條件,然後再選擇實驗方法。
是的,像機器學習這樣的電腦建模工具非常擅長發現模式,並且可以拓寬建模選項,但結果必須謹慎對待,因為某些演算法可能容易過度擬合(或者對於基因人工智慧而言,可能出現幻覺)。因此,在評估和評估模型結果時,請務必運用領域專業知識、批判性思考和統計學思維。
非常感謝大家的討論,我非常期待看到 BayesOpt 平台(以及文件!)在未來的版本中會如何發展。
最好的,