最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

【視頻】CNN(卷積神經(jīng)網(wǎng)絡(luò))模型以及R語言實現(xiàn)

2021-06-23 19:17 作者:拓端tecdat  | 我要投稿

原文鏈接:http://tecdat.cn/?p=18149

原文出處:拓端數(shù)據(jù)部落公眾號

?

無人駕駛汽車最早可以追溯到1989年。神經(jīng)網(wǎng)絡(luò)已經(jīng)存在很長時間了,那么近年來引發(fā)人工智能和深度學(xué)習(xí)熱潮的原因是什么呢?[1秒]答案部分在于摩爾定律以及硬件和計算能力的顯著提高。我們現(xiàn)在可以事半功倍。顧名思義,神經(jīng)網(wǎng)絡(luò)的概念是受我們自己大腦神經(jīng)元網(wǎng)絡(luò)的啟發(fā)。神經(jīng)元是非常長的細(xì)胞,每個細(xì)胞都有稱為樹突的突起,分別從周圍的神經(jīng)元接收和傳播電化學(xué)信號。結(jié)果,我們的腦細(xì)胞形成了靈活強(qiáng)大的通信網(wǎng)絡(luò),這種類似于裝配線的分配過程支持復(fù)雜的認(rèn)知能力,例如音樂播放和繪畫。

視頻:CNN(卷積神經(jīng)網(wǎng)絡(luò))模型以及R語言實現(xiàn)


?

神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)

神經(jīng)網(wǎng)絡(luò)通常包含一個輸入層,一個或多個隱藏層以及一個輸出層。輸入層由p個預(yù)測變量或輸入單位/節(jié)點組成。不用說,通常最好將變量標(biāo)準(zhǔn)化。這些輸入單元可以連接到第一隱藏層中的一個或多個隱藏單元。與上一層完全連接的隱藏層稱為密集層。在圖中,兩個隱藏層都是密集的。

輸出層的計算預(yù)測

輸出層計算預(yù)測,其中的單元數(shù)由具體的問題確定。通常,二分類問題需要一個輸出單元,而具有k個類別的多類問題將需要 k個對應(yīng)的輸出單元。前者可以簡單地使用S形函數(shù)直接計算概率,而后者通常需要softmax變換,從而將所有k個輸出單元中的所有值加起來為1,因此可以將其視為概率。無需進(jìn)行分類預(yù)測。

權(quán)重

圖中顯示的每個箭頭都會傳遞與權(quán)重關(guān)聯(lián)的輸入。每個權(quán)重本質(zhì)上是許多系數(shù)估計之一,該系數(shù)估計有助于在相應(yīng)箭頭指向的節(jié)點中計算出回歸

。這些是未知參數(shù),必須使用優(yōu)化過程由模型進(jìn)行調(diào)整,以使損失函數(shù)最小化。訓(xùn)練之前,所有權(quán)重均使用隨機(jī)值初始化。

優(yōu)化和損失函數(shù)?

訓(xùn)練之前,我們需要做好兩件事一是擬合優(yōu)度的度量,用于比較所有訓(xùn)練觀測值的預(yù)測和已知標(biāo)簽;二是計算梯度下降的優(yōu)化方法,實質(zhì)上是同時調(diào)整所有權(quán)重估計值,以提高擬合優(yōu)度的方向。對于每種方法,我們分別具有損失函數(shù)和優(yōu)化器。損失函數(shù)有很多類型,所有目的都是為了量化預(yù)測誤差,例如使用交叉熵

。流行的隨機(jī)優(yōu)化方法如Adam。?

卷積神經(jīng)網(wǎng)絡(luò)?

卷積神經(jīng)網(wǎng)絡(luò)是一種特殊類型的神經(jīng)網(wǎng)絡(luò),可以很好地用于圖像處理,并以上述原理為框架。名稱中的“卷積”歸因于通過濾鏡處理的圖像中像素的正方形方塊。結(jié)果,該模型可以在數(shù)學(xué)上捕獲關(guān)鍵的視覺提示。例如,鳥的喙可以在動物中高度區(qū)分鳥。在下面描述的示例中,卷積神經(jīng)網(wǎng)絡(luò)可能會沿著一系列涉及卷積,池化和扁平化的變換鏈處理喙?fàn)罱Y(jié)構(gòu),最后,會看到相關(guān)的神經(jīng)元被激活,理想情況下會預(yù)測鳥的概率是競爭類中最大的。?


可以基于顏色強(qiáng)度將圖像表示為數(shù)值矩陣。單色圖像使用2D卷積層進(jìn)行處理,而彩色圖像則需要3D卷積層,我們使用前者。?
核(也稱為濾鏡)將像素的正方形塊卷積為后續(xù)卷積層中的標(biāo)量,從上到下掃描圖像。?
在整個過程中,核執(zhí)行逐元素乘法,并將所有乘積求和為一個值,該值傳遞給后續(xù)的卷積層。
內(nèi)核一次移動一個像素。這是內(nèi)核用來進(jìn)行卷積的滑動窗口的步長,逐步調(diào)整。較大的步長意味著更細(xì),更小的卷積特征。?
池化是從卷積層進(jìn)行的采樣,可在較低維度上呈現(xiàn)主要特征,從而防止過度擬合并減輕計算需求。池化的兩種主要類型是平均池化和最大池化。提供一個核和一個步長,合并就相當(dāng)于卷積,但取每幀的平均值或最大值。?
扁平化顧名思義,扁平只是將最后的卷積層轉(zhuǎn)換為一維神經(jīng)網(wǎng)絡(luò)層。它為實際的預(yù)測奠定了基礎(chǔ)。?

R語言實現(xiàn)

當(dāng)我們將CNN(卷積神經(jīng)網(wǎng)絡(luò))模型用于訓(xùn)練多維類型的數(shù)據(jù)(例如圖像)時,它們非常有用。我們還可以實現(xiàn)CNN模型進(jìn)行回歸數(shù)據(jù)分析。我們之前使用Python進(jìn)行CNN模型回歸?,在本視頻中,我們在R中實現(xiàn)相同的方法。
我們使用一維卷積函數(shù)來應(yīng)用CNN模型。我們需要Keras R接口才能在R中使用Keras神經(jīng)網(wǎng)絡(luò)API。如果開發(fā)環(huán)境中不可用,則需要先安裝。本教程涵蓋:

  1. 準(zhǔn)備數(shù)據(jù)

  2. 定義和擬合模型

  3. 預(yù)測和可視化結(jié)果

  4. 源代碼

我們從加載本教程所需的庫開始。
?

  1. library(keras)

  2. library(caret)


準(zhǔn)備

數(shù)據(jù)在本教程中,我們將波士頓住房數(shù)據(jù)集用作目標(biāo)回歸數(shù)據(jù)。首先,我們將加載數(shù)據(jù)集并將其分為訓(xùn)練和測試集。
?

  1. set.seed(123)

  2. boston = MASS::Boston

  3. indexes = createDataPartition(boston$medv, p = .85, list = F)


  1. train = boston[indexes,]

  2. test = boston[-indexes,]


接下來,我們將訓(xùn)練數(shù)據(jù)和測試數(shù)據(jù)的x輸入和y輸出部分分開,并將它們轉(zhuǎn)換為矩陣類型。您可能知道,“ medv”是波士頓住房數(shù)據(jù)集中的y數(shù)據(jù)輸出,它是其中的最后一列。其余列是x輸入數(shù)據(jù)。
檢查維度。
?

  1. dim(xtrain)

  2. [1] 432 ?13


  1. dim(ytrain)

  2. [1] 432 ? 1


接下來,我們將通過添加另一維度來重新定義x輸入數(shù)據(jù)的形狀。
?

  1. dim(xtrain)

  2. [1] 432 ?13 ? 1


  1. dim(xtest)

  2. [1] 74 13 ?1


在這里,我們可以提取keras模型的輸入維。
?

  1. print(in_dim)

  2. [1] 13 ?1

定義和擬合模型

我們定義Keras模型,添加一維卷積層。輸入形狀變?yōu)樯厦娑x的(13,1)。我們添加Flatten和Dense層,并使用“ Adam”優(yōu)化器對其進(jìn)行編譯。
?



  1. model %>% summary()

  2. ________________________________________________________________________

  3. Layer (type) ? ? ? ? ? ? ? ? ? ?Output Shape ? ? ? ? ? ? ? ? ?Param #

  4. ========================================================================

  5. conv1d_2 (Conv1D) ? ? ? ? ? ? ? (None, 12, 64) ? ? ? ? ? ? ? ?192

  6. ________________________________________________________________________

  7. flatten_2 (Flatten) ? ? ? ? ? ? (None, 768) ? ? ? ? ? ? ? ? ? 0

  8. ________________________________________________________________________

  9. dense_3 (Dense) ? ? ? ? ? ? ? ? (None, 32) ? ? ? ? ? ? ? ? ? ?24608

  10. ________________________________________________________________________

  11. dense_4 (Dense) ? ? ? ? ? ? ? ? (None, 1) ? ? ? ? ? ? ? ? ? ? 33

  12. ========================================================================

  13. Total params: 24,833

  14. Trainable params: 24,833

  15. Non-trainable params: 0

  16. ________________________________________________________________________




接下來,我們將使用訓(xùn)練數(shù)據(jù)對模型進(jìn)行擬合。
?


  1. print(scores)

  2. loss

  3. 24.20518



預(yù)測和可視化結(jié)果

現(xiàn)在,我們可以使用訓(xùn)練的模型來預(yù)測測試數(shù)據(jù)。

predict(xtest)


我們將通過RMSE指標(biāo)檢查預(yù)測的準(zhǔn)確性。
?

  1. cat("RMSE:", RMSE(ytest, ypred))

  2. RMSE: 4.935908


最后,我們將在圖表中可視化結(jié)果檢查誤差。
?

  1. x_axes = seq(1:length(ypred))


  2. lines(x_axes, ypred, col = "red", type = "l", lwd = 2)

  3. legend("topl

??在本教程中,我們簡要學(xué)習(xí)了如何使用R中的keras CNN模型擬合和預(yù)測回歸數(shù)據(jù)。

最受歡迎的見解

1.r語言用神經(jīng)網(wǎng)絡(luò)改進(jìn)nelson-siegel模型擬合收益率曲線分析

2.r語言實現(xiàn)擬合神經(jīng)網(wǎng)絡(luò)預(yù)測和結(jié)果可視化

3.python用遺傳算法-神經(jīng)網(wǎng)絡(luò)-模糊邏輯控制算法對樂透分析

4.用于nlp的python:使用keras的多標(biāo)簽文本lstm神經(jīng)網(wǎng)絡(luò)分類

5.用r語言實現(xiàn)神經(jīng)網(wǎng)絡(luò)預(yù)測股票實例

6.R語言基于Keras的小數(shù)據(jù)集深度學(xué)習(xí)圖像分類

7.用于NLP的seq2seq模型實例用Keras實現(xiàn)神經(jīng)機(jī)器翻譯

8.python中基于網(wǎng)格搜索算法優(yōu)化的深度學(xué)習(xí)模型分析糖

9.matlab使用貝葉斯優(yōu)化的深度學(xué)習(xí)


【視頻】CNN(卷積神經(jīng)網(wǎng)絡(luò))模型以及R語言實現(xiàn)的評論 (共 條)

分享到微博請遵守國家法律
任丘市| 锡林浩特市| 泸州市| 邳州市| 拉萨市| 丰镇市| 宁国市| 琼海市| 沈阳市| 九江县| 廉江市| 乐平市| 新丰县| 威海市| 祁东县| 连城县| 临邑县| 靖宇县| 昌图县| 安吉县| 乐平市| 徐闻县| 徐汇区| 宁安市| 阿尔山市| 苏尼特左旗| 响水县| 淮北市| 无为县| 莆田市| 江北区| 平邑县| 富蕴县| 仁怀市| 蓬溪县| 丰都县| 郓城县| 吴堡县| 沙洋县| 遵义市| 益阳市|