操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    全文共5353字,預計學習時長20分鐘或更長

    本文旨在揭開神經網絡的神秘面紗,介紹神經網絡運行的動機和基礎。

    庫傳送門:

    神經網絡的動機

    未經訓練的神經網絡模型很像新生兒: 他們被創造出來的時候對世界一無所知(如果考慮到認識論理論的話),而且只有通過接觸這個世界,也就是后天的知識,才會慢慢提高它們的認知程度。算法通過數據體驗世界——我們試圖通過在相關數據集上訓練神經網絡,來提高其認知程度。衡量進度的方法是通過監測網絡產生的誤差。

    在深入研究神經網絡世界之前,了解這些網絡背后的動機以及它們工作的原因是很重要的。為了做到這一點,我們必須討論一下邏輯回歸分析。

    圍繞定量反應變量的建模與預測(例如出租車接送的次數,自行車租賃的次數)的方法被稱為回歸(Ridge回歸,LASSO回歸等)。當因變量是明確的,那么這個問題不再被稱為回歸問題,而是被標記為一個分類問題。

    考慮一個二分類問題,目標是根據一組預測變量 x,嘗試將每個觀察結果分為由 y 定義的類別(例如類別或集群)。

    假設我們想根據患者的特征來預測患者是否患有心臟病。這里的因變量是絕對的,存在有限的結果,或者更明確地說是二元的,因為只有兩種類型(yes / no)。

    這里有很多特性——在此,我們只使用 MaxHR 變量。

    為了做出這個預測,我們將使用一種被稱為邏輯回歸分析的方法。邏輯回歸分析解決了預測一個人患有心臟病概率的問題,P(y=1),給定輸入值X。

    邏輯回歸模型使用一個邏輯來對P(y=1)建模 :

    因此,該模型將用S形曲線預測 P(y=1) ,S形曲線是邏輯函數的一般形狀。

    β?使曲線右移或左移 c=-β?/ β?,而β?控制 s 形曲線的陡度。

    注意,如果β?是正值,那么預測的P(y=1)范圍為 從0(當x很小時)到1(當x很大時),如果β?是負值,則與之相反。

    下面以圖表形式對此進行總結。

    現在我們知道了如何操縱邏輯回歸曲線,可以利用一些變量來得到想要的曲線。

    可以改變β?值來移動偏移量。

    可以改變β?的值來扭曲梯度。

    動手完成這個過程是相當乏味的,而且不太可能得到最優值。為了解決這個問題,我們使用損失函數來量化歸屬于當前參數的誤差水平。然后找出使這個損失函數最小的系數。對于這種二進制分類,可以使用一個二進制損失函數來優化我們的邏輯回歸模型。

    因此,神經網絡的參數與網絡產生的誤差有關,當參數變化時,網絡產生的誤差也隨之變化。使用一種叫做梯度下降法的優化算法來改變參數,這種算法對于尋找函數的最小值很有用。我們正在尋求最小化的誤差,這也被稱為損失函數或目標函數。

    那么剛剛做的這些有什么意義呢?這和神經網絡有什么關系?實際上,剛剛做的實質上和神經網絡算法執行的程序是一樣的。

    我們只為之前的模型使用了一個特性。相反,我們可以采用多種特性,并用網絡的形式來說明這些特性。我們有每個特征的權重,還有一個偏差項,它們共同組成了回歸參數。根據問題是分類問題還是回歸問題,公式將略有不同。

    當我們討論神經網絡中的權重時,實際上討論的是各種傳入函數的回歸參數。然后這些信息被傳遞給激活函數,由它來決定結果是否重要到足以“觸發”該節點。

    所以現在我們開發了一個非常簡單的網絡,它由多個具有4個功能的邏輯回歸模型組成。

    需要從一些任意的數值公式開始,以便更新和優化參數神經網絡設計方法與實例分析,我們將在每次更新后評估損失函數并使用梯度下降法。

    要做的第一件事是隨機設置權重。在心臟數據中,該模型很可能會給出錯誤的答案。

    然后通過不良行為處罰的方式來訓練這個模型。

    然而,僅僅告訴計算機它的性能是好是壞并不是特別有幫助。你需要告訴它如何更改這些權重,以提高模型的性能。

    我們已經知道如何告訴計算機它運行良好,只需要咨詢損失函數。現在,這個過程更復雜了,因為有5個權重要處理。我們將只考慮一個權重,但所有權重的程序是類似的。

    理想情況下,我們希望知道給出使?(w)取最小值的w的值。

    為了找到函數?(w)的最優點,可以對權值求導,然后將其設為零。

    然后需要找到滿足這個方程的w。有時候沒有明確的解決方案。

    一個更靈活的方法是從任何一點開始,然后確定哪個方向去減少損失(在這種情況下是左邊還是右邊)。具體來說,可以計算函數在這一點上的斜率。如果斜率是負的,就向右移動,如果斜率是正的,就向左移動。然后重復這個過程直到收斂。

    如果步長與斜率成正比,那么你就要避免超過最小值。

    如何執行此更新?這是通過一種被稱為梯度下降法的方法來完成的,這個方法在前面已經簡要提到過。

    梯度下降法

    梯度下降法是求函數最小值的迭代法。這篇博文()展示了更新權重的不同方法。現在,堅持使用普通的梯度下降法算法,有時也被稱為delta規則()。

    我們知道想要走與導數相反的方向(因為我們試圖避開誤差) ,并且希望步長與導數成比例。這個步長由一個稱為學習率的參數控制。新權重是舊權重和新步長的和,步長由損失函數以及相關參數對學習率的影響程度決定。

    較快的學習速度意味著對導數賦予較大的權重,這樣算法的每次迭代都可以進行較大的步長。較小的學習速度意味著對導數的權重較小,因此每次迭代可以采用較小的步長。

    如果步長過小,則算法需要較長時間收斂,如果步長過大,則算法將不斷錯過最優參數的選擇。顯然,建立一個神經網絡時選擇學習率很重要。

    使用梯度下降法時有很多考慮因素:

    · 仍然需要推導出導數。

    · 需要知道學習率是多少或者如何設置它。

    · 需要避免局部極小值。

    · 最后,全部損失函數包括所有單個"誤差"的總和。這可以是成千上萬的例子。

    現在衍生物都是用自動微分來衍生的,所以不太關心這個問題。然而,確定學習速度是一個重要而復雜的問題。

    局部極小值對于神經網絡來說是個很大的問題,因為神經網絡的形式并不能保證我們將達到全局最小值。

    陷入局部極小值意味著有一個局部良好的參數優化,但有一個更好的優化在損失表面的某個地方。神經網絡的損耗曲面可以有許多這樣的局部優化,這是網絡優化的問題。例如下圖所示的損失表面。

    網絡陷入局部極小值。

    網絡收斂到全局最小值

    怎樣解決這個問題呢?一方面可以使用批量梯度下降和隨機梯度下降的方法。雖然這聽起來復雜,但事實上很簡單,不要用整個數據集,而是用其中一批(組)數據,在每次迭代過程中,損失平面都會有部分變動。

    每一次迭代k都能使用下面的(似然)損失函數來求導數:

    這是全部損失函數的近似值,舉例說明一下。首先從全部的(似然)損失平面開始,隨機分配的網絡權值會提供一個初值。

    之后選一批數據,比方說全部數據的10%,然后構建一個新的損失平面。

    此時位置變了。再次從全部數據中隨機選擇一組數據神經網絡設計方法與實例分析,然后構建損失平面。

    將梯度下降法應用于這組數據,然后進行更新。

    選取一組新數據繼續重復以上程序。

    然后進行更新。

    將上述程序進行多次迭代。

    直到網絡開始收斂到全局最小值。

    現在有足夠的知識儲備來構建第一個神經網絡。

    人工神經網絡(ANN)

    既然已經了解了邏輯回歸的原理、評估一個網絡的方法以及如何更新網絡以提高其性能,那么接下來就可以構建一個神經網絡了。

    首先,希望大家能知道神經網絡名稱的由來。也許你已經聽說過了,神經網絡模仿了神經元即神經細胞的結構,雖然這種結構看起來比神經網絡復雜得多,但其實二者的功能是相似的。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有