類神經網路模型的採礦模型內容 (Analysis Services - 數據採礦)

適用於: SQL Server 2019 和舊版 Analysis Services Azure Analysis Services Fabric/Power BI Premium

重要

SQL Server 2017 Analysis Services 中已淘汰數據採礦,現在已在 SQL Server 2022 Analysis Services 中停止。 檔不會更新為已淘汰和已停止的功能。 若要深入瞭解,請參閱 Analysis Services 回溯相容性

本主題描述使用 Microsoft類神經網路演算法之模型專屬的採礦模型內容。 如需如何解譯所有模型類型所共用之統計數據和結構的說明,以及採礦模型內容相關詞彙的一般定義,請參閱 採礦模型內容(Analysis Services - 數據採礦)

瞭解類神經網路模型的結構

每個類神經網路模型都有一個代表模型及其元數據的單一父節點,以及提供輸入屬性描述性統計數據的臨界統計數據節點(NODE_TYPE = 24)。 臨界統計數據節點很有用,因為它會摘要輸入的相關信息,因此您不需要從個別節點查詢數據。

在這兩個節點底下,至少有兩個節點,而且可能更多,視模型擁有的可預測屬性數目而定。

  • 第一個節點 (NODE_TYPE = 18) 一律代表輸入層的最上層節點。 在這個頂端節點下方,您可以找到包含實際輸入屬性及其值的輸入節點 (NODE_TYPE = 21)。

  • 後續節點各包含不同的 子網(NODE_TYPE = 17)。 每個子網一律包含隱藏層(NODE_TYPE = 19),以及該子網的輸出層(NODE_TYPE = 20)。

類神經網路模型內容的 結構,

輸入層中的資訊很簡單:每個輸入層的頂端節點(NODE_TYPE = 18)可作為輸入節點集合的召集人(NODE_TYPE = 21)。 下表說明輸入節點的內容。

每個子網 (NODE_TYPE = 17) 都代表輸入層對特定可預測屬性的影響分析。 如果有多個可預測輸出,則有多個子網。 每個子網的隱藏層包含多個隱藏節點(NODE_TYPE = 22),其中包含結束於該特定隱藏節點的每個轉換權數詳細數據。

輸出層 (NODE_TYPE = 20) 包含輸出節點 (NODE_TYPE = 23),每個節點都包含可預測屬性的相異值。 如果可預測的屬性是連續數值數據類型,則屬性只有一個輸出節點。

注意

羅吉斯回歸演算法會使用神經網路的特殊案例,其中只有一個可預測的結果,而且可能有許多輸入。 羅吉斯回歸不會使用隱藏層。

探索輸入和子網結構最簡單的方式,就是使用 Microsoft 泛型內容樹視圖器。 您可以按下任何節點加以展開,並查看子節點,或檢視節點中包含的權數和其他統計數據。

若要處理資料,並查看模型如何與輸出相互關聯輸入,請使用類神經網路檢視器 Microsoft。 藉由使用此自定義查看器,您可以篩選輸入屬性及其值,並以圖形方式查看它們如何影響輸出。 查看器中的工具提示會顯示與每對輸入和輸出值相關聯的機率和增益。 如需詳細資訊,請參閱 使用Microsoft類神經網路查看器流覽模型

類神經網路模型的模型內容

本節僅提供採礦模型內容中具有神經網路特定相關性之數據行的詳細數據和範例。 如需架構數據列集中一般用途數據行的相關信息,例如MODEL_CATALOG和MODEL_NAME,如這裡未描述,或如需採礦模型術語的說明,請參閱 採礦模型內容(Analysis Services - 數據採礦)

MODEL_CATALOG
儲存模型的資料庫名稱。

MODEL_NAME
模型的名稱。

ATTRIBUTE_NAME
對應至此節點的屬性名稱。

節點 內容
模型根目錄 空白
臨界統計數據 空白
輸入層 空白
輸入節點 輸入屬性名稱
隱藏層 空白
隱藏節點 空白
輸出層 空白
輸出節點 輸出屬性名稱

NODE_NAME
節點的名稱。 此數據列包含與NODE_UNIQUE_NAME相同的值。

NODE_UNIQUE_NAME
節點的唯一名稱。

如需名稱和標識碼如何提供模型結構資訊的詳細資訊,請參閱使用節點名稱和標識碼一節

NODE_TYPE
類神經網路模型會輸出下列節點類型:

節點類型標識碼 描述
1 型。
17 子網的召集人節點。
18 輸入層的召集人節點。
19 隱藏圖層的召集人節點。
20 輸出層的召集人節點。
21 輸入屬性節點。
22 隱藏層節點
23 輸出屬性節點。
24 臨界統計數據節點。

NODE_CAPTION
與節點相關聯的標籤或標題。 在類神經網路模型中,一律為空白。

CHILDREN_CARDINALITY
估計節點擁有的子係數目。

節點 內容
模型根目錄 表示子節點計數,其中包含至少 1 個網路、1 個必要的臨界節點,以及 1 個必要的輸入層。 例如,如果值為5,則有3個子網。
臨界統計數據 一律為 0。
輸入層 指出模型所使用的輸入屬性值組數目。
輸入節點 一律為 0。
隱藏層 指出模型所建立的隱藏節點數目。
隱藏節點 一律為 0。
輸出層 表示輸出值的數目。
輸出節點 一律為 0。

PARENT_UNIQUE_NAME
節點父代的唯一名稱。 根層級的任何節點會傳回NULL。

如需名稱和標識碼如何提供模型結構資訊的詳細資訊,請參閱使用節點名稱和標識碼一節

NODE_DESCRIPTION
節點的用戶易記描述。

節點 內容
模型根目錄 空白
臨界統計數據 空白
輸入層 空白
輸入節點 輸入屬性名稱
隱藏層 空白
隱藏節點 整數,表示隱藏節點清單中隱藏節點的順序。
輸出層 空白
輸出節點 如果輸出屬性是連續的,則包含輸出屬性的名稱。

如果輸出屬性是離散或離散化,則包含屬性的名稱和值。

NODE_RULE
內嵌在節點中之規則的 XML 描述。

節點 內容
模型根目錄 空白
臨界統計數據 空白
輸入層 空白
輸入節點 XML 片段,其中包含與NODE_DESCRIPTION數據行相同的資訊。
隱藏層 空白
隱藏節點 整數,表示隱藏節點清單中隱藏節點的順序。
輸出層 空白
輸出節點 XML 片段,其中包含與NODE_DESCRIPTION數據行相同的資訊。

MARGINAL_RULE
針對類神經網路模型,一律為空白。

NODE_PROBABILITY
與此節點相關聯的機率。 針對類神經網路模型,一律為0。

MARGINAL_PROBABILITY
從父節點到達節點的機率。 針對類神經網路模型,一律為0。

NODE_DISTRIBUTION
巢狀數據表,其中包含節點的統計數據。 如需每個節點類型之此數據表內容的詳細資訊,請參閱瞭解NODE_DISTRIBUTION數據表一節 瞭解。

NODE_SUPPORT
針對類神經網路模型,一律為0。

注意

支援機率一律為 0,因為此模型類型的輸出不是概率。 只有權數對演算法有意義;因此,演算法不會計算機率、支援或變異數。

若要取得特定值定型案例中支援的相關信息,請參閱臨界統計數據節點。

MSOLAP_MODEL_COLUMN

節點 內容
模型根目錄 空白
臨界統計數據 空白
輸入層 空白
輸入節點 輸入屬性名稱。
隱藏層 空白
隱藏節點 空白
輸出層 空白
輸出節點 輸入屬性名稱。

MSOLAP_NODE_SCORE
針對類神經網路模型,一律為0。

MSOLAP_NODE_SHORT_CAPTION
針對類神經網路模型,一律為空白。

言論

定型類神經網路模型的目的是判斷與每個從輸入轉換到中間點,以及從中點到端點的關聯權數。 因此,模型輸入層主要存在來儲存用來建置模型的實際值。 隱藏層會儲存已計算的權數,並提供指標回到輸入屬性。 輸出層會儲存可預測的值,同時也會提供指向隱藏層中點的指標。

使用節點名稱和識別碼

類神經網路模型中節點的命名提供節點類型的其他資訊,讓您更輕鬆地將隱藏層與輸入層,以及輸出層關聯至隱藏層。 下表顯示指派給每一層節點之標識符的慣例。

節點類型 節點標識碼的慣例
模型根目錄 (1) 00000000000000000.
臨界統計數據節點 (24) 10000000000000000
輸入層 (18) 30000000000000000
輸入節點 (21) 從 600000000000000000 開始
子網 (17) 20000000000000000
隱藏層 (19) 40000000000000000
隱藏節點 (22) 從 700000000000000000 開始
輸出層 (20) 50000000000000000
輸出節點 (23) 從 800000000000000000 開始

您可以檢視隱藏節點中NODE_DISTRIBUTION數據表,以判斷哪些輸入屬性與特定隱藏層節點相關(NODE_TYPE = 22)。 NODE_DISTRIBUTION數據表的每個數據列都包含輸入屬性節點的標識碼。

同樣地,您可以在輸出節點中檢視NODE_DISTRIBUTION數據表,以判斷哪些隱藏層與輸出屬性相關(NODE_TYPE = 23)。 NODE_DISTRIBUTION數據表的每個數據列都包含隱藏層節點的標識碼,以及相關的係數。

解譯NODE_DISTRIBUTION數據表中的資訊

NODE_DISTRIBUTION數據表在某些節點中可以是空的。 不過,對於輸入節點、隱藏層節點和輸出節點,NODE_DISTRIBUTION數據表會儲存模型的重要且有趣的資訊。 為了協助您解譯這項資訊,NODE_DISTRIBUTION數據表包含每個數據列的 VALUETYPE 數據行,告訴您ATTRIBUTE_VALUE數據行中的值是否為 Discrete (4)、離散化 (5) 或連續 (3)。

輸入節點

輸入層包含模型中所用屬性之每個值的節點。

Discrete 屬性: 輸入節點只會將屬性的名稱及其值儲存在ATTRIBUTE_NAME和ATTRIBUTE_VALUE數據行中。 例如,如果 [Work Shift] 是數據行,則會針對模型中使用的每一個數據行值建立個別節點,例如 AM 和 PM。 每個節點NODE_DISTRIBUTION數據表只會列出屬性的目前值。

離散化數值屬性: 輸入節點會儲存屬性的名稱,以及可以是範圍或特定值的值。 所有值都以表達式表示,例如 『77.4 - 87.4』 或 『< 64.0』 的值 [每個問題的時間]。 每個節點NODE_DISTRIBUTION數據表只會列出屬性的目前值。

連續屬性: 輸入節點會儲存屬性的平均值。 每個節點NODE_DISTRIBUTION數據表只會列出屬性的目前值。

隱藏層節點

隱藏層包含一個可變數目的節點。 在每個節點中,NODE_DISTRIBUTION數據表包含從隱藏層到輸入層節點的對應。 ATTRIBUTE_NAME數據行包含對應至輸入層中節點的節點標識碼。 ATTRIBUTE_VALUE數據行包含與輸入節點和隱藏層節點之組合相關聯的權數。 數據表中的最後一個數據列包含一個係數,代表隱藏層中該隱藏節點的加權。

輸出節點

輸出層會針對模型中使用的每個輸出值,各包含一個輸出節點。 在每個節點中,NODE_DISTRIBUTION數據表包含從輸出層到隱藏層中節點的對應。 ATTRIBUTE_NAME數據行包含對應至隱藏層中節點的節點標識碼。 ATTRIBUTE_VALUE數據行包含與輸出節點和隱藏層節點組合相關聯的權數。

NODE_DISTRIBUTION數據表有下列其他資訊,視屬性的類型而定:

Discrete 屬性: NODE_DISTRIBUTION 數據表的最後兩個數據列包含整個節點的係數,以及屬性的目前值。

離散化數值屬性: 與離散屬性相同,但屬性的值是值範圍。

連續屬性: NODE_DISTRIBUTION 數據表的最後兩個數據列包含屬性的平均值、整個節點的係數,以及係數的變異數。

另請參閱

Microsoft 類神經網路演算法
Microsoft 類神經網路演算法技術參考
類神經網路模型查詢範例