LpNormNormalizingEstimator 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將輸入欄位中的向量正規化(縮放)為單位範數。 使用者可以指定所使用的範數類型。
public sealed class LpNormNormalizingEstimator : Microsoft.ML.Transforms.LpNormNormalizingEstimatorBase
type LpNormNormalizingEstimator = class
inherit LpNormNormalizingEstimatorBase
Public NotInheritable Class LpNormNormalizingEstimator
Inherits LpNormNormalizingEstimatorBase
- 繼承
-
LpNormNormalizingEstimator
備註
估算器特性
| 這個估計器需要查看資料來訓練參數嗎? | No |
| 輸入欄位資料型別 | Single 向量 |
| 輸出欄位資料型態 | Single 向量 |
| 可匯出至 ONNX | Yes |
結果 LpNormNormalizingTransformer 是將輸入欄位中的向量個別正規化,透過重新縮放到單位範數。
設 $x$ 為輸入向量,$n$ 為向量大小,$L(x)$ 為使用者選擇的範數函數。 設 $\mu(x) = \sum_i x_i / n$ 為向量 $x$ 值的平均值。 對 LpNormNormalizingTransformer 每個輸入向量 $x$ 執行以下操作:$y = \frac{x - \mu(x)}{L(x)}$ 如果使用者指定平均值應為零,否則:$y = \frac{x}{L(x)}$
使用者可選擇四種範數類型,應用於輸入向量 $x$。 它們的定義如下:
- L1: $L_1(x) = \sum_i |x_i|$
- L2: $L_2(x) = \sqrt{\sum_i x_i^2}$
- Infinity: $L_{\infty}(x) = \max_i{|x_i|}$
- StandardDeviation: $L_\sigma(x)$ 定義為輸入向量 $x$ 元素的標準差
請參考「參見」區塊,裡面有使用範例的連結。
方法
| 名稱 | Description |
|---|---|
| Fit(IDataView) |
將輸入欄位中的向量正規化(縮放)為單位範數。 使用者可以指定所使用的範數類型。 (繼承來源 TrivialEstimator<TTransformer>) |
| GetOutputSchema(SchemaShape) |
回傳 SchemaShape 由變壓器產生的結構結構。 用於結構傳播與管線驗證。 (繼承來源 LpNormNormalizingEstimatorBase) |
擴充方法
| 名稱 | Description |
|---|---|
| AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
在估計鏈中附加一個「快取檢查點」。 這將確保下游估計器能針對快取資料進行訓練。 在訓練師接受多次資料通行前設置快取檢查點會很有幫助。 |
| WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
給定一個估計器,回傳一個包裹物件,該物件會呼叫一次 Fit(IDataView) 代理。 估計器通常回傳擬合的資訊很重要,因此該 Fit(IDataView) 方法回傳一個特定型別的物件,而非一般 ITransformer的 。 然而,同時, IEstimator<TTransformer> 通常會被組成包含許多物件的管線,因此我們可能需要建立一條估計鏈,將 EstimatorChain<TLastTransformer> 我們想要取得變壓器的估計器埋藏在這條鏈的某處。 在這種情況下,我們可以透過此方法附加一個代理,當 fit 被呼叫時會被呼叫。 |