<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # 機器學習向量的溫和介紹 > 原文: [https://machinelearningmastery.com/gentle-introduction-vectors-machine-learning/](https://machinelearningmastery.com/gentle-introduction-vectors-machine-learning/) 向量是線性代數的基本元素。 在訓練算法時,在算法和過程(例如目標變量(y))的描述中,在整個機器學習領域中使用向量。 在本教程中,您將發現用于機器學習的線性代數向量。 完成本教程后,您將了解: * 什么是向量以及如何使用 NumPy 在 Python 中定義一個向量。 * 如何執行加法,減法,乘法和除法等向量運算。 * 如何使用標量執行點積和乘法等附加操作。 讓我們開始吧。 ![A Gentle Introduction to Vectors for Machine Learning](img/a45add0c0b7a62bce5a0f79b4004b886.jpg) 機器學習向量的溫和介紹 [Lachlan Donald](https://www.flickr.com/photos/lox/9407402400/) 的照片,保留一些權利。 ## 教程概述 本教程分為 5 個部分;他們是: 1. 什么是向量? 2. 定義向量 3. 向量算術 4. 向量點產品 5. 向量標量乘法 ## 什么是向量? 向量是一個或多個稱為標量的值的元組。 > 向量由組件構建,組件是普通數字。您可以將向量視為數字列表,將向量代數視為對列表中的數字執行的操作。 - 第 69 頁,[無線性代數廢話指南](http://amzn.to/2k76D4C),2017 年 向量通常用小寫字符表示,例如“v”;例如: ``` v = (v1, v2, v3) ``` 其中 v1,v2,v3 是標量值,通常是實數值。 向量也使用垂直表示或列顯示;例如: ``` v1 v = ( v2 ) v3 ``` 在描述機器學習算法的訓練時,通常將目標變量表示為具有小寫“y”的向量。 通常使用幾何類比引入向量,其中向量表示 n 維空間中的點或坐標,其中 n 是維數的數量,例如 2。 向量也可以被認為是來自向量空間的原點的線,具有方向和幅度。 這些類比作為一個起點很好,但不應該太緊,因為我們經常考慮機器學習中非常高的維度向量。我發現向量坐標是機器學習中最引人注目的類比。 現在我們知道了一個向量是什么,讓我們來看看如何在 Python 中定義一個向量。 ## 定義向量 我們可以將 Python 中的向量表示為 NumPy 數組。 可以從數字列表創建 NumPy 數組。例如,下面我們定義一個長度為 3 且整數值為 1,2 和 3 的向量。 ``` # create a vector from numpy import array v = array([1, 2, 3]) print(v) ``` 該示例定義了具有 3 個元素的向量。 運行該示例將打印定義的向量。 ``` [1 2 3] ``` ## 向量算術 在本節中將演示簡單的向量向量算法,其中所有操作在兩個相等長度的向量之間以元素方式執行,以產生具有相同長度的新向量 ### 向量加法 可以將兩個相等長度的向量相加在一起以創建新的第三向量。 ``` c = a + b ``` 新向量與其他兩個向量具有相同的長度。新向量的每個元素被計算為在相同索引處添加其他向量的元素;例如: ``` a + b = (a1 + b1, a2 + b2, a3 + b3) ``` 或者,換句話說: ``` c[0] = a[0] + b[0] c[1] = a[1] + b[1] c[2] = a[2] + b[2] ``` 我們可以通過添加 NumPy 數組直接在 Python 中添加向量。 ``` # add vectors from numpy import array a = array([1, 2, 3]) print(a) b = array([1, 2, 3]) print(b) c = a + b print(c) ``` 該示例定義了兩個向量,每個向量具有三個元素,然后將它們相加。 首先運行該示例打印兩個父向量然后打印一個新向量,該向量是兩個向量的相加。 ``` [1 2 3] [1 2 3] [2 4 6] ``` ### 向量減法 可以從另一個相等長度的向量中減去一個向量以創建新的第三向量。 ``` c = a - b ``` 與加法一樣,新向量具有與父向量相同的長度,并且新向量的每個元素被計算為相同索引處的元素的減法。 ``` a - b = (a1 - b1, a2 - b2, a3 - b3) ``` Or, put another way: ``` c[0] = a[0] - b[0] c[1] = a[1] - b[1] c[2] = a[2] - b[2] ``` 可以在 Python 中直接減去 NumPy 數組。 ``` # subtract vectors from numpy import array a = array([1, 2, 3]) print(a) b = array([0.5, 0.5, 0.5]) print(b) c = a - b print(c) ``` 該示例定義了兩個向量,每個向量包含三個元素,然后從第二個向量中減去第一個向量。 首先運行該示例打印兩個父向量,然后打印第一個減去第二個的新向量。 ``` [1 2 3] [ 0.5 0.5 0.5] [ 0.5 1.5 2.5] ``` ### 向量乘法 兩個相等長度的向量可以相乘。 ``` c = a * b ``` 與加法和減法一樣,該操作以元素方式執行以產生相同長度的新向量。 ``` a * b = (a1 * b1, a2 * b2, a3 * b3) ``` 要么 ``` ab = (a1b1, a2b2, a3b3) ``` Or, put another way: ``` c[0] = a[0] * b[0] c[1] = a[1] * b[1] c[2] = a[2] * b[2] ``` 我們可以直接在 NumPy 中執行此操作。 ``` # multiply vectors from numpy import array a = array([1, 2, 3]) print(a) b = array([1, 2, 3]) print(b) c = a * b print(c) ``` 該示例定義了兩個向量,每個向量具有三個元素,然后將向量相乘。 首先運行該示例打印兩個父向量,然后打印新向量。 ``` [1 2 3] [1 2 3] [1 4 9] ``` ### 向量分部 可以劃分兩個相等長度的向量。 ``` c = a / b ``` 與其他算術運算一樣,此操作以元素方式執行,以產生相同長度的新向量。 ``` a / b = (a1 / b1, a2 / b2, a3 / b3) ``` or ``` a / b = (a1b1, a2b2, a3b3) ``` Or, put another way: ``` c[0] = a[0] / b[0] c[1] = a[1] / b[1] c[2] = a[2] / b[2] ``` We can perform this operation directly in NumPy. ``` # divide vectors from numpy import array a = array([1, 2, 3]) print(a) b = array([1, 2, 3]) print(b) c = a / b print(c) ``` 該示例定義了兩個向量,每個向量具有三個元素,然后將第一個除以第二個。 首先運行該示例打印兩個父向量,然后是向量分割的結果。 ``` [1 2 3] [1 2 3] [ 1\. 1\. 1.] ``` ## 向量點產品 我們可以計算兩個相同長度向量的相乘元素之和,得到一個標量。 這稱為點積,由于在描述操作時使用的點運算符而命名。 > 點積是計算向量投影,向量分解和確定正交性的關鍵工具。名稱點積來自用于表示它的符號。 - 第 110 頁,[無線性代數廢話指南](http://amzn.to/2k76D4C),2017 年 ``` c = a . b ``` 該操作可用于機器學習以計算向量的加權和。 點積計算如下: ``` a . b = (a1 * b1 + a2 * b2 + a3 * b3) ``` or ``` a . b = (a1b1 + a2b2 + a3b3) ``` 我們可以使用 NumPy 數組上的 dot()函數計算 Python 中兩個向量之間的點積。 ``` # dot product vectors from numpy import array a = array([1, 2, 3]) print(a) b = array([1, 2, 3]) print(b) c = a.dot(b) print(c) ``` 該示例定義了兩個向量,每個向量包含三個元素,然后計算點積。 運行該示例首先打印兩個父向量,然后打印標量點積。 ``` [1 2 3] [1 2 3] 14 ``` ## 向量標量乘法 向量可以乘以標量,實際上縮放向量的大小。 為了使符號簡單,我們將使用小寫“s”來表示標量值。 ``` c = s * v ``` or ``` c = sv ``` 對向量的每個元素執行乘法,以產生相同長度的新縮放向量。 ``` s * v = (s * v1, s * v2, s * v3) ``` Or, put another way: ``` c[0] = a[0] * s c[1] = a[1] * s c[2] = a[2] * s ``` 我們可以直接使用 NumPy 數組執行此操作。 ``` # vector-scalar multiplication from numpy import array a = array([1, 2, 3]) print(a) s = 0.5 print(s) c = s * a print(c) ``` 該示例首先定義向量,然后標量將向量乘以標量。 首先運行示例打印父向量,然后打印標量,然后將兩者相乘的結果。 ``` [1 2 3] 0.5 [ 0.5 1\. 1.5] ``` 類似地,向量標量加法,減法和除法可以以相同的方式執行。 ## 擴展 本節列出了一些擴展您可能希望探索的教程的想法。 * 使用您自己的數據使用每個操作創建 5 個示例。 * 為定義為列表的向量手動實現每個向量操作。 * 搜索機器學習論文并找到每個正在使用的操作的示例。 如果你探索任何這些擴展,我很想知道。 ## 進一步閱讀 如果您希望深入了解,本節將提供有關該主題的更多資源。 ### 圖書 * 第 1.15 節,向量。 [線性代數無廢話指南](http://amzn.to/2k76D4),2017 年。 * 第 2.2 節,向量運算。 [線性代數無廢話指南](http://amzn.to/2k76D4),2017 年。 * [線性代數](http://amzn.to/2j2J0g4)簡介,2016 年。 * 第 2 章,線性代數,[深度學習](http://amzn.to/2j4oKuP),2016。 ### API * [numpy.array()API](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.array.html) * [numpy.dot()API](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.dot.html) ### 用品 * 維基百科上的[向量空間](https://en.wikipedia.org/wiki/Vector_space) * 維基百科上的 [Dot 產品](https://en.wikipedia.org/wiki/Dot_product) ## 摘要 在本教程中,您發現了用于機器學習的線性代數向量。 具體來說,你學到了: * 什么是向量以及如何使用 NumPy 在 Python 中定義一個向量。 * 如何執行加法,減法,乘法和除法等向量運算。 * 如何使用標量執行點積和乘法等附加操作。 你有任何問題嗎? 在下面的評論中提出您的問題,我會盡力回答。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看