深度學習基礎之神經網路的資料表示

2021-08-28 10:24:37 字數 1442 閱讀 2274

本文均以python作為語言基礎。

1、張量(tensor)

張量的核心概念在於他是乙個資料容器,其包含的資料幾乎總是數值資料,因此,他是數字容器。張量是矩陣向任意維度的推廣。張量的維度,一般成為軸。一般來說,當前的所有機器學習系統都使用張量來作為基本資料結構,因此,他很重要。

2、標量(0d張量)

包含乙個數字的張量可以稱為標量,也叫做0d張量,在numpy中,用ndim屬性來標識張量軸的個數。標量有0個軸,ndim=0;而張量軸的個數,也可以叫做階(rank)。

>>> import numpy

>>> x = numpy.array(12)

>>> x.ndim

0>>>

3、向量(1d張量)

數字組成的陣列叫做向量,也叫作一維張量。一維張量只有乙個軸。向量也有維度,即向量包含的元素個數。向量有5個元素,就是5d向量。5d向量和5d張量不是乙個概念。5d向量只有乙個軸,沿著軸有5個維度。而5d張量有5個軸,每個軸有可能有任意個維度。維度就是沿著軸上的元素個數。

>>> import numpy

>>> x = numpy.array([1,2,3,4,5])

>>> x.ndim

1>>>

4、矩陣(2d張量)

矩陣很簡單,就是向量組成的陣列。也稱為2d張量。更高維度的張量類似,都是低維度張量的組合成新的陣列。

>>> import numpy

>>> x = numpy.array([[1,2,3,4,5],[4,5,6,7,8],[4,3,2,34,5]])

>>> x.ndim

2>>>

5、關鍵屬性

從上面可以總結出,張量具備三個基本屬性:

軸的個數(階):numpy中的ndim屬性

形狀:其實形狀在數字表示就是乙個整數元祖。表示的是張量在每乙個軸上的維度。比如(3,4)表示就是乙個矩陣的形狀,即3行4列。標量的形狀為空,即()。形狀在numpy中表示為shape

資料型別:即張量中包含的資料的資料型別。在numpy中,資料型別可以使用的dtype獲取。其可以為float32,uint8,float32等等。

>>> import numpy

>>> x = numpy.array([[1,2,3,4,5],[4,5,6,7,8],[4,3,2,34,5]])

>>> x.dtype

dtype('int32')

>>> x.shape

(3, 5)

>>>

深度學習之神經網路

神經網路由輸入層 隱藏層 輸出層組成 1 單層神經網路 感知機 類似邏輯回歸,線性分類,全連線 沒有啟用函式 2 兩層神經網路 多層感知機 帶乙個隱層,非線性分類,全連線 3 多層神經網路 深度學習 全連線 4 卷積神經網路 cnn 非全連線 5 迴圈神經網路 rnn 處理序列資料 作非線性變換 s...

機器學習之神經網路

機器學習是一門致力於研究如何通過計算的手段,利用經驗來改善系統自身的效能。經驗通常以資料的形式存在,因此機器學習所研究的主要內容是關於在計算機上從資料中產生 模型 的演算法,即 學習演算法 有了學習演算法,將經驗資料提供給它,它就能基於這些資料產生模型 當面對新情況時,模型會給我們提供相應的判斷。一...

PyTorch學習之神經網路

神經網路可以通過torch.nn包來構建,它是基於自動梯度來構建一些模型,乙個nn.module包括層和乙個方法forward input 同時也會返回乙個輸出 output 下圖是乙個簡單的前饋神經網路lenet,乙個簡單的神經網路包括一下幾點 super net,self 首先找到 net 的父...