精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

學習過程中需要必備的線性代數知識

電子工程師 ? 來源:未知 ? 作者:李倩 ? 2018-10-04 09:02 ? 次閱讀

【導讀】線性代數是一種連續的、非離散的數學形式,許多計算機科學家對此缺乏應用經驗,掌握線性代數對理解深度學習算法至關重要。今天AI科技大本營就為大家整理了學習過程中需要必備的線性代數知識,并附上代碼實現,幫助大家加深理解。

為什么數學是必要的?

線性代數、概率論和微積分都是機器學習的“語言”。學習這些科目將有助于深入了解底層的算法機制和開發新的算法。從較低的層級來看,深度學習背后的一切都是以數學為基礎的。因此,理解基礎的線性代數對于探索深度學習和上手與深度學習相關的編程來說是必要的。

深度學習中的核心數據結構由標量、向量、矩陣和張量組成。從編程的角度來說,我們只需運用這些知識就能解決所有基本的線性代數問題。

參考閱讀:

https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.1-Scalars-Vectors-Matrices-and-Tensors/

標量

標量僅用于表達值的大小,也是零階張量的一個例子。符號 x ∈ ? 表示標量 x 屬于實數值數組“ ? ”。

在深度學習中我們比較關注以下幾個數集,?、?和?。? 表示正整數集(1,2,3,...)。 ? 表示整數集,它包含了正值、負值和零值。 ? 表示可以由兩個整數所構成的分數進行表達的有理數數集。

Python 中內置了少數幾種標量類型,如 int,float,complex,bytes,Unicode。而在 Python 庫 NumPy中,有 24 種新的基本數據類型來描述不同類型的標量。

參考閱讀:

https://docs.scipy.org/doc/numpy-1.14.0/reference/arrays.scalars.html

如何在Python中定義和運算標量?

以下代碼片段解釋了基礎的標量(Scalars)運算。

參考閱讀:

https://gist.github.com/vihar/fbd3406bd9ba2402465fb1c8f3d8b3a6#file-scalars-py

返回如下:

以下代碼片段用于檢驗所給的變量類型是否為標量。

參考閱讀:

https://gist.github.com/vihar/b9ef648d47c1cb3db977f13fd3071dc6#file-is_scalar-py

返回如下:

向量

向量是由多個單個數字組成的有序數組,也是一階張量的一個例子。向量是向量空間中的片段。向量空間則可以被認為是在特定長度(或維度)中所有可能存在的向量集合。我們通常說的現實世界中的三維空間,在數學里可以用向量空間表達為 ? ^ 3。

為了清晰明確地標示向量中的必要成分,向量中的第 i 個標量元素被記做 x[i] 。

在深度學習中,向量通常表示特征向量,它的原始成分則表示特定特征的相關程度。這些元素可以包括如二維圖像中一組像素的強度的相關重要性,或是金融工具的橫截面的歷史價格值。

如何在 Python 中定義和運算向量?

參考閱讀:

https://gist.github.com/vihar/7ede36aa2f5ba5e7f70960225a2d351e#file-vectors-py

返回如下:

矩陣

矩陣是由數字構成的矩形陣列,是二階張量的一個例子。若 m 和 n 為正整數( m,n ∈ N ),則 m × n的矩陣中包含 m * n 個元素,由m 行和 n 列構成。

完整的 m × n 矩陣可寫做:

我們通常會將上面的矩陣縮寫為以下的表達式:

在 Python 里,我們會使用 numpy 庫來幫助我們創建 n 維的數組,這基本上可以被認作為矩陣。我們將列表傳入名為 matrix 方法來定義一個矩陣。

如何在 Python 中定義和運算矩陣?

▌矩陣加法

矩陣可以與標量、向量或其他的矩陣進行相加。每一種加法都有一個精確的定義。這些技巧在機習和深度學習有著非常廣泛而頻繁的使用,所以它們值得你去熟悉。

參考閱讀:

https://gist.github.com/vihar/1bdc39d126b4772f5a8e9d0b5185625f#file-matrix_addition-py

▌矩陣與矩陣的加法

C = A + B( A 和 B 的形狀應當一致)

方法 shape 能夠返回矩陣的形狀,方法 add 會將傳入的兩個作為參數的矩陣相加,并返回相加的總和。若兩個作為參數的矩陣的形狀不一致,該方法則會提示存在“不能相加”的錯誤。

參考閱讀:

https://gist.github.com/vihar/b25716665d72d5e6b50c9149718df076#file-m_m_addition-py

▌矩陣與標量的加法

將給定矩陣中的各個元素都與給定的標量進行相加

參考閱讀:

https://gist.github.com/vihar/ba689ec9a07b1c50f69269454373359a#file-matrix_s_addition-py

▌矩陣與標量的乘法

將給定矩陣中的各個元素都與給定的標量進行相乘

參考閱讀:

https://gist.github.com/vihar/5dcc0beeb7e48f0f271a75108401d34c#file-m_s_multiplication-py

▌矩陣之間的乘法

形狀為 m x n 的矩陣 A 與形狀為 n x p 的矩陣 B 相乘則會得到 形狀為 m x p 的矩陣 C

參考閱讀:

https://hadrienj.github.io/posts/Deep-Learning-Book-Series-2.2-Multiplying-Matrices-and-Vectors/

參考閱讀:

https://gist.github.com/vihar/1510e248a117f0af6a3843a4307de7b2#file-matrix_mul-py

▌矩陣的轉置

矩陣的轉置可以使一個行向量變成一個列向量,或反方向操作亦成立作亦成立:

A = [aij]m x n

AT = [aji]n × m

參考閱讀:

https://gist.github.com/vihar/3f2091377b3a1f36c402a203f25ffe33#file-martix_transpose-py

張量

籠統的來講,張量包含了標量,向量,矩陣。有些時候,例如在物理及機器學習中,使用超過二階的張量是非常必要的。

參考閱讀:

https://refactored.ai/track/python-for-machine-learning/courses/linear-algebra.ipynb

我們通常不會將矩陣進行嵌套來表示張量,而是會使用像 tensoTflow 或者 PyTorch 這樣的 Python 庫來對張量進行表示張量 PyTorche 中定義一個簡單的張量

參考閱讀:

https://gist.github.com/vihar/eb78a6171de9740b128cbff21fc0b6ea#file-tensors-py

一些在 Python 中其他的張量的運算操作

src:

https://gist.github.com/vihar/7b03ca54e4fe811e1053e09bdc1278b5#file-tensor_operations-py

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 機器學習
    +關注

    關注

    66

    文章

    8377

    瀏覽量

    132409
  • python
    +關注

    關注

    56

    文章

    4782

    瀏覽量

    84453
  • 深度學習
    +關注

    關注

    73

    文章

    5492

    瀏覽量

    120977

原文標題:深度學習必備數學知識之線性代數篇(附代碼實現)

文章出處:【微信號:rgznai100,微信公眾號:rgznai100】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    線性代數要和科學計算結成好伙伴(稿)

    在科學研究,逐漸發現線性代數用的越來越多,在老師的博客里發現了這篇文章,覺得很不錯,因此放在這里,希望大家能有所收獲。在此,也貼出我們矩陣理論老師的博客地址http
    發表于 10-29 22:03

    labview線性代數求解輸入控件如何輸入未知變量

    labview線性代數求解輸入控件如何輸入未知變量
    發表于 04-07 09:11

    線性代數超強總結

    線性代數超強總結
    發表于 05-26 07:26

    程序世界:線性代數是一種特定語言

    就明顯復雜了,而且還要分很多種情況去分別討論。相反,如果我們用線性代數知識來解決這個問題就非常輕松。在線性代數兩個向量a,b的叉積(Cross Product)是一個向量,其方向與a
    發表于 04-22 06:30

    線性代數實踐及MATLAB入門》第二版《線性代數實踐》課件

    線性代數實踐及MATLAB入門》第二版《線性代數實踐》課件:第六章 用行階梯法解方程組第7章  矩陣運算法解方程第十章  后續課矩陣建模舉例第二篇  線性代數
    發表于 10-24 08:49 ?0次下載

    線性代數課程大綱的建議

    線性代數課程大綱的建議 致基礎數學分教指委一.問題的提出:現在的“線性代數”大綱不能滿足后續課的要求。為后續課程打好基礎,應該成為任何
    發表于 05-26 16:59 ?5次下載

    Matlab線性代數實驗

    Matlab線性代數實驗8.1 實驗(Ⅰ):用Matlab學線性代數8.1.1實驗與觀察:向量組的線性關系和解線性方程組1.  用線性
    發表于 10-17 00:36 ?2030次閱讀

    Linear_Algebra_線性代數(美版教材--習題答案)

    英文線性代數電子書
    發表于 09-04 10:42 ?0次下載

    工程線性代數matlab版

    MATLAB,工程線性代數matlab版。
    發表于 12-21 14:41 ?0次下載

    線性代數相關的基本知識

    線性代數包含了關于矩陣的所有相關的基本知識,可以快速學習,適合自學。
    發表于 12-22 17:58 ?0次下載

    算法大全__Matlab在線性代數的應用

    算法大全__Matlab在線性代數的應用。
    發表于 01-14 17:56 ?0次下載

    線性代數教材(同濟四版)

    線性代數教材(同濟四版),有需要的下來看看
    發表于 03-22 11:13 ?0次下載

    機器學習線性代數基礎

    機器學習需要的一些線性代數知識
    發表于 09-04 10:08 ?0次下載

    線性代數是什么?存在的意義是什么?

    在大學數學學科線性代數是最為抽象的一門課,從初等數學到線性代數的思維跨度比微積分和概率統計要大得多。
    的頭像 發表于 08-19 10:24 ?29.6w次閱讀
    <b class='flag-5'>線性代數</b>是什么?存在的意義是什么?

    線性代數學習輔導與習題全解第六版下載

    線性代數學習輔導與習題全解第六版下載
    發表于 03-27 09:28 ?0次下載
    <b class='flag-5'>線性代數學習</b>輔導與習題全解第六版下載