「線性迴歸」元件
本文描述 Azure Machine Learning 設計工具的元件。
您可以使用此元件來建立線性迴歸模型,以便在管線中使用。 線性迴歸會嘗試建立一或多個獨立變數與數值結果,或相依變數之間的線性關聯。
您可以使用此元件來定義線性迴歸方法,然後使用加上標籤的資料集來定型模型。 然後,定型的模型就可用來進行預測。
關於線性迴歸
線性迴歸是一種常見的統計方法,機器學習已採用此方法,並增強許多調整線性和測量誤差的新方法。 簡而言之,迴歸是指數值目標的預測。 當您想要一個簡單的模型來進行基本的預測工作時,線性迴歸仍是一個不錯的選擇。 線性迴歸通常也可在高維度、缺乏複雜性的疏鬆資料集上順利運作。
除了線性迴歸之外,Azure Machine Learning 還支援各種不同的迴歸模型。 不過,「迴歸」一詞可以廣義解讀,而且不支援其他工具中提供的某些迴歸類型。
傳統迴歸問題涉及單一的獨立變數和相依變數。 這稱為簡單的迴歸。 此元件支援簡單的迴歸。
多重線性迴歸涉及兩個以上的獨立變數,這些變數構成單一相依變數。 使用多個輸入來預測單一數值結果的問題也稱為多變量線性迴歸。
線性迴歸元件可解決這些問題,就像大部分其他迴歸元件一樣。
多標籤迴歸是在單一模型中預測多個相依變數的工作。 例如,在多標籤羅吉斯迴歸,一個範例可以指派給多個不同的標籤。 (這與單一類別變數中預測多重層級的工作不同。)
Azure Machine Learning 不支援此類型的迴歸。 若要預測多個變數,請針對您想要預測的每個輸出建立個別的學習模組。
多年來,統計學家也不斷開發越來越進階的迴歸方法。 即使是線性迴歸也是如此。 此元件支援兩種方法來測量錯誤並調整迴歸線:普通最小平方方法和梯度下降。
梯度下降法會在模型定型程序的每個步驟中最小化誤差數量。 梯度下降有許多種變異形式,且其各種學習問題已經過廣泛的研究,而最佳化。 如果您針對解決方案方法選擇此選項,您可以設定各種不同的參數,來控制階梯大小、學習速率等等。 此選項也支援使用整合式參數掃掠。
普通最小平方是線性迴歸中最常用的技術之一。 例如,最小平方是 Microsoft Excel 的 [分析工具箱] 中使用的方法。
普通最小平方會使用損失函數,計算實際值與預測線之差距的平方和以求出誤差,並藉由將平方誤差最小化來配適模型。 此方法假設輸入與相依變數之間有很強的線性關聯。
設定線性迴歸
此元件支援使用不同選項來調整回歸模型的兩種方法:
-
如果是小型資料集,建議您選取普通最小平方。 這應該會產生類似於 Excel 的結果。
-
對於較為複雜的模型,或是沒有足夠的定型資料供給定的變數數目使用的模型,梯度下降會是較理想的損失函數。
使用普通最小平方來建立回歸模型
在設計工具中,將線性迴歸模型元件新增至您的管線。
您可以在 Machine Learning 類別中找到此元件。 展開 [初始化模型],展開 [迴歸],然後將線性迴歸模型元件拖曳到您的管線。
在 [屬性] 窗格中,在 [解決方案方法] 下拉式清單中,選取 [普通最小平方]。 此選項會指定用於尋找迴歸線的計算方法。
在 [L2 正規化權重] 中,輸入要用來做為 L2 正規化權重的值。 建議您使用非零值,以避免過度學習。
若要深入了解正規化如何影響模型調整,請參閱文章:適用於 Machine Learning 的 L1 和 L2 正規化
如果您想要檢視攔截的字詞,請選取 [包含攔截字詞] 選項。
如果您不需要檢閱迴歸公式,請取消選取此選項。
對於亂數種子,您可以選擇性地輸入值來植入模型所使用的亂數產生器。
如果您想要讓相同管線在每次執行時都保有相同結果,則適合使用種子值。 否則,預設值會使用系統時鐘的值。
提交管線。
普通最小平方模型的結果
定型完成後:
使用線上梯度下降來建立迴歸模型
在設計工具中,將線性迴歸模型元件新增至您的管線。
您可以在 Machine Learning 類別中找到此元件。 展開 [初始化模型],展開 [迴歸],然後將線性迴歸模型元件拖曳到您的管線
在 [屬性] 窗格中,在 [解決方案方法] 下拉式清單中,選擇 [線上梯度下降] 做為用來尋找迴歸線的計算方法。
對於 [建立定型模型],指出您是否要使用預先定義的一組參數來定型模型,或是否要使用參數掃掠來最佳化模型。
單一參數:如果您知道要如何設定線性迴歸網路,您可以提供一組特定值做為引數。
參數範圍:如果您不確定最佳參數,且想要執行參數掃掠,請選取此選項。 選取要反覆運算的值範圍,而微調模型超參數會反覆運算您提供的所有可能設定組合,以判斷可產生最佳結果的超參數。
對於學習速率,請指定隨機梯度下降最佳化工具的初始學習速率。
對於定型 Epoch 數目,請輸入指出演算法應該逐一查看範例的次數值。 對於只有少數範例的資料集,這個數字應該要大到能夠達到收斂為止。
正規化功能:如果您已正規化用於定型模型的數值資料,則可以取消選取此選項。 依預設,此元件會將所有數值輸入正規化為介於 0 和 1 之間的範圍。
注意
請記得將相同的正規化方法套用至用於評分的新資料。
在 [L2 正規化權重] 中,輸入要用來做為 L2 正規化權重的值。 建議您使用非零值,以避免過度學習。
若要深入了解正規化如何影響模型調整,請參閱文章:適用於 Machine Learning 的 L1 和 L2 正規化
如果您想要將學習速率減少為反覆運算進度,請選取 [減少學習速率] 選項。
對於亂數種子,您可以選擇性地輸入值來植入模型所使用的亂數產生器。 如果您想要讓相同管線在每次執行時都保有相同結果,則適合使用種子值。
定型模型:
提交管線。
線上梯度下降的結果
定型完成後:
- 若要進行預測,請將定型的模型連接到計分模型元件,以及新的輸入資料。
後續步驟
請參閱 Azure Machine Learning 可用的元件集。