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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

算法代码中的循环矩阵在哪体现_「Machine Learning 学习小结」| 向量在梯度下降算法当中的应用...

發布時間:2024/9/27 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 算法代码中的循环矩阵在哪体现_「Machine Learning 学习小结」| 向量在梯度下降算法当中的应用... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面:

在之前的文章當中提到過,學習梯度下降算法,可能需要一點點線性代數的知識。在本篇文章當中,我們的討論就涉及到了向量。

筆者也曾提到,不妨把向量看成對數據進行批量操作的一種工具,這樣可能對我們理解接下來的知識有一些幫助。

推薦閱讀:吳恩達機器學習:

第五章:正規方程

第六章:矢量

Outline:

  • 矢量
  • 正規方程

一.矢量

在我們將向量應用到我們的梯度算法之前我們進行一個簡單的回顧。

這是我們的多元函數梯度下降算法。

我們來看一下預測函數的計算在MATLAB/C++中的代碼實現(吳恩達老師的課程中對Octave/MATLAB的簡單應用進行了講解,筆者認為大家可以系統的學習Python和MATLAB,這有助于我們接下來的算法實現)

C++實現:左側是未向量化;右側是向量化

MATLAB:未向量化實現

MATLAB:向量化實現

通過上述代碼的實現,我們可以看出:相對于未向量化的循環結構,我們向量化之后對數據進行批量操作,兩個矩陣的一次乘法運算就可以得到我們的預測值,提高了我們的算法效率。

下面我們展示對梯度下降算法進行矢量化后的結果(這也是一個難點)

算法的表達

上述表達式中θ是一個列向量,δ也是一個列向量,我們來看看他們具體是什么。

θ:是一個n+1維向量,分量是θ_0到θ_n

δ:

讀者可以耐下性子自己動筆計算驗證,向量化后的算法跟未向量化的算法是完全等價的,在這里我們對數據進行了批量計算,提高了我們的算法效率。也許對于剛剛接觸線性代數的朋友來數,這是難以理解的,但是不要心急,上述計算所具備的知識就是基本的向量加減運算,向量的乘法運算,耐心計算,搞明白上述算法的內涵。

總結一下,我們得到了向量化的梯度下降算法:

二.正規方程組

我們來回顧一下我們求解多元函數代價函數極小值點的數學原理是什么:各個一階偏導數為零。

除了這樣做,我們還有什么辦法?

我們來看看正規方程組法求解極小值點。

圖片源自:黃海廣|機器學習

實際上,當特征變量的數目并不大(小于一萬)的時候,我們通常采用正規方程組的方法,而不是梯度下降算法。

熟悉線性代數的朋友可能知道,有時候可能會存在矩陣不可逆的情況,我們將這樣的矩陣稱之為奇異矩陣;但是我們的pinv函數,是一個求偽逆函數,這意味著即使我們的矩陣不可逆,我們的算法仍然可以正常運行。

我們給出正規方程組算法的證明(看懂它需要了解矩陣求導法則)

圖片源自:黃海廣|機器學習個人筆記

圖片源自:黃海廣|機器學習個人筆記

到這篇文章結束為止,我們要對線性回歸預測說一聲暫時的告別,希望大家可以結合視頻學習,自己敲敲代碼,實現自己的算法。多練習,多實踐。

第一次截稿日期:2019/5/4

總結

以上是生活随笔為你收集整理的算法代码中的循环矩阵在哪体现_「Machine Learning 学习小结」| 向量在梯度下降算法当中的应用...的全部內容,希望文章能夠幫你解決所遇到的問題。

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