二元神經網路元件

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

使用此元件建立神經網路模型,該模型可用來預測只有兩個值的目標。

使用神經網路的分類是受監督的學習方法,因此需要加上標籤的資料集,其中包含標籤資料行。 例如,您可以使用此神經網路模型來預測二進位結果,例如患者是否有特定疾病,或電腦是否可能在指定的時間範圍內故障。

定義模型之後,請提供加上標籤的資料集和模型作為定型模型的輸入,以便將其定型。 然後便可以使用已定型的模型預測新輸入的值。

關於神經網路的其他資訊

神經網路是一組互連的層。 輸入是第一層,並以由加權邊緣和節點組成的非循環圖表連接至輸出層。

您可以在輸入和輸出層之間插入多個隱藏層。 大部分的預測工作可以與一個或幾個隱藏層輕鬆完成。 不過,最近的研究顯示,具有許多層的深度神經網路 (DNN),可能會在影像或語音辨識等複雜工作中發揮效用。 後續層會用來建立更多層級語意深度的模型。

輸入和輸出之間的關聯性是從對輸入資料的神經網路定型來學習。 圖形的方向會從透過隱藏層的輸入並對輸出層繼續進行。 圖層中的所有節點會由加權邊緣連接至下一層中的節點。

為了根據特定輸入來計算網路的輸出,需要計算隱藏層和輸出層中每個節點的值。 值的設定方式是計算來自上一層節點值的加權總和。 然後對該加權總和套用啟用函式。

如何設定

  1. 二元神經網路元件新增至您的管線。 您可以在 [分類] 類別中的 [機器學習]、[初始化] 下找到此元件。

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

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

    • 參數範圍:如果不確定最佳參數,您可以使用調整模型超參數元件來尋找最佳參數。 您要提供特定範圍的值,定型模組會反覆測試多個設定組合,以決定可產生最佳結果的值組合。

  3. 針對 [隱藏層規格],選取要建立的網路架構類型。

    • 完全連接案例:使用預設的神經網路架構,針對二元神經網路定義,如下所示:

      • 有一個隱藏層。

      • 輸出層完全連接到隱藏層,而隱藏層完全連接到輸入層。

      • 輸入層中的節點數目等於定型資料中的特徵數目。

      • 隱藏層中的節點數目由使用者設定。 預設值是 100。

      • 節點數目等於類別數目。 對於二元神經網路,這表示所有輸入都必須對應至輸出層中的兩個節點之一。

  4. 針對 [學習速率],定義每一次反覆所採取的步驟大小 (在更正之前)。 較大的學習速率值可能會導致模型更快收斂,但可能衝過局部最小值。

  5. 針對 [學習反覆運算次數],指定演算法應該處理定型案例的次數上限。

  6. 針對 [初始學習加權直徑],指定在學習過程開始時的節點加權。

  7. 針對 [動量],指定要在學習期間對來自先前反覆運算節點套用的加權

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

  9. 針對 [亂數散播],輸入要當作種子使用的值。

    如果您想要確保相同管線每次執行時的重複性,指定種子值很有用。 否則,系統時鐘值會當作種子使用,這可能會在您每次執行管線時產生稍微不同的結果。

  10. 將標記資料集新增至管線,並定型模型:

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

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

    注意

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

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

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

  11. 提交管線。

結果

定型完成後:

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

  • 若要使用模型來評分,請將評分模型元件新增至管線。

後續步驟

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