▓成人丝瓜视频▓无码免费,99精品国产一区二区三区不卡 ,大长腿白丝被c到爽哭视频 ,高清无码内谢

澎湃Logo
下載客戶端

登錄

  • +1

用簡單術語讓你看到貝葉斯優化之美

2020-10-06 08:39
來源:澎湃新聞·澎湃號·湃客
字號

選自Medium

作者:Andre Ye

機器之心編譯

編輯:Panda

貝葉斯優化是機器學習超參數優化的常用技術之一,本文不會使用艱深的數學論證,而是通過簡單的術語帶你領略貝葉斯優化之美。

假設有一個函數 f(x)。其計算成本很高,它不一定是分析表達式,而且你不知道它的導數。

你的任務:找到全局最小值。

當然,這是一個困難的任務,而且難度超過機器學習領域內的其它優化問題。梯度下降就是一種解決方案,它能通過函數的導數,利用數學捷徑來實現更快的表達式評估。

或者,在某些優化場景中,函數的評估成本較低。如果你能在幾秒內得到輸入 x 的變體的數百種結果,那么使用簡單的網格搜索就能得到很好的結果。

或者,你還可以使用一整套非常規的非梯度優化方法,比如粒子群或模擬退火。

不幸的是,當前的任務沒有這樣的便利。我們的優化受到了多個方面的限制,其中最顯著的包括:

計算成本高。理想情況下,只要我們查詢函數的次數足夠多,我們就能在實質上將它復現出來,但在實際情況下,輸入的采樣很有限,優化方法必須在這種情況下也能有效工作。

導數未知。在深度學習以及其它一些機器學習算法中,梯度下降及其變體方法依然是最常用的方法,這當然是有原因的。知道了導數,能讓優化器獲得一定的方向感——我們沒有這種方向感。

我們需要找到全局最小值,這個任務即使對于梯度下降這種復雜精細的方法來說也很困難。我們的模型有時需要某種機制來避免被困于局部最小值。

解決方案:針對以最少的步驟尋找全局最小值的問題,貝葉斯優化是一個優雅的框架。

我們來構建一個假設的示例函數 c(x),即一個模型在給定輸入 x 下的成本。當然,這個函數的實際情況對優化器來說是未知的。假設 c(x) 的實際形狀如下:這就是所謂的「目標函數」。

貝葉斯優化可通過一種名為「代理優化(surrogate optimization)」的方法解決這一問題。在語境中,代理母親(代孕媽媽)是指同意為其他人生小孩的女人。基于同樣的語境,代理函數是指目標函數的一種近似。

代理函數可基于采樣得到的數據點而構建。

我們可以根據代理函數來識別哪些點是有潛力的最小值。然后我們在這些有潛力的區域執行更多采樣,然后據此更新代理函數。
在每一次迭代中,我們都要繼續觀察當前的代理函數,通過采樣對相關區域有更多了解,然后更新函數。注意,代理函數可表示成評估成本低得多的數學形式(比如用 y=x 近似表示一個成本更高的函數 y=arcsin((1-cos?2;x)/sin x) 的某個特定范圍)。

經過一定數量的迭代之后,我們的目標是抵達全局最小值,除非該函數的形狀非常古怪(比如其中有大量大起大落的部分),這時候你就要問自己了:是不是數據有問題?

我們先來欣賞一下這種方法的美妙之處。它不會對函數做出任何假設(只要它是可優化的既可)、不需要導數的相關信息、可通過巧妙地使用不斷更新的近似函數來執行常識推理。對原本的目標函數的高成本估計也不再是問題。

這是一種基于代理的優化方法。但它的貝葉斯性質體現在哪里?

貝葉斯統計和建模和本質是基于新信息先驗(之前的)信念,然后得到更新后的后驗(之后的)信念。這里的代理優化就是這樣工作的,使得其能通過貝葉斯系統、公式和思想很好地表示。

我們來更仔細地看看這個代理函數,其通常表示成高斯過程,這可被看作是一種擲骰子過程,返回的是與給定數據點擬合的函數(比如 sin 或 log),而不是數字 1 到 6. 這個過程會返回若干函數以及它們各自的概率。

左圖:基于 4 個數據點生成的幾個基于高斯過程的函數;右圖:將這些函數聚合之后。

Oscar Knagg 這篇文章直觀地介紹了高斯過程的工作方式:https://towardsdatascience.com/an-intuitive-guide-to-gaussian-processes-ec2f0b45c71d

為什么要使用高斯過程來建模代理函數,而不是使用其它曲線擬合方法?這是因為高斯過程本質上就是貝葉斯模式的。高斯過程是一種概率分布,就像一個事件的最終結果分布一樣(比如擲硬幣的 1/2 概率),只不過高斯過程是在所有可能的函數上的分布。

舉個例子,我們也許可以定義當前的數據點集可由函數 a(x) 表示 40%、由函數 b(x) 表示 10% 等等。通過將代理函數表示成概率分布,可使用新信息,通過固有的概率貝葉斯過程來完成更新。也許當新信息被引入時,a(x) 函數又只能表示 20% 的數據了。這樣的變化受貝葉斯公式的約束。

這會使得類似于新數據點的多項式回歸擬合這樣的目標難以完成甚至不可能完成。

表示成先驗概率分布的代理函數會通過一個「獲取函數(acquisition function)」而更新。這個函數負責在探索與利用權衡的基礎上,對提議的新點進行測試。

利用的目標是采樣代理模型能很好地預測目標函數的地方。這會用到已知的有潛力的位置。但是,如果我們已經充分探索了某個特定的區域,再繼續利用已知信息也收益不大了。

探索的目標是采樣不確定度較高的位置。這能確保空間中不留下未探索的主要區域——全局最小值可能就藏在此處。

太過重視利用而不太重視探索的獲取函數會讓模型駐留于其發現的第一個最小值(通常是局部最小值)。反過來,重探索而輕利用的獲取函數則一開始就不會留在某個最小值,不管是局部最小值還是全局最小值。因此,為了得到很好的結果,需要達到微妙精巧的平衡。

獲取函數 a(x) 必須兼顧探索和利用。常見的獲取函數包括預期提升和提升的最大可能性,所有這些衡量的都是給定有關先驗(高斯過程)的信息下,一個特定輸入在未來產生回報的概率。

我們歸總一下這些知識點。貝葉斯優化的執行方式為:

初始化一個高斯過程「代理函數」先驗分布。

選擇幾個數據點 x 使得獲取函數 a(x) 在當前先驗分布上的結果是最大的。

在目標成本函數 c(x) 中評估數據點 x 并獲取其結果 y。

使用新數據更新高斯過程先驗分布,得到一個后驗分布(這將作為下一步的先驗分布)。

重復第 2-5 步并多次迭代。

解讀當前的高斯過程分布(成本很低),找到全局最小值。

貝葉斯優化的核心是將概率思想融入到代理優化思想之中。這兩種思想組合到一起,能創造出一種強大的系統。該系統具有很多應用場景,從醫藥產品開發到自動駕駛汽車。

不過,貝葉斯優化最常見的應用領域還是機器學習,尤其是超參數優化任務。舉個例子,如果我們要訓練一個梯度上升分類器,則會遇到幾十個超參數,從學習率到最大深度再到最小不純度拆分值。在這里,x 表示模型的超參數,c(x) 表示模型在給定超參數 x 下的表現。

使用貝葉斯優化的主要動機是:在有些場景中,評估輸出的成本非常高。首先,需要使用這些參數構建一整個集成樹;其次,它們需要運行并完成幾次預測,這對于集成方法來說成本高昂。

可以這樣說,在給定一組參數的條件下,使用神經網絡來評估損失函數的速度更快:只是重復執行矩陣乘法,這是非常快的,尤其是使用專用計算硬件時。這是使用梯度下降的原因之一,也就是反復查詢以找到前進的方向。

總結

代理優化是使用一個代理函數或近似函數來通過采樣估計目標函數。

貝葉斯優化是通過將代理函數表示成概率分布而將代理優化放入一個概率框架中,然后再使用新信息更新這個分布。

獲取函數則是用于基于已知的先驗,評估利用空間中的某個特定點得到「好」結果的概率。其關鍵在于探索與利用的平衡。

貝葉斯優化的主要使用場景是目標函數評估成本高的任務,比如超參數調節。有一些用于該任務的軟件庫,比如 HyperOpt。

原文鏈接:https://towardsdatascience.com/the-beauty-of-bayesian-optimization-explained-in-simple-terms-81f3ee13b10f

如何根據任務需求搭配恰當類型的數據庫?

在AWS推出的白皮書《進入專用數據庫時代》中,介紹了8種數據庫類型:關系、鍵值、文檔、內存中、關系圖、時間序列、分類賬、領域寬列,并逐一分析了每種類型的優勢、挑戰與主要使用案例。

原標題:《用簡單術語讓你看到貝葉斯優化之美》

閱讀原文

    本文為澎湃號作者或機構在澎湃新聞上傳并發布,僅代表該作者或機構觀點,不代表澎湃新聞的觀點或立場,澎湃新聞僅提供信息發布平臺。申請澎湃號請用電腦訪問http://renzheng.thepaper.cn。

    +1
    收藏
    我要舉報
            查看更多

            掃碼下載澎湃新聞客戶端

            滬ICP備14003370號

            滬公網安備31010602000299號

            互聯網新聞信息服務許可證:31120170006

            增值電信業務經營許可證:滬B2-2017116

            ? 2014-2025 上海東方報業有限公司

            反饋
            主站蜘蛛池模板: 松潘县| 汉寿县| 鄂尔多斯市| 铁岭市| 大宁县| 云浮市| 凌源市| 碌曲县| 阿克陶县| 大田县| 庆安县| 武隆县| 太谷县| 梁平县| 水富县| 河北省| 溧水县| 宁陵县| 永兴县| 英德市| 浦县| 福贡县| 肃北| 九台市| 政和县| 永嘉县| 大余县| 柳州市| 冷水江市| 甘肃省| 武定县| 昂仁县| 河曲县| 宜章县| 敦化市| 萍乡市| 西平县| 高青县| 集贤县| 南汇区| 柳河县|