神經網路迴歸元件

使用神經網路演算法建立迴歸模型

類別:機器學習/初始化模型/迴歸

元件概觀

本文描述 Azure Machine Learning 設計工具中的一個元件。

使用此元件,利用可自訂的神經網路演算法建立迴歸模型。

雖然廣泛用於深入學習和模型化複雜的問題,例如影像辨識已知神經網路,也就是輕鬆地調整迴歸問題。 如果使用自動調整的加權,而且可以近似其輸入的非線性函數,任何類別的統計模型可以稱為神經網路。 因此神經網路的迴歸適合用於較傳統的迴歸模型無法在其中納入解決方案的問題。

神經網路迴歸是受監督的學習方法,因此需要包含標籤資料行的已標記的資料集。 迴歸模型來預測數值,因為標籤資料行必須是數值資料類型。

您可以透過提供模型和加上標記的資料集做為定型模型的輸入來定型該模型。 然後便可以使用定型的模型來預測新輸入範例的值。

設定神經網路迴歸

神經網路可以進行廣泛自訂。 本節描述如何使用兩個方法建立模型:

  • 使用預設架構建立神經網路模型

    如果您接受預設的神經網路架構,請使用 [屬性] 窗格來設定可控制神經網路行為的參數,例如,隱藏層中的節點數目、學習速率和正規化。

    如果您是神經網路的新手,請從這裡開始。 元件支援許多自訂和模型調整,而不需要具有神經網路的深入知識。

  • 定義神經網路的自訂架構

    如果您想要新增額外的隱藏層,或完全自訂網路架構、其連接和啟用功能,請使用此選項。

    如果您已有些熟悉神經網路,則此選項為最佳選項。 您可以使用 Net# 語言來定義網路架構。

使用預設架構建立神經網路模型

  1. 在設計工具中,將神經網路迴歸元件新增至您的管線。 您可以在 [迴歸] 類別中的 [機器學習]、[初始化] 下找到此元件。

  2. 設定 [建立定型模式] 選項來指出要如何定型模型。

    • 單一參數:如果您已知道要如何設定該模型,請選擇此選項。

    • 參數範圍:如果您不確定最佳參數,且想要執行參數掃掠,請選取此選項。 選取要反覆運算的值範圍,而調整模型超參數會反覆運算您提供的所有可能設定的組合,以判斷可產生最佳結果的超參數。

  3. 在 [隱藏層規格] 中,選取 [完全連接案例]。 此選項會使用預設神經網路架構來建立模型,針對神經網路迴歸模型,其具有下列屬性:

    • 網路只有確切一個隱藏層。
    • 輸出層完全連接到隱藏層,而隱藏層完全連接到輸入層。
    • 隱藏層的節點數目可以由使用者設定 (預設值為 100)。

    因為輸入層的節點數目取決於定型資料中的特徵數目,因此在迴歸模型中,輸出層只能有一個節點。

  4. 針對 [隱藏的節點數目],輸入隱藏節點的數目。 預設值是具有 100 個節點的一個隱藏層。 (如果您使用 Net# 定義自訂架構,則此選項無法使用。)

  5. 針對 [學習速率],輸入一個值,以定義在修正之前,要對每個反覆運算採取的步驟。 較大的學習速率值可能會導致模型更快收斂,但可能衝過局部最小值。

  6. 針對 [學習反覆運算次數],指定演算法處理定型案例的最大次數。

  7. 針對 [動量],輸入要在學習期間作為加權套用至來自先前反覆運算節點的值。

  8. 選取 [隨機顯示範例] 選項,以變更反覆運算之間的案例順序。 如果您取消選取此選項,就會在每次執行管線時,以完全相同的順序處理案例。

  9. 針對 [亂數散播],可選擇性輸入要做為種子的整數值。 如果您想要確保相同管線每次執行時的重複性,指定種子值很有用。

  10. 連接定型資料集,並將模型定型:

    • 如果您將 [建立定型模式] 設定為 [單一參數],請連接已標記的資料集和定型模型元件。

    • 如果您將 [建立定型模式] 設定為 [參數範圍],請連接已標記的資料集,並使用調整模型超參數來定型模型。

    注意

    如果您將參數範圍傳遞給定型模型,則系統只會使用單一參數清單中的預設值。

    如果您將單一組參數值傳遞至調整模型超參數元件,當其預期每個參數有一組設定時,則會忽略這些值,並對學習模組使用預設值。

    如果您選取 [參數範圍] 選項,並對任何參數輸入單一值,則在整個掃掠期間都會使用您所指定的該單一值,即使其他參數在某個範圍的值之間變更亦然。

  11. 提交管線。

結果

定型完成後:

  • 若要儲存已定型模型的快照集,請在定型模型元件的右側面板中選取 [輸出] 索引標籤。 選取 [註冊資料集] 圖示,將模型儲存為可重複使用的元件。

後續步驟

請參閱 Azure Machine Learning 可用的元件集