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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

【火炉炼AI】深度学习001-神经网络的基本单元-感知器

發布時間:2024/1/8 ChatGpt 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【火炉炼AI】深度学习001-神经网络的基本单元-感知器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【火爐煉AI】深度學習001-神經網絡的基本單元-感知器

(本文所使用的Python庫和版本號: Python 3.6, Numpy 1.14, scikit-learn 0.19, matplotlib 2.2 )

在人工智能領域,深度學習已經脫穎而出,越來越成為大型復雜問題的首選解決方案。深度學習相對傳統機器學習的區別主要在于,使用模擬人類大腦的神經網絡來構建模型。早期的淺層次神經網絡也可以認為是機器學習領域的一個分支,但是目前,由于神經網絡的層次不斷加深,參數越來越復雜,能夠的解決實際問題越來越多,研究神經網絡,特別是深度神經網絡的文章越來越多,故而深度學習被劃分到一個單獨的分支中。


1. 感知器簡介

為了更好的理解神經網絡,我們首先來看看神經網絡的基本組成單元-神經元,神經元是生物學的術語,在計算機領域,我們稱之為感知器。

感知器是一種早期的神經網絡模型,由美國學者F.Rosenblatt于1957年提出.感知器中第一次引入了學習的概念,使人腦所具備的學習功能在基于符號處理的數學到了一定程度模擬,所以引起了廣泛的關注。

感知器的結構:

1,輸入:一個感知器有一個或多個輸入,用于接收特征數值。

1,權重:每個輸入都有一個權重,表示該輸入對結果的影響力。

2,偏置:雖然權重能夠表示該輸入對結果的影響力,但為了更好的擬合結果,有時還需要對輸入進行左右移動,即平行地增大或減小,故而有了偏置。

3,輸出:經過計算后會給出一個或多個輸出。

通俗一點來理解,感知器就像一個復雜一點的函數y=f(u,v),其中的u,v就是輸入的特征數值,f表示權重和偏置的組合方式,也就是計算過程,y為輸出。所以可以用下列公式來表示感知器。

其中的x表示輸入,w為權重,sita為偏置,f則為激活函數,v為輸出。所以,完全可以將感知器理解成一個復雜一點的函數。


2. 感知器的訓練

如果我們要用一條直線擬合一系列數據,假設該直線的方程為y=a*x+b,那么,我們要做的就是計算出最合適的a和b即可。同理,由于感知器的函數中有兩個未知變量(權重和偏置),故而,我們要做的就是計算出最合適的權重和偏置,這一計算過程就是感知器的訓練。

感知器的訓練是基于感知器規則的,感知器規則認為,如果樣本輸入函數是線性可分的,那么感知器學習算法經過有限次迭代之后,便可以收斂得到正確的權值和偏置,也就是說,不管開始時權重和偏置是多少,經過N次迭代后,總能得到唯一的確定的權重和唯一的確定的偏置。這也就是為什么我們在初始時設置權重和偏置為隨機數或0的原因。

感知器的訓練過程可以簡單概括為:在訓練時,每次從訓練數據中取出一個樣本的輸入向量,使用感知器計算其輸出,再根據感知器規則來調整權重。每處理一個樣本就調整一次權重。經過多輪迭代后(即全部的訓練數據被反復處理多輪),就可以訓練出感知器的權重,使之實現目標函數。

關于感知器的數學推導和基本理論,可以參考博文:感知器(Perception)

那么,從代碼上如何訓練感知器了?運行下列代碼之前,請先通過pip install neurolab來安裝neurolab模塊。

首先準備數據集,并將數據集的分布情況顯示出來,這部分代碼太簡單,可以直接看代碼。

# 建立感知器模型 import neurolab as nl perceptron = nl.net.newp([[dataset_X[:,0].min(),dataset_X[:,0].max()], # 指定特征1的最小和最大值[dataset_X[:,1].min(),dataset_X[:,1].max()]], # 特征2的min和max1) # 只有1個感知器 # 為了適合于train,需要將dataset_y處理成二維 dataset_y=dataset_y[:,np.newaxis] cost=perceptron.train(dataset_X,dataset_y,epochs=50,show=10,lr=0.01) # 訓練該單個感知器,50個回合,每10個回合顯示一下訓練結果,學習速率為0.01# 顯示下訓練過程中cost的變化趨勢 plt.plot(cost) plt.xlabel('Number of epochs') plt.ylabel('Training cost') plt.grid() plt.title('Training cost progress')

########################小**********結###############################

1,感知器方面主要是理解其基本的含義和理論知識,因為感知器是神經網絡的基本組成單元。

2,感知器的訓練在以后的深度學習中用處不大,一般成熟的深度學習框架都已經整合了這部分內容,此處僅僅用于演示。

#################################################################


注:本部分代碼已經全部上傳到(我的github)上,歡迎下載。

參考資料:

1, Python機器學習經典實例,Prateek Joshi著,陶俊杰,陳小莉譯

總結

以上是生活随笔為你收集整理的【火炉炼AI】深度学习001-神经网络的基本单元-感知器的全部內容,希望文章能夠幫你解決所遇到的問題。

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