成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Tensorflow快餐教程(5) - 范數(shù)

RancherLabs / 1482人閱讀

摘要:當(dāng)時,范數(shù)稱為歐幾里得范數(shù)。更嚴格地說,范數(shù)是滿足下列性質(zhì)的任意函數(shù)這條被稱為三角不等式范數(shù)的推廣除了范數(shù)之外,在機器學(xué)習(xí)中還常用范數(shù),就是所有元素的絕對值的和。

摘要: 范數(shù)的定義和Tensorflow實現(xiàn)

矩陣進階 - 范數(shù)

作為快餐教程,我們盡可能多上代碼,多介紹工具,少講原理和公式。但是我也深知這樣是無法講清楚的,畢竟問題的復(fù)雜度擺在這里呢。與大家一起在Tensorflow探索一圈之后,我一定要寫一個數(shù)學(xué)基礎(chǔ)比較扎實的進一步教程。

范數(shù)(norm)初識

一般大學(xué)本科的《線性代數(shù)》教材中是不講范數(shù)、廣義逆這些知識的,需要學(xué)習(xí)《矩陣論》課程。但是很不幸,深度學(xué)習(xí)中會頻繁用到。所以我們還是要有個基礎(chǔ)的概念的。

不管是一個向量,還是一個矩陣,我們在機器學(xué)習(xí)中都經(jīng)常需要有一個對于它們大小的度量。
對于向量的度量,我們的第一印象就用向量的長度就是了么。換成更有文化一點的名詞就是歐基里得距離。這么高大上的距離,其實就是所有的值的平方的和的平方根。

我們可以用ord="euclidean"的參數(shù)來調(diào)用tf.norm來求歐基里得范數(shù)。
例:

>>> a02 = tf.constant([1,2,3,4],dtype=tf.float32)
>>> sess.run(tf.norm(a02, ord="euclidean"))
5.477226

這沒啥神秘的,我們用sqrt也照樣算:

>>> np.sqrt(1*1+2*2+3*3+4*4)

下面我們將向量的范數(shù)推廣到矩陣。其實還是換湯不換藥,還是求平方和的平方根。

>>> a03 = tf.constant([[1,2],[3,4]],dtype=tf.float32)
>>> a03

>>> sess.run(a03)
array([[1., 2.],
       [3., 4.]], dtype=float32)

原來一排的向量,現(xiàn)在換成2x2的矩陣,我們繼續(xù)求范數(shù)?,F(xiàn)在有個高大上的名字叫做Frobenius范數(shù)。

sess.run(tf.norm(a03,ord=2))
5.477226

嗯,一算下來還是跟[1,2,3,4]向量的范數(shù)值是一樣的。

范數(shù)的定義
歐幾里得范數(shù)和Frobenius范數(shù)只是范數(shù)的特例。更一般地,范數(shù)的定義如下:
∥x∥p=(∑i|xi|p)1p
其中,p∈R,p≥1
范數(shù)本質(zhì)上是將向量映射到非負值的函數(shù)。當(dāng)p=2時,L2范數(shù)稱為歐幾里得范數(shù)。因為在機器學(xué)習(xí)中用得太多了,一般就將∥x∥2簡寫成∥x∥。

更嚴格地說,范數(shù)是滿足下列性質(zhì)的任意函數(shù):

f(x)=0?x=0

f(x+y)≤f(x)+f(y) (這條被稱為三角不等式, triangle inequality)

?α∈R,f(αx)=|α|f(x)

范數(shù)的推廣

除了L2范數(shù)之外,在機器學(xué)習(xí)中還常用L1范數(shù),就是所有元素的絕對值的和。

有時候,我們只想計算向量或者矩陣中有多少個元素,這個元素個數(shù)也被稱為L0范數(shù)。但是,這種叫法是不科學(xué)的,因為不符合上面三條定義中的第三條。一般建議還是使用L1范數(shù)。

我們來看下L1范數(shù)的例子:

>>> sess.run(tf.norm(a03,ord=1))

10.0
另外,還有一個范數(shù)是L∞范數(shù),也稱為最大范數(shù)(max norm). 最大范數(shù)表示向量中具有最大幅值的元素的絕對值。

我們可以用ord=np.inf的參數(shù)來求最大范數(shù)。

>>> sess.run(tf.norm(a03,

列表項目

ord=np.inf))

4.0

范數(shù)與賦范空間
最后,我們還是看一下數(shù)學(xué)上對于范數(shù)的嚴格定義。經(jīng)過上面對于概念和代碼實現(xiàn)的了解,現(xiàn)在這個定義已經(jīng)不難理解了。

定義1 向量范數(shù):設(shè)V是數(shù)域F上的線性空間,且對于V的任一個向量x,對應(yīng)一個非負實數(shù)∥x∥,滿足以下條件:

正定性:∥x∥≥0, ∥x∥=0當(dāng)且僅當(dāng)x=0

齊次性:∥αx∥=|α|∥x∥,a∈F

三角不等式:對任意x,y∈V,都有∥x+y∥≤∥x∥+∥y∥,則稱∥x∥為向量x的范數(shù),[V;∥?∥]為賦范空間。

定義2 矩陣范數(shù):設(shè)A∈Cm×n,對每一個A,如果對應(yīng)著一個實函數(shù)N(A),記為∥A∥,它滿足以下條件

非負性:∥A∥≥0, 正定性:A=Om×n?∥A∥=0

齊次性:∥αA∥=|α|∥A∥,α∈C
三角不等式: ∥A+B∥≤∥A∥∥B∥,?B∈Cm×n,則稱N(A)=∥A∥為A的廣義矩陣范數(shù)。進一步,若對Cm×n,Cn×l,Cm×l上的同類廣義矩陣范數(shù)∥?∥,有下面的結(jié)論:
(矩陣乘法的)相容性:∥AB∥≤∥A∥∥B∥,B∈Cn×l,則稱N(A)=∥A∥為A的矩陣范數(shù)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/41616.html

相關(guān)文章

  • Tensorflow快餐教程(3)- 向量

    摘要:向量雖然簡單,高效,且容易理解??焖偕上蛄康姆椒ê瘮?shù)生成等差數(shù)列函數(shù)用來快速生成一個等差數(shù)列。例拼瓷磚就是將一段向量重復(fù)若干次。向量操作將向量反序可以使用函數(shù)。向量計算向量加減法同樣長度的向量之間可以進行加減操作。 摘要: Tensorflow向量操作 向量 向量在編程語言中就是最常用的一維數(shù)組。二維數(shù)組叫做矩陣,三維以上叫做張量。 向量雖然簡單,高效,且容易理解。但是與操作0維的標...

    draveness 評論0 收藏0

發(fā)表評論

0條評論

RancherLabs

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<