日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab求logistics映射 的le_高维映射 与 核方法(Kernel Methods)

發(fā)布時間:2023/12/4 循环神经网络 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab求logistics映射 的le_高维映射 与 核方法(Kernel Methods) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

高維映射跟核方法的概念很容易混淆。

高維映射通過將樣本從原始空間映射到一個更高維的特征空間,從而解決了低緯下難以解決的問題。

核方法往往跟高維映射配合使用,可以看做是一種技巧,可以通過它來避免這種映射的計算。

下面詳細介紹一下這兩個概念。

一、高維映射

我們知道,線性回歸是用一條直線來擬合數據。但是我們往往會遇到數據并不服從線性分布的情況,比如:

上圖這種情況,明顯是一個二次函數的分布。如果我們仍舊用線性回歸方程

,那結果是擬合了一條直線,這條直線無論如何也不能完美擬合出這樣的二次函數的分布。

于是,我們選擇變成一個二次方程來擬合:

它雖然是個二次函數,其實仍然可以看成是一個線性回歸。但是現(xiàn)在不是對

的線性回歸,而是對于一個更高維度的向量 的線性回歸:

假如把 輸入

看成是一個 1 維的向量,那么 其實就是一個關于 的,更高維度的向量。我們把這種能夠把一個向量提升維度的函數,叫做 , 。直觀上來講,在應用了 以后,向量 被拉長了,所以我們把它叫做拉伸函數好了。

拉伸函數是一類函數,表面上看,只要是能把一個向量經過各種修改讓它的維度變高,這樣的函數都能當成拉伸函數來用。然而并不是這樣的,假如你只是單純地對向量

的分量做線性組合,你會發(fā)現(xiàn)實際上并沒有提升它的空間,比如我設計一種純線性組合的拉伸的函數:

拉伸為 ,那么 ,

那么對于提升后的方程,

,乍一看是把2維提升到了4維。其實通過變換以后,相當于還是在對 做線性組合。要選擇確確實實提升了維度的拉伸函數。而且,我們的拉伸函數得把原來向量的每個維度都得照顧到。

這里分布是一個二次函數,如果我們遇到了更加復雜的函數,我們依然可以通過選取合適的拉伸函數來變成線性的問題。幸運的是可以證明,只要數據的分布在維度有限的空間上,我們總是(發(fā))能夠找到一個更高維度的空間,使得它的分布是線性的。

因此通過高維映射以后,不管原來是不是線性的,總能通過對向量

做拉伸變化,轉化成一個高維空間里的線性的回歸問題:

二、求解高維映射后的線性方程

如果不做高維映射的話,線性回歸的解是:

不明白的可以看看我另外一篇的講線性回歸的,里面包含了推導過程。

折射:線性回歸Linear regression?zhuanlan.zhihu.com

我舉個例子,幫助你回憶一下里面各個符號的含義。假設我們有5個訓練樣本

,每個樣本的有2個維度

公式中的

就是把所有訓練集拼成的矩陣,每行代表一個訓練樣本。 是一個對角全為 1 ,其他位置全是0的單位矩陣, 是每個樣本輸出值拼成的一個向量:

如果我們要對這個公式進行高維映射,也就是說我們對

里的每個樣本,也就是每一行的向量都進行了拉伸變換,像這樣,我們把拉伸過后的函數叫做 :

我們用

替換公式里的 ,從而得到:

好了,右邊全都是已知量,我們已經解出來了這個模型了。

我們做完高維映射之后的線性方程,要如何去預測模型呢?來模擬一下這個過程:

假設,我們現(xiàn)在有

個訓練數據,每個數據是 維的。

第一步,我們得計算出

來。

首先把每個數據當成一行,拼成一個矩陣

。然后把矩陣的每一行用拉伸函數做拉伸,從而得到 ,最后再套公式求得 :

第二步,下面我們就來利用它做預測了,假如我們要預測

的輸出值 ,我們又得先對變量 做一次拉伸,得到 ,再乘上權重,才能求出它的預測值 :

看看上面的過程中,我們用了多少次拉伸函數。在訓練過程中,我們對訓練集里面每個樣本都用了一次拉伸。在預測的時候,我們又要對預測集里面的每個樣本做一次拉伸。現(xiàn)在我告訴你,拉伸函數往往計算量非常大,那么計算這個拉伸顯然是一個非常大的開銷。

雖然說理論上,因為有限維度的數據必然存在一個拉伸函數將數據映射到高維并且滿足線性分布。也就是說必然存在一個完美的拉伸函數。然而,我們往往并不知道到底怎么樣的函數才是完美的拉伸函數,選擇合適的拉伸函數也是一個非常麻煩的問題。

現(xiàn)在我告訴你,我們有一種取巧的辦法。使得我們根本不用計算拉伸函數,有時候甚至你都不需要知道拉伸函數是什么,我們依然能夠做預測。這個無比巧妙的簡便方法,幫助我們跳過了拉伸的步驟,這個方法就叫做核方法。

三、核函數(Kernel function)

你可能非常迫切地想知道這個巧妙的核方法到底是什么。但是我要在這里賣個關子,不直接告訴你核方法是怎么來的,我們從定義出發(fā)一步一步慢慢推導出來。

現(xiàn)在我要轉換一下話題,我們先研究研究這個拉伸函數

。我們給它搭配一個“兄弟”,假設向量 是某個跟 同樣維度的某個向量,我們對 也同樣做拉伸。并且拉伸完之后,我們把這兩個向量求內積。

我們知道,兩個向量做內積得到的是一個值。這個過程中,我們先是把兩個向量拉伸到高維,然后又通過求內積變回一維。

在數學里面,有這樣一類函數,它的參數是2個向量,它的輸出是一個標量值。它有個特點,就是對于任何相同形狀的輸入向量

,它總能改寫成這樣的形式:

解釋一下,這類函數對于任何輸入向量

,它都能改寫成分別對兩個輸入向量做拉伸以后再求內積的表達形式。

這類核函數每個都有各自的表達式,舉個例子:

線性核:

多項式核:

注意到,這個表達式里面是不含有拉伸函數的。但是它既然滿足核函數的條件,它一定是能改寫成兩個向量拉伸求內積的形式。

線性核里面隱藏的變換就是做線性拉伸變換(我們之前討論過,光用線性拉伸是不能解決非線性問題的)。多項式核自然就是做幾次方的拉伸變換。換句話說,每一個能被叫做核函數的函數,里面都藏著一個對應拉伸的函數。這些核函數的命名通常也跟如何做拉伸變換有關系。

總結一下,我們現(xiàn)在反了過來,先找滿足核函數條件的的表達式,再倒推出一種映射關系。我們選哪個核函數,實際上就是在選擇用哪種方法映射。通過核函數,我們就能跳過映射的過程。

四、核方法(Kernel method)

好了,現(xiàn)在我們打定主意,要利用核函數來跳過做映射了。我們假如找到了一個核函數,也就是說我們的拉伸函數也定下來了。我們改寫一下核函數的參數,寫成這樣的形式:

到底要怎么利用呢?先觀察一下高維映射以后的模型表達式:

觀察一下上面兩個公式,你一定能夠聯(lián)想到,肯定要從這個

上面做點文章。沒錯,我們現(xiàn)在就是要想辦法從 里面分離出一個 項來,跟我們的 搭配在一起組成我們的核函數的表達式。

先看看

的計算公式:

在這里跟拉伸項最有關系的一項就是

了,注意這里全都是在做線性組合,

我們我們可以令

,這里的 我們不知道是什么東西,只知道它是一個向量。

使用

有什么好處呢?

試著把它展開一下,矩陣乘向量的怎么寫成求和的形式呢。其實矩陣右乘一個向量,相當于對矩陣的每一列都乘對于向量位置的分量再累加,如圖所示:

矩陣

是轉置過的,它的每一列代表一個訓練數據,為了避免混淆,我們用 表示第n個訓練數據,可以表示為:

用右邊這個替換我們模型里面的

看到沒有,我們右邊已經出現(xiàn)了一個核函數的表達形式了。我們可以直接根據公式

來替換右邊,從而得到:

現(xiàn)在的y表達式中,已經不含有拉伸函數項了,這樣我們就避開了求拉伸函數的過程。

但是你會發(fā)現(xiàn),我們并不知道

是什么,現(xiàn)在我們就來求這個 。

我們得從求

的表達式開始了,假設我們用最小二乘法做,首先從損失函數開始,同時加入了L2正則項:

如果加了L2正則以后的線性損失函數的公式看不懂,可以去看我寫的 機器學習中的正則化,L1 L2正則。 令

,將 代入到函數中:

求關于

的偏導,并且等于0,可得:

解得:

再看

現(xiàn)在我們把所有的拉伸函數都消除掉了。我們現(xiàn)在就可以用求出來的

來做預測,使用之前我們推出來的公式:

五、總結

在使用機器學習模型做回歸或者分類的時候,假如在低維度空間下數據集不好用,那么可以嘗試通過把輸入的值做高維映射來解決。高維映射不僅僅用于線性回歸,包括邏輯回歸,還有SVM,尤其是SVM。

由于做高維映射的計算量比較大。當我們遇到需要做高維映射的時候

,可以通過核方法,把需要學習的模型配出一項來組成 的形式,然后用一個核函數 來替換它,從而消除掉把低維向量往高維映射的過程。這種替換的技巧就叫做核方法,能夠實現(xiàn)替換目的的函數叫做核函數。

利用核方法并非沒有缺點。原來的線性模型顯然是一種參數化方法,好處是訓練完成的模型只需要存儲權重向量

。然而在使用了核方法以后,由于我們用訓練集替換掉了權重項,因此相當于轉化成了非參數化的方法,顯然增加了需要存儲的數據量,同時每一次做預測都需要用到全部訓練數據集。對于參數化和非參數化方法的概念可以看我的另外一篇文章:折射:機器學習中的正則化,L1 L2正則?zhuanlan.zhihu.com

原創(chuàng),轉載請注明出處。

初學者,不可避免出現(xiàn)錯誤。如果有任何問題,歡迎指正。也歡迎一起交流、討論。

歡迎關注我的專欄:

https://zhuanlan.zhihu.com/c_1024970634371186688?zhuanlan.zhihu.com

總結

以上是生活随笔為你收集整理的matlab求logistics映射 的le_高维映射 与 核方法(Kernel Methods)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。