我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

本文的目的是為剛入門的資料科學家提供支援。 在 上一篇文章 我們概述了解決線性迴歸方程式的三種方法:解析解、梯度下降、隨機梯度下降。 然後對於解析解,我們應用了公式 我們將線性迴歸方程式轉換為矩陣形式。 在本文中,如標題所示,我們將證明該公式的使用合理性,或者換句話說,我們將自己推導出它。

為什麼特別注意公式是有意義的 我們將線性迴歸方程式轉換為矩陣形式?

在大多數情況下,人們是透過矩陣方程式開始熟悉線性迴歸的。 同時,關於公式如何推導的詳細計算卻很少。

例如,在 Yandex 的機器學習課程中,當向學生介紹正規化時,他們會被要求使用庫中的函數 斯克萊恩,而關於演算法的矩陣表示卻隻字未提。 正是在這個時候,一些聽眾可能想更詳細地了解這個問題——在不使用現成函數的情況下編寫程式碼。 為此,您必須先以矩陣形式呈現帶有正規化器的方程式。 本文將幫助那些希望掌握這些技能的人。 讓我們開始吧。

初始條件

目標指標

我們有一系列目標值。 例如,目標指標可以是任何資產的價格:石油、黃金、小麥、美元等。 同時,目標指標值的數量指的是觀察的數量。 例如,這類觀察結果可以是當年的每月油價,也就是說,我們將有 12 個目標值。 讓我們開始介紹符號。 讓我們將目標指標的每個值表示為 我們將線性迴歸方程式轉換為矩陣形式。 我們總共有 我們將線性迴歸方程式轉換為矩陣形式 觀察,這意味著我們可以將我們的觀察表示為 我們將線性迴歸方程式轉換為矩陣形式.

回歸量

我們將假設存在一定程度解釋目標指標值的因素。 例如,美元/盧布匯率受到石油價格、聯準會利率等的強烈影響。這些因素稱為迴歸變數。 同時,每個目標指標值必須對應一個迴歸量值,也就是說,如果我們12年每個月有2018個目標指標,那麼同期我們也應該有12個迴歸量值。 讓我們將每個迴歸量的值表示為 我們將線性迴歸方程式轉換為矩陣形式。 讓我們的例子有 我們將線性迴歸方程式轉換為矩陣形式 回歸量(即 我們將線性迴歸方程式轉換為矩陣形式 影響目標指標值的因素)。 這意味著我們的回歸量可以表示如下:對於第一個回歸量(例如石油價格): 我們將線性迴歸方程式轉換為矩陣形式,對於第二個回歸量(例如,聯準會利率): 我們將線性迴歸方程式轉換為矩陣形式, 為了 ”我們將線性迴歸方程式轉換為矩陣形式-th”回歸器: 我們將線性迴歸方程式轉換為矩陣形式

目標指標對迴歸量的依賴性

讓我們假設目標指標的依賴性 我們將線性迴歸方程式轉換為矩陣形式 從回歸量“我們將線性迴歸方程式轉換為矩陣形式th」觀測值可以透過以下形式的線性迴歸方程式表示:

我們將線性迴歸方程式轉換為矩陣形式

哪裡 我們將線性迴歸方程式轉換為矩陣形式 -“我們將線性迴歸方程式轉換為矩陣形式-th" 迴歸量值從 1 到 我們將線性迴歸方程式轉換為矩陣形式,

我們將線性迴歸方程式轉換為矩陣形式 — 回歸量的數量從 1 到 我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式 — 角度係數,表示當迴歸量變化時,計算出的目標指標平均變化的量。

換句話說,我們是為所有人服務的(除了 我們將線性迴歸方程式轉換為矩陣形式)的迴歸量,我們確定「我們的」係數 我們將線性迴歸方程式轉換為矩陣形式,然後將係數乘以迴歸量的值“我們將線性迴歸方程式轉換為矩陣形式th“觀察,結果我們得到了一定的近似值”我們將線性迴歸方程式轉換為矩陣形式-th”目標指標。

因此,我們需要選擇這樣的係數 我們將線性迴歸方程式轉換為矩陣形式,此時我們的近似函數的值 我們將線性迴歸方程式轉換為矩陣形式 將盡可能接近目標指標值。

評估逼近函數的質量

我們將使用最小平方法來確定逼近函數的品質評估。 在這種情況下,品質評估函數將採用以下形式:

我們將線性迴歸方程式轉換為矩陣形式

我們需要選擇這樣的係數值$w$,其值 我們將線性迴歸方程式轉換為矩陣形式 將是最小的。

將方程式轉換為矩陣形式

向量表示

首先,為了讓您的生活更輕鬆,您應該注意線性迴歸方程,並注意第一個係數 我們將線性迴歸方程式轉換為矩陣形式 不乘以任何迴歸量。 同時,當我們將資料轉換為矩陣形式時,上述情況會使計算嚴重複雜化。 對此,建議為第一個係數引入另一個迴歸器 我們將線性迴歸方程式轉換為矩陣形式 並將其等同於一。 或者更確切地說,每一個“我們將線性迴歸方程式轉換為矩陣形式將該迴歸量的第 th 值等於 XNUMX - 畢竟,當乘以 XNUMX 時,從計算結果的角度來看,沒有任何變化,但從矩陣乘積規則的角度來看,我們的折磨將顯著減少。

現在,為了簡化材料,我們假設我們只有一個“我們將線性迴歸方程式轉換為矩陣形式-th”觀察。 然後,想像回歸量的值“我們將線性迴歸方程式轉換為矩陣形式-th" 觀測值作為向量 我們將線性迴歸方程式轉換為矩陣形式。 向量 我們將線性迴歸方程式轉換為矩陣形式 有維度 我們將線性迴歸方程式轉換為矩陣形式即, 我們將線性迴歸方程式轉換為矩陣形式 行和 1 列:

我們將線性迴歸方程式轉換為矩陣形式

讓我們將所需的係數表示為向量 我們將線性迴歸方程式轉換為矩陣形式,有維度 我們將線性迴歸方程式轉換為矩陣形式:

我們將線性迴歸方程式轉換為矩陣形式

線性迴歸方程式為“我們將線性迴歸方程式轉換為矩陣形式-th」觀察將採取以下形式:

我們將線性迴歸方程式轉換為矩陣形式

用於評估線性模型品質的函數將採用以下形式:

我們將線性迴歸方程式轉換為矩陣形式

請注意,根據矩陣乘法的規則,我們需要對向量進行轉置 我們將線性迴歸方程式轉換為矩陣形式.

矩陣表示

將向量相乘,我們得到數字: 我們將線性迴歸方程式轉換為矩陣形式,這是可以預料的。 這個數字是近似值“我們將線性迴歸方程式轉換為矩陣形式-th”目標指標。 但我們需要的不只是一個目標值,而是所有目標值的近似值。 為此,讓我們寫下所有內容“我們將線性迴歸方程式轉換為矩陣形式-th" 矩陣格式的迴歸量 我們將線性迴歸方程式轉換為矩陣形式。 所得矩陣的維度為 我們將線性迴歸方程式轉換為矩陣形式:

我們將線性迴歸方程式轉換為矩陣形式

現在線性迴歸方程式將採用以下形式:

我們將線性迴歸方程式轉換為矩陣形式

讓我們表示目標指標的值(所有 我們將線性迴歸方程式轉換為矩陣形式) 每個向量 我們將線性迴歸方程式轉換為矩陣形式 方面 我們將線性迴歸方程式轉換為矩陣形式:

我們將線性迴歸方程式轉換為矩陣形式

現在我們可以編寫矩陣格式的方程式來評估線性模型的品質:

我們將線性迴歸方程式轉換為矩陣形式

其實,從這個公式我們進一步得到我們已知的公式 我們將線性迴歸方程式轉換為矩陣形式

是如何做到的? 打開括號,進行微分,將結果表達式轉換等等,這正是我們現在要做的。

矩陣變換

我們打開括號

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

讓我們準備一個微分方程

為此,我們將進行一些改造。 如果向量在後面的計算中會更方便 我們將線性迴歸方程式轉換為矩陣形式 將在方程式中每個產品的開頭表示。

轉換1

我們將線性迴歸方程式轉換為矩陣形式

它是怎麼發生的? 要回答這個問題,只需查看相乘矩陣的大小,然後在輸出中看到我們得到一個數字或其他 我們將線性迴歸方程式轉換為矩陣形式.

讓我們寫下矩陣表達式的大小。

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

轉換2

我們將線性迴歸方程式轉換為矩陣形式

讓我們用與轉換1類似的方式來寫

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

在輸出中,我們得到一個必須對其進行微分的方程式:
我們將線性迴歸方程式轉換為矩陣形式

我們區分模型品質評估函數

讓我們對向量進行微分 我們將線性迴歸方程式轉換為矩陣形式:

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

疑問為什麼 我們將線性迴歸方程式轉換為矩陣形式 不應該有,但我們將更詳細地研究在其他兩個表達式中確定導數的運算。

差異化1

讓我們擴展一下差異化: 我們將線性迴歸方程式轉換為矩陣形式

為了確定矩陣或向量的導數,您需要查看它們內部的內容。 我們看看吧:

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式 我們將線性迴歸方程式轉換為矩陣形式

讓我們表示矩陣的乘積 我們將線性迴歸方程式轉換為矩陣形式 透過矩陣 我們將線性迴歸方程式轉換為矩陣形式。 矩陣 我們將線性迴歸方程式轉換為矩陣形式 正方形,而且是對稱的。 這些屬性對我們以後會有用,讓我們記住它們。 矩陣 我們將線性迴歸方程式轉換為矩陣形式 有維度 我們將線性迴歸方程式轉換為矩陣形式:

我們將線性迴歸方程式轉換為矩陣形式

現在我們的任務是正確地將向量乘以矩陣,而不是得到“二的兩倍等於五”,所以讓我們集中註意力並非常小心。

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

然而,我們已經實現了複雜的表達! 事實上,我們得到了一個數字——一個標量。 現在,我們真正轉向差異化。 有必要找到每個係數的結果表達式的導數 我們將線性迴歸方程式轉換為矩陣形式 並取得維度向量作為輸出 我們將線性迴歸方程式轉換為矩陣形式。 為了以防萬一,我將透過行動寫下程序:

1)區分為 我們將線性迴歸方程式轉換為矩陣形式,我們得到: 我們將線性迴歸方程式轉換為矩陣形式

2)區分為 我們將線性迴歸方程式轉換為矩陣形式,我們得到: 我們將線性迴歸方程式轉換為矩陣形式

3)區分為 我們將線性迴歸方程式轉換為矩陣形式,我們得到: 我們將線性迴歸方程式轉換為矩陣形式

輸出是承諾的大小向量 我們將線性迴歸方程式轉換為矩陣形式:

我們將線性迴歸方程式轉換為矩陣形式

如果您更仔細地觀察該向量,您會發現該向量的左側元素和相應的右側元素可以以這樣的方式分組,因此,可以將向量與呈現的向量分離 我們將線性迴歸方程式轉換為矩陣形式 拉薩梅拉 我們將線性迴歸方程式轉換為矩陣形式。 例如, 我們將線性迴歸方程式轉換為矩陣形式 (向量頂行的左側元素) 我們將線性迴歸方程式轉換為矩陣形式 (向量頂行的右側元素)可以表示為 我們將線性迴歸方程式轉換為矩陣形式我們將線性迴歸方程式轉換為矩陣形式 - 如何 我們將線性迴歸方程式轉換為矩陣形式 ETC。 在每一行上。 我們來分組:

我們將線性迴歸方程式轉換為矩陣形式

我們把向量取出來 我們將線性迴歸方程式轉換為矩陣形式 在輸出中我們得到:

我們將線性迴歸方程式轉換為矩陣形式

現在,讓我們仔細看看生成的矩陣。 此矩陣是兩個矩陣的和 我們將線性迴歸方程式轉換為矩陣形式:

我們將線性迴歸方程式轉換為矩陣形式

讓我們回想一下,之前我們注意到矩陣的一個重要屬性 我們將線性迴歸方程式轉換為矩陣形式 - 它是對稱的。 基於這個性質,我們可以自信地說,表達式 我們將線性迴歸方程式轉換為矩陣形式 等於 我們將線性迴歸方程式轉換為矩陣形式。 這可以透過逐個元素擴展矩陣乘積來輕鬆驗證 我們將線性迴歸方程式轉換為矩陣形式。 這裡就不做這個了,有興趣的可以自行查看。

讓我們回到我們的表達。 經過我們的改造,結果變成了我們想要的樣子:

我們將線性迴歸方程式轉換為矩陣形式

這樣,我們就完成了第一個微分。 讓我們繼續討論第二個表達式。

差異化2

我們將線性迴歸方程式轉換為矩陣形式

讓我們沿著老路走吧。 它會比前一個短很多,所以不要離螢幕太遠。

讓我們逐一元素展開向量和矩陣:

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

讓我們暫時將兩者從計算中刪除 - 它不會發揮很大的作用,然後我們將其放回原來的位置。 讓我們將向量乘以矩陣。 首先,我們將矩陣相乘 我們將線性迴歸方程式轉換為矩陣形式 到向量 我們將線性迴歸方程式轉換為矩陣形式,我們這裡沒有限制。 我們得到大小向量 我們將線性迴歸方程式轉換為矩陣形式:

我們將線性迴歸方程式轉換為矩陣形式

讓我們執行以下操作 - 乘以向量 我們將線性迴歸方程式轉換為矩陣形式 到結果向量。 出口處會有號碼等候我們:

我們將線性迴歸方程式轉換為矩陣形式

那我們就來區分一下。 在輸出中我們得到一個維度向量 我們將線性迴歸方程式轉換為矩陣形式:

我們將線性迴歸方程式轉換為矩陣形式

讓我想起了什麼? 這是正確的! 這是矩陣的乘積 我們將線性迴歸方程式轉換為矩陣形式 到向量 我們將線性迴歸方程式轉換為矩陣形式.

至此,第二次微分成功完成。

取而代之的是結論

現在我們知道平等是如何產生的 我們將線性迴歸方程式轉換為矩陣形式.

最後,我們將描述一種快速轉換基本公式的方法。

我們按照最小平方法來評估模型的質量:
我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

讓我們對結果表達式進行微分:
我們將線性迴歸方程式轉換為矩陣形式 我們將線性迴歸方程式轉換為矩陣形式

我們將線性迴歸方程式轉換為矩陣形式

文學

網路來源:

1) habr.com/en/post/278513
2) habr.com/ru/company/ods/blog/322076
3) habr.com/en/post/307004
4) nabatchikov.com/blog/view/matrix_der

教材、習題集:

1) 高等數學講義:完整課程/D.T. 書面——第四版。 – M.:虹膜出版社,4 年
2) 應用迴歸分析 / N. Draper、G. Smith - 第二版。 – M.:金融與統計,2(英文翻譯)
3)求解矩陣方程式的問題:
函數-x.ru/matrix_equations.html
mathprofi.ru/deistviya_s_matricami.html


來源: www.habr.com

添加評論