神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí) 課件全套 張杲峰 第1-9章-緒論 -注意力機(jī)制與Transformer_第1頁(yè)
神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí) 課件全套 張杲峰 第1-9章-緒論 -注意力機(jī)制與Transformer_第2頁(yè)
神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí) 課件全套 張杲峰 第1-9章-緒論 -注意力機(jī)制與Transformer_第3頁(yè)
神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí) 課件全套 張杲峰 第1-9章-緒論 -注意力機(jī)制與Transformer_第4頁(yè)
神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí) 課件全套 張杲峰 第1-9章-緒論 -注意力機(jī)制與Transformer_第5頁(yè)
已閱讀5頁(yè),還剩382頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)課程內(nèi)容第1章緒論第2章機(jī)器學(xué)習(xí)第3章人工神經(jīng)網(wǎng)絡(luò)第4章多層感知機(jī)第5章卷積神經(jīng)網(wǎng)絡(luò)第6章深度卷積神經(jīng)網(wǎng)絡(luò)第7章循環(huán)神經(jīng)網(wǎng)絡(luò)第8章深度生成模型第9章注意力機(jī)制與Transformer第1章緒論1.1人工智能 1.1.1人工智能的起源1.1.2人工智能的發(fā)展與流派1.1.3人工智能的社會(huì)、倫理問(wèn)題1.2機(jī)器學(xué)習(xí)1.3人工神經(jīng)網(wǎng)絡(luò)1.3.1人腦神經(jīng)網(wǎng)絡(luò)1.3.2人工神經(jīng)網(wǎng)絡(luò)的產(chǎn)生1.3.3人工神經(jīng)網(wǎng)絡(luò)的發(fā)展1.4深度學(xué)習(xí)1.4.1深度學(xué)習(xí)的產(chǎn)生和發(fā)展1.4.2深度學(xué)習(xí)主要開發(fā)框架1.4.3深度學(xué)習(xí)的應(yīng)用現(xiàn)狀第1章緒論國(guó)家戰(zhàn)略2017年國(guó)務(wù)院制定并發(fā)布了《新一代人工智能發(fā)展規(guī)劃》,制定了我國(guó)人工智能發(fā)展的戰(zhàn)略目標(biāo),即到2030年,我國(guó)“人工智能理論、技術(shù)與應(yīng)用總體達(dá)到世界領(lǐng)先水平,成為世界主要人工智能創(chuàng)新中心,智能經(jīng)濟(jì)、智能社會(huì)取得明顯成效”。學(xué)科發(fā)展2018年度圖靈獎(jiǎng)就頒給為深度學(xué)習(xí)領(lǐng)域帶來(lái)重大突破的本吉奧(YoshuaBengio)、楊樂(lè)昆(YannLeCun)和辛頓(GeoffreyHinton)三位科學(xué)家。1.1人工智能(artificialintelligence,AI)人工智能的起源1956年,麥卡錫(JohnMcCarthy)、明斯基(MarvinMinsky)、香農(nóng)(ClaudeShannon)、羅切斯特(NathanielRochester)、紐厄爾(AllenNewell)、西蒙(HerbertSimon)等在達(dá)特茅斯學(xué)院(DartmouthCollege)舉辦了“人工智能夏季研討會(huì)”,討論機(jī)器模仿人類學(xué)習(xí)以及其他方面的智能的問(wèn)題。這次會(huì)議標(biāo)志著人工智能學(xué)科的誕生。1.1人工智能(artificialintelligence,AI)人工智能的起源Fromleft:TrenchardMore,JohnMcCarthy,MarvinMinsky,OliverSelfridge,andRaySolomonoff.(PhotobyJosephMehling'69)Fiveoftheattendeesofthe1956DartmouthSummerResearchProjectonArtificialIntelligencereunitedattheJulyAI@50conference.

1.1人工智能(artificialintelligence,AI)人工智能的發(fā)展學(xué)科起步:1956~1960年代初第一次低谷:1960年代專家系統(tǒng):1970年代第二次低谷:1970年代~1980年代神經(jīng)網(wǎng)絡(luò):1980年代第三次低谷:1980年代~2000年代深度學(xué)習(xí):2000年代~1.1人工智能(artificialintelligence,AI)人工智能的流派符號(hào)主義學(xué)派通過(guò)符號(hào)計(jì)算模擬邏輯思維過(guò)程來(lái)實(shí)現(xiàn)人工智能,解決實(shí)際問(wèn)題,如規(guī)劃、推理、對(duì)話和博弈等。聯(lián)結(jié)主義學(xué)派聯(lián)結(jié)主義通過(guò)構(gòu)造人工神經(jīng)網(wǎng)絡(luò)模擬自然神經(jīng)元和神經(jīng)元之間的連接,從而實(shí)現(xiàn)人工智能。行為主義學(xué)派通過(guò)模擬生物體外在的感知-行為過(guò)程,使之可以更好地適應(yīng)環(huán)境,從而表現(xiàn)出一定的智能水平,例如智能體、強(qiáng)化學(xué)習(xí)等都基于該思想。1.1人工智能(artificialintelligence,AI)人工智能的社會(huì)、倫理問(wèn)題安全信任公平隱私負(fù)責(zé)任……1.1人工智能(artificialintelligence,AI)人工智能的社會(huì)、倫理問(wèn)題《新一代人工智能治理原則——發(fā)展負(fù)責(zé)任的人工智能》(2019年中國(guó)新一代人工智能治理專業(yè)委員會(huì)):強(qiáng)調(diào)人工智能的發(fā)展應(yīng)遵循公平公正、尊重隱私、安全可控、共擔(dān)責(zé)任、包容共享等原則;《可信人工智能道德原則指導(dǎo)》(歐盟人工智能專家組):可信人工智能應(yīng)該滿足人類監(jiān)管糾錯(cuò)、技術(shù)安全及魯棒、隱私保護(hù)和數(shù)據(jù)治理、透明及可解釋、算法公平及無(wú)歧視、環(huán)保和社會(huì)影響、問(wèn)責(zé)制度等方面的要求;《人工智能算法金融應(yīng)用評(píng)價(jià)規(guī)范》(中國(guó)人民銀行);《金融行業(yè)人工智能應(yīng)用一般原則》(荷蘭央行);《人工智能醫(yī)療器械質(zhì)量要求》(國(guó)家藥品監(jiān)督管理局);《基于人工智能/機(jī)器學(xué)習(xí)的醫(yī)療器械軟件行動(dòng)計(jì)劃》(美國(guó)食品藥品監(jiān)督管理局,F(xiàn)oodandDrugAdministration,F(xiàn)DA)。1.2機(jī)器學(xué)習(xí)(machinelearning,ML)假設(shè)用P來(lái)評(píng)估計(jì)算機(jī)程序在某任務(wù)類T上的性能,若一個(gè)程序通過(guò)利用經(jīng)驗(yàn)E在T中任務(wù)上獲得了性能改善,則我們就說(shuō)關(guān)于T和P,該程序?qū)進(jìn)行了學(xué)習(xí)?!仔獱枺═omMitchell)1.2機(jī)器學(xué)習(xí)(machinelearning,ML)機(jī)器學(xué)習(xí)的分類監(jiān)督學(xué)習(xí)(supervisedlearning)無(wú)監(jiān)督學(xué)習(xí)(unsupervisedlearning)半監(jiān)督學(xué)習(xí)(semi-supervisedlearning)強(qiáng)化學(xué)習(xí)(reinforcementlearning)1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)人腦神經(jīng)網(wǎng)絡(luò)組成人腦約有860億個(gè)神經(jīng)元,每個(gè)神經(jīng)元通過(guò)上千個(gè)突觸和其他神經(jīng)元相連接,這些連接可以在神經(jīng)元之間傳遞信息;神經(jīng)元和它們之間的連接構(gòu)成一個(gè)巨大的協(xié)同處理的復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu),即神經(jīng)網(wǎng)絡(luò),構(gòu)成認(rèn)知的物質(zhì)與生理基礎(chǔ)。1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)人腦神經(jīng)網(wǎng)絡(luò)學(xué)習(xí):赫伯規(guī)則(Hebbrule)1949年,加拿大心理學(xué)家赫伯(DonaldHebb)總結(jié)了突觸的學(xué)習(xí)規(guī)則,即如果兩個(gè)神經(jīng)元總是相關(guān)聯(lián)地受刺激,它們之間的突觸強(qiáng)度就增強(qiáng),否則就減弱,1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)產(chǎn)生M-P模型(1943)麥克洛奇(WarrenMcCulloch)(左,神經(jīng)科學(xué)家)和皮茲(WalterPitts)(右,數(shù)學(xué)家)提出的一種基于簡(jiǎn)單邏輯運(yùn)算的神經(jīng)網(wǎng)絡(luò)。1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)產(chǎn)生感知機(jī)(perceptron)模型(1957,羅森布拉特,F(xiàn)rankRosenblatt)

1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)產(chǎn)生感知機(jī)(perceptron)模型實(shí)現(xiàn)#代碼1-1:實(shí)現(xiàn)邏輯與運(yùn)算的感知機(jī)importnumpyasnp

classPerceptron(object):

#定義感知機(jī)def__init__(self,input_size):self.W=np.array([1,1])

#權(quán)重self.b=-2#偏置

defactivation_fn(self,x):

#定義激活函數(shù)return1ifx>=0else0

defpredict(self,x):

#定義預(yù)測(cè)z=self.W.T.dot(x)a=self.activation_fn(z+self.b)returna

X=np.array([[0,0],[0,1],[1,0],[1,1]])#邏輯運(yùn)算可能的輸入組合perceptron=Perceptron(input_size=2)

#實(shí)例化感知機(jī)forxinX:pre=perceptron.predict(x)print(x[0],'and',x[1],'=',pre)

#輸出當(dāng)輸入為X時(shí)對(duì)應(yīng)的預(yù)測(cè)值1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)發(fā)展《感知機(jī)》,明斯基,1969神經(jīng)認(rèn)知機(jī)(Neocognitron),福島邦彥(KunihikoFukushima)1980,感受野1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)

1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)

1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)發(fā)展卷積神經(jīng)網(wǎng)絡(luò)(convolutionneuralnetwork,CNN),楊樂(lè)昆,1989LeNet-5模型,成功應(yīng)用于美國(guó)郵政系統(tǒng)1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)發(fā)展循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrentneuralnetwork,RNN)長(zhǎng)短期記憶(longshort-termmemory,LSTM)網(wǎng)絡(luò),霍克賴特(SeppHochreiter)和施米德胡貝(JürgenSchmidhuber),1997年。1.2人工神經(jīng)網(wǎng)絡(luò)(artificialneuralnetworks,ANN)發(fā)展制約在算法上無(wú)法解決反向傳播過(guò)程中的梯度消失問(wèn)題;當(dāng)時(shí)計(jì)算機(jī)系統(tǒng)的計(jì)算能力難以滿足訓(xùn)練需求;難以克服模型參數(shù)眾多而樣本數(shù)據(jù)不足的窘境。1.3深度學(xué)習(xí)(deeplearning,DL)產(chǎn)生與發(fā)展深度信念網(wǎng)絡(luò)(deepbeliefnetwork,DBN,辛頓和薩拉赫丁諾夫(RuslanSalakhutdinov)),2006年堆疊自動(dòng)編碼器(stackedauto-encoder,SAE),本吉奧,2009年AlexNet年,辛頓小組,2012提整流線性單元(rectifiedlinearunit,ReLU)激活函數(shù)圖形處理單元(graphicsprocessingunit,GPU)ImageNet圖像分類大賽中一舉奪冠1.3深度學(xué)習(xí)(deeplearning,DL)產(chǎn)生與發(fā)展生成對(duì)抗網(wǎng)絡(luò)(generativeadversarialnetwork,GAN),古德費(fèi)洛(IanGoodfellow),2014Transformer框架,GoogleAI團(tuán)隊(duì),2017,很快成為自然語(yǔ)言處理領(lǐng)域的主流技術(shù),目前流行的GPT(generativepre-trainedTransformer)、BERT(bidirectionalencoderrepresentationfromTransformers)等模型均基于Transformer框架。同時(shí),自2020年開始,其變體視覺Transformer(visualtransformer,ViT)被應(yīng)用于計(jì)算機(jī)視覺領(lǐng)域,并取得了良好的效果。1.3深度學(xué)習(xí)(deeplearning,DL)開發(fā)框架TensorFlowPyTorch飛槳(PaddlePaddle)OpenVINO與OneAPI1.3深度學(xué)習(xí)(deeplearning,DL)應(yīng)用現(xiàn)狀計(jì)算機(jī)視覺語(yǔ)音與自然語(yǔ)言處理推薦系統(tǒng)自動(dòng)駕駛內(nèi)容生成神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)第2章機(jī)器學(xué)習(xí)2.1基本概念2.1.1數(shù)據(jù)2.1.2模型2.1.3學(xué)習(xí)準(zhǔn)則2.1.4優(yōu)化算法2.2機(jī)器學(xué)習(xí)的類型2.2.1監(jiān)督學(xué)習(xí)2.2.2無(wú)監(jiān)督學(xué)習(xí)2.2.3半監(jiān)督學(xué)習(xí)2.2.4強(qiáng)化學(xué)習(xí)2.3模型評(píng)估2.3.1性能度量指標(biāo)2.3.2模型評(píng)估方法2.4機(jī)器學(xué)習(xí)任務(wù)的一般流程2.1基本概念機(jī)器學(xué)習(xí)任務(wù)包括訓(xùn)練(training)和預(yù)測(cè)(predication)兩階段。訓(xùn)練又稱學(xué)習(xí)(learning),包含四個(gè)要素:數(shù)據(jù)、模型、算法和學(xué)習(xí)準(zhǔn)則。通過(guò)訓(xùn)練,機(jī)器學(xué)習(xí)任務(wù)得到模型的實(shí)例,及預(yù)測(cè)器(或者又叫分類器)。預(yù)測(cè)階段,又稱推理(inference)階段,利用得到的預(yù)測(cè)器對(duì)新的數(shù)據(jù)進(jìn)行推理或者預(yù)測(cè)。預(yù)測(cè)器對(duì)新的數(shù)據(jù)進(jìn)行推理或者預(yù)測(cè)的能力稱為泛化(generalization)能力。2.1基本概念機(jī)器學(xué)習(xí)任務(wù):訓(xùn)練(training),預(yù)測(cè)(predication)機(jī)器學(xué)習(xí)過(guò)程線性回歸過(guò)程示例訓(xùn)練/學(xué)習(xí)數(shù)據(jù)預(yù)測(cè)器算法新數(shù)據(jù)預(yù)測(cè)結(jié)果推理/預(yù)測(cè)模型訓(xùn)練/學(xué)習(xí)

梯度下降算法

推理/預(yù)測(cè)學(xué)習(xí)準(zhǔn)則學(xué)習(xí)準(zhǔn)則2.1基本概念

2.1基本概念

2.1基本概念

2.1基本概念數(shù)據(jù)(data)數(shù)據(jù)集示例鳶尾花(irisdataset)樣本特征1特征2特征3特征4標(biāo)簽訓(xùn)練集測(cè)試集012山鳶尾變色鳶尾弗吉尼亞鳶尾個(gè)體樣例與標(biāo)簽2.1基本概念數(shù)據(jù)(data)數(shù)據(jù)集示例MNIST(MixedNationalInstituteofStandardsandTechnologydatabase)60,000個(gè)樣本的訓(xùn)練集;10,000個(gè)樣本的測(cè)試集每個(gè)樣本是分辨率為28*28像素的灰度圖像樣本的特征:由784個(gè)像素灰度值構(gòu)成的784維的特征向量標(biāo)簽:代表的數(shù)字2.1基本概念數(shù)據(jù)(data)數(shù)據(jù)集示例CIFAR-10:包含10個(gè)類別的RGB彩色圖像包括飛機(jī)、汽車、動(dòng)物等10種類別。每種類別有6000幅圖像共有50000幅訓(xùn)練圖像和10000幅測(cè)試圖像每幅圖像的為32*32像素,每個(gè)像素都有3個(gè)通道的顏色值CIFAR-100則是包含100個(gè)類別的數(shù)據(jù)集。2.1基本概念數(shù)據(jù)(data)數(shù)據(jù)集示例ImageNet:一千萬(wàn)幅圖像ReutersNewswireTopicClassification(Reuters-21578):用于文本分類的BaiduSpeechTranslationCorpus(BSTC):用于機(jī)器翻譯StanfordQuestionAnsweringDataset(SQuAD):用于問(wèn)答系統(tǒng)2.1基本概念數(shù)據(jù)(data)數(shù)據(jù)集使用Scikit-learn包加載鳶尾花數(shù)據(jù)集[1]:fromsklearnimportdatasets#導(dǎo)入datasets類[2]:iris=datasets.load_iris()#調(diào)用datasets類的iris()方法加載鳶尾花數(shù)據(jù)集[3]:print(iris.data.shape)#輸出鳶尾花特征數(shù)據(jù)維度大?。ㄐ校校輸出](150,4)[4]:print(iris.data[:5])#輸出前5個(gè)鳶尾花樣本的特征[輸出]

[[5.13.51.40.2][4.93.1.40.2][4.73.21.30.2][4.63.11.50.2][5.3.61.40.2]][5]:print(iris.target.shape)#輸出鳶尾花標(biāo)簽數(shù)據(jù)維度大小[輸出]

(150,)[6]:print(iris.target[:5])#輸出前5個(gè)鳶尾花樣本的標(biāo)簽[輸出]

[00000]2.1基本概念數(shù)據(jù)(data)數(shù)據(jù)集使用使用PyTorch框架加載CIFAR-10數(shù)據(jù)集[1]:fromtorchvisionimportdatasets#導(dǎo)入datasets類[2]:cifar10=datasets.CIFAR10(root="./data",train=True,download=True)#加載CIFAR-10[輸出]

Filesalreadydownloadedandverified[3]:frommatplotlibimportpyplotasplt#顯示第一幅圖像img,label=cifar10[0]plt.imshow(img)plt.show()2.1基本概念模型(model)一類可以描述輸入空間(即特征空間)和輸出空間(即標(biāo)簽空間)之間關(guān)系的一種通用的方法2.1基本概念

2.1基本概念

2.1基本概念學(xué)習(xí)準(zhǔn)則(criteria)損失函數(shù)(lossfunction)一般使用損失函數(shù)(lossfunction)來(lái)度量預(yù)測(cè)輸出和真實(shí)標(biāo)簽或者概率分布之間的差異,損失函數(shù)是一個(gè)非負(fù)函數(shù),有時(shí)也稱為代價(jià)函數(shù)(costfunction),其值代表預(yù)測(cè)輸出和真實(shí)標(biāo)簽之間的誤差。2.1基本概念

2.1基本概念

2.1基本概念

2.1基本概念

2.1基本概念

2.1基本概念學(xué)習(xí)準(zhǔn)則(criteria)過(guò)擬合(overfitting)與欠擬合(underfitting)過(guò)擬合就是預(yù)測(cè)器可以很好地?cái)M合訓(xùn)練集數(shù)據(jù),在其上取得很小的經(jīng)驗(yàn)風(fēng)險(xiǎn),但是在未知數(shù)據(jù)上性能卻很差的現(xiàn)象,即泛化能力很差。數(shù)據(jù)往往包含一定的噪聲,但是學(xué)習(xí)中為了降低經(jīng)驗(yàn)風(fēng)險(xiǎn),使得預(yù)測(cè)器變得過(guò)于復(fù)雜,將這些噪聲信息作為一般特征進(jìn)行了學(xué)習(xí)。2.1基本概念

2.1基本概念學(xué)習(xí)準(zhǔn)則(criteria)過(guò)擬合(overfitting)與欠擬合(underfitting)欠擬合:學(xué)習(xí)得到的預(yù)測(cè)器表達(dá)能力不足,在訓(xùn)練集上都不能取得好的擬合效果XY欠擬合

XY恰好擬合

XY過(guò)擬合

模型復(fù)雜度誤差/Error欠擬合過(guò)擬合測(cè)試誤差訓(xùn)練誤差最好擬合2.1基本概念

2.1基本概念

2.1基本概念

2.2機(jī)器學(xué)習(xí)的類型監(jiān)督學(xué)習(xí)使用帶標(biāo)簽的數(shù)據(jù)集進(jìn)行訓(xùn)練,通過(guò)標(biāo)簽信息指導(dǎo)訓(xùn)練,學(xué)習(xí)特征空間和標(biāo)簽空間內(nèi)在的映射關(guān)系或者條件概率分布,從而根據(jù)訓(xùn)練預(yù)測(cè)輸出。相關(guān)任務(wù)分類回歸2.2機(jī)器學(xué)習(xí)的類型無(wú)監(jiān)督學(xué)習(xí)使用未標(biāo)記的數(shù)據(jù)集進(jìn)行訓(xùn)練,并且機(jī)器在沒(méi)有任何監(jiān)督的情況下預(yù)測(cè)輸出。主要目的是根據(jù)相似性、模式和差異對(duì)未排序的數(shù)據(jù)集進(jìn)行分組或分類,指示機(jī)器從輸入數(shù)據(jù)集中查找隱藏的模式。相關(guān)任務(wù)聚類關(guān)聯(lián)規(guī)則學(xué)習(xí)降維2.2機(jī)器學(xué)習(xí)的類型半監(jiān)督學(xué)習(xí)介于監(jiān)督學(xué)習(xí)和無(wú)監(jiān)督學(xué)習(xí)之間的半監(jiān)督學(xué)習(xí)。通常先在小部分標(biāo)記數(shù)據(jù)上訓(xùn)練模型,并利用該模型標(biāo)記更大的未標(biāo)記數(shù)據(jù)子集;然后,標(biāo)記的數(shù)據(jù)用于訓(xùn)練第二個(gè)模型,該模型又被用于標(biāo)記剩余的未標(biāo)記數(shù)據(jù);該過(guò)程重復(fù)進(jìn)行,直到標(biāo)記所有數(shù)據(jù)。2.2機(jī)器學(xué)習(xí)的類型強(qiáng)化學(xué)習(xí)一種基于反饋的機(jī)器學(xué)習(xí)方法,通過(guò)代理(agent)與環(huán)境交互來(lái)學(xué)習(xí)其在環(huán)境中的行為。代理執(zhí)行操作并查看操作結(jié)果:對(duì)于每個(gè)好的操作,代理都會(huì)得到積極的反饋或獎(jiǎng)勵(lì);對(duì)于每個(gè)壞的操作,代理都會(huì)得到負(fù)面反饋或懲罰。代理的主要目標(biāo)是通過(guò)獲得最大的積極獎(jiǎng)勵(lì)來(lái)提高績(jī)效。強(qiáng)化學(xué)習(xí)中代理使用沒(méi)有任何標(biāo)記數(shù)據(jù)的反饋?zhàn)詣?dòng)學(xué)習(xí),因此代理必然只能通過(guò)其自身經(jīng)驗(yàn)來(lái)學(xué)習(xí)。2.3模型評(píng)估

2.3模型評(píng)估

2.3模型評(píng)估

2.3模型評(píng)估

2.3模型評(píng)估

真正例TP(truepositive)假反例FN(falsenegative)假正例FP(falsepositive)真反例TN(truenegative)預(yù)

測(cè)真

實(shí)正例反例正例反例2.3模型評(píng)估

真正例TP(truepositive)假反例FN(falsenegative)假正例FP(falsepositive)真反例TN(truenegative)預(yù)

測(cè)真

實(shí)正例反例正例反例2.3模型評(píng)估

真正例TP(truepositive)假反例FN(falsenegative)假正例FP(falsepositive)真反例TN(truenegative)預(yù)

測(cè)真

實(shí)正例反例正例反例

2.3模型評(píng)估

真正例TP(truepositive)假反例FN(falsenegative)假正例FP(falsepositive)真反例TN(truenegative)預(yù)

測(cè)真

實(shí)正例反例正例反例

2.3模型評(píng)估模型評(píng)估方法交叉驗(yàn)證(Crossvalidation)將數(shù)據(jù)集拆分為大小相等的樣本組,這些組稱為折疊(folds)。要評(píng)估的模型在除一個(gè)折疊之外的所有折疊上訓(xùn)練;訓(xùn)練后,在之前排除的折疊上測(cè)試模型。然后根據(jù)折疊次數(shù)一遍又一遍地重復(fù)此過(guò)程。如果將數(shù)據(jù)集拆分成k個(gè)折疊,這個(gè)過(guò)程叫k折(k-fold)交叉驗(yàn)證,k的值可能因數(shù)據(jù)集的大小而異。2.3模型評(píng)估模型評(píng)估方法留出法(holdout)留出法將數(shù)據(jù)集劃分為三部分:訓(xùn)練集、驗(yàn)證集和測(cè)試集。訓(xùn)練集用于對(duì)模型進(jìn)行訓(xùn)練,測(cè)試集用于評(píng)估模型的性能;驗(yàn)證集則是在訓(xùn)練階段評(píng)估構(gòu)建的模型的性能,定期評(píng)估模型,并允許對(duì)模型的參數(shù)進(jìn)行微調(diào)。2.5機(jī)器學(xué)習(xí)任務(wù)的一般流程確定目標(biāo)收集數(shù)據(jù)數(shù)據(jù)預(yù)處理特征選擇與模型構(gòu)建模型訓(xùn)練模型評(píng)估與優(yōu)化模型部署與應(yīng)用2.4機(jī)器學(xué)習(xí)任務(wù)案例通過(guò)一個(gè)簡(jiǎn)單的牛奶質(zhì)量預(yù)測(cè)案例來(lái)說(shuō)明機(jī)器學(xué)習(xí)任務(wù)的主要流程。確定目標(biāo)牛奶質(zhì)量預(yù)測(cè)本質(zhì)上就是通過(guò)pH值、顏色、氣味、口感等特征信息,來(lái)確定牛奶質(zhì)量屬于高、中、低哪個(gè)等級(jí)這是一個(gè)分類問(wèn)題。任務(wù)規(guī)模不大,較簡(jiǎn)單基于scikit-learn包進(jìn)行開發(fā)2.4機(jī)器學(xué)習(xí)任務(wù)案例收集數(shù)據(jù)#利用pandas庫(kù)讀入數(shù)據(jù)data=pd.read_csv('data\\milkquality.csv')importpandasaspdimportnumpyasnpimportseabornassnsimportplotly.expressaspximportmatplotlibimportmatplotlib.pyplotaspltfromsklearn.model_selectionimporttrain_test_splitfromsklearn.preprocessingimportStandardScalerfromsklearn.neighborsimportKNeighborsClassifierfromsklearn.metricsimportaccuracy_score,confusion_matrixfromsklearn.metricsimportclassification_report#查看數(shù)據(jù)集大?。╯hape)data.shape#查看數(shù)據(jù)(僅顯示前10行)data.head(10)(1059,8)2.4機(jī)器學(xué)習(xí)任務(wù)案例數(shù)據(jù)預(yù)處理#檢查缺失值NaNprint('\nNaN值:\n')print(data.isna().sum())#查看不同類別的分布print(data.groupby('Grade').size())#將標(biāo)簽改為值類型:'low':0,'medium':1,'high':2data['Grade']=data['Grade'].map({'low':0,'medium':1,'high':2})print(data.head())#利用熱圖查看特征之間的相關(guān)性:#紅色:正相關(guān)(值越接近1,相關(guān)性越強(qiáng));藍(lán)色:負(fù)相關(guān)sns.heatmap(data.corr(),annot=True,cmap='coolwarm')2.4機(jī)器學(xué)習(xí)任務(wù)案例數(shù)據(jù)預(yù)處理#將特征信息(X)和標(biāo)簽信息(Y)分開X=data.drop(['Grade'],axis=1)y=data['Grade']

#利用scikit-learn包的StandardScaler進(jìn)行縮放#創(chuàng)建StandardScaler實(shí)例sc=StandardScaler()

#根據(jù)數(shù)據(jù)擬合縮放器(亦即計(jì)算均值和方差)sc.fit(X)#利用擬合獲得的均值和方差進(jìn)行縮放xscaled=sc.transform(X)#對(duì)縮放后的特征創(chuàng)建新的DataFrameX_scaled=pd.DataFrame(data=xscaled,columns=data.columns[:-1])

#將數(shù)據(jù)集切分成訓(xùn)練集(X_train,y_train)和測(cè)試集(X_test,y_testX_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.2,random_state=42)2.4機(jī)器學(xué)習(xí)任務(wù)案例特征選擇與模型構(gòu)建模型訓(xùn)練#創(chuàng)建模型實(shí)例,k(n_neighbors)的取值為5knn=KNeighborsClassifier(n_neighbors=5)#模型訓(xùn)練:指定訓(xùn)練集knn.fit(X_train,y_train)2.4機(jī)器學(xué)習(xí)任務(wù)案例模型評(píng)估與優(yōu)化#對(duì)測(cè)試集樣本進(jìn)行預(yù)測(cè)knn_preds=knn.predict(X_test)#精度評(píng)估knn_score=accuracy_score(y_test,knn_preds)print("KNN精度(accuracy):{:.5f}".format(knn_score))#繪制混淆矩陣#計(jì)算混淆矩陣knn_cm=confusion_matrix(y_test,knn_preds)#繪制混淆矩陣sns.heatmap(knn_cm,annot=True,cmap='Blues',xticklabels=['Low(0)','Medium(1)','High(2)'],yticklabels=['Low(0)','Medium(1)','High(2)'])plt.ylabel("真實(shí)分類(ActualClass)")plt.xlabel("預(yù)測(cè)分類(PredictedClass)")plt.show()2.4機(jī)器學(xué)習(xí)任務(wù)案例模型評(píng)估與優(yōu)化#輸出查準(zhǔn)率、查全率和F1指標(biāo)print(classification_report(y_test,knn_preds))2.4機(jī)器學(xué)習(xí)任務(wù)案例模型評(píng)估與優(yōu)化defplot_validation_curve(model,X,y,param_name,param_range):#針對(duì)param_name參數(shù)的不同取值param_range,采用5折交叉驗(yàn)證

train_scores,test_scores=validation_curve(model,X,y,param_name=param_name,param_range=param_range,cv=5,scoring='accuracy',n_jobs=-1)#獲得5次預(yù)測(cè)的平均值

train_scores_mean=np.mean(train_scores,axis=1)test_scores_mean=np.mean(test_scores,axis=1)#繪制驗(yàn)證精度曲線

plt.figure(figsize=(10,6))plt.plot(param_range,train_scores_mean,linestyle='dotted',marker='o',label='訓(xùn)練精度(TrainingScore)')plt.plot(param_range,test_scores_mean,linestyle='solid',marker='*',label='驗(yàn)證精度(ValidationScore)')plt.xlabel('k(近鄰數(shù))')plt.ylabel('精度')plt.legend()plt.show()2.4機(jī)器學(xué)習(xí)任務(wù)案例模型評(píng)估與優(yōu)化#選取6個(gè)不同k值plot_validation_curve(knn,X_train,y_train,'n_neighbors',[1,5,10,15,20,25,30])神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)第3章人工神經(jīng)網(wǎng)絡(luò)3.1腦3.1.1腦的結(jié)構(gòu)和功能3.1.2神經(jīng)組織3.1.3信息處理和傳遞3.1.4學(xué)習(xí)和記憶的神經(jīng)機(jī)制3.2人工神經(jīng)網(wǎng)絡(luò)3.2.1人工神經(jīng)網(wǎng)絡(luò)的源起3.2.2人工神經(jīng)網(wǎng)絡(luò)的發(fā)展脈絡(luò)3.2.3腦與人工神經(jīng)網(wǎng)絡(luò)3.3感知機(jī)模型3.3.1可學(xué)習(xí)的感知機(jī)3.3.2感知機(jī)應(yīng)用案例實(shí)戰(zhàn):利用感知機(jī)進(jìn)行鳶尾花分類3.1腦腦的結(jié)構(gòu)和功能神經(jīng)系統(tǒng)是機(jī)體內(nèi)起主導(dǎo)作用的系統(tǒng)神經(jīng)系統(tǒng)分為中樞神經(jīng)系統(tǒng)和周圍神經(jīng)系統(tǒng)兩大部分腦和脊髓組成中樞神經(jīng)系統(tǒng)腦神經(jīng)和脊神經(jīng)構(gòu)成周圍神經(jīng)系統(tǒng)腦是神經(jīng)系統(tǒng)中最重要、最大和中樞的部分,幾乎控制著人體從生理功能到認(rèn)知能力的各個(gè)方面。3.1腦腦的結(jié)構(gòu)和功能人類成人的腦重約1.4公斤,但其消耗了身體1/5~1/4能量,用以維持其中的物理、化學(xué)過(guò)程,從而實(shí)現(xiàn)感覺、經(jīng)驗(yàn)和知識(shí)等的產(chǎn)生、處理和存儲(chǔ)。3.1腦腦的結(jié)構(gòu)和功能腦由前腦、中腦和后腦三部分組成。后腦控制身體的呼吸和心率等重要功能,包括脊髓的上部、腦干和小腦,其中小腦還進(jìn)行運(yùn)動(dòng)協(xié)調(diào)。腦干上部是中腦,它控制著一些反射動(dòng)作,并參與控制眼球運(yùn)動(dòng)和其他一些自主運(yùn)動(dòng)。前腦中腦

后腦右半球左半球額葉頂葉枕葉顳葉小腦脊髓3.1腦腦的結(jié)構(gòu)和功能前腦是腦中最大、也是最發(fā)達(dá)的部分,包括大腦(又稱為端腦)、下丘腦和丘腦。大腦位于腦的最頂層,是智力活動(dòng)的源泉。大腦由左右兩個(gè)大腦半球組成,中間通過(guò)胼胝體連接。大腦外層是平均厚約2.5mm的大腦皮層,是產(chǎn)生抽象思維的生物基礎(chǔ)。前腦中腦

后腦右半球左半球額葉頂葉枕葉顳葉小腦脊髓3.1腦腦的結(jié)構(gòu)和功能每個(gè)半球的大腦皮層由分成四個(gè)腦葉,分別是額葉、頂葉、枕葉和顳葉。額葉位于前額后面,與言語(yǔ)、計(jì)劃、推理、問(wèn)題解決和動(dòng)作等有關(guān)。當(dāng)我們計(jì)劃一個(gè)時(shí)間表,想象未來(lái),或使用合理的論點(diǎn)時(shí),該部分完成了大部分工作,此時(shí)額葉充當(dāng)短期儲(chǔ)存場(chǎng)所,允許在考慮其他想法的同時(shí)記住一個(gè)想法。額葉的最后部是運(yùn)動(dòng)皮層,它有助于計(jì)劃、控制和執(zhí)行自發(fā)運(yùn)動(dòng)或有意運(yùn)動(dòng),如移動(dòng)手臂或踢球。前腦中腦

后腦右半球左半球額葉頂葉枕葉顳葉小腦脊髓3.1腦腦的結(jié)構(gòu)和功能頂葉位于額葉后面,輔助運(yùn)動(dòng)以及刺激和方位的感知。當(dāng)我們享受一頓美餐時(shí),食物的味道、氣味和質(zhì)地在頂葉起作用,閱讀和算術(shù)也是頂葉的功能。頂葉的前部,運(yùn)動(dòng)區(qū)域的后面,是軀體感覺皮層。這些區(qū)域從身體其他部位接收有關(guān)溫度、味道、觸覺和運(yùn)動(dòng)的信息。前腦中腦

后腦右半球左半球額葉頂葉枕葉顳葉小腦脊髓3.1腦腦的結(jié)構(gòu)和功能枕葉位于大腦半球的后部,處理來(lái)自眼睛的圖像,并將該信息與記憶中的圖像聯(lián)系起來(lái)。顳葉位于視覺區(qū)域的前面,在頂葉和額葉下面。顳葉的頂部是一個(gè)負(fù)責(zé)從耳朵接收信息的區(qū)域。每個(gè)顳葉的下側(cè)在形成和檢索記憶方面起著至關(guān)重要的作用,包括與音樂(lè)相關(guān)的記憶。顳葉的其他部分還整合了味覺、聽覺、視覺和觸覺的記憶和感覺。前腦中腦

后腦右半球左半球額葉頂葉枕葉顳葉小腦脊髓3.1腦神經(jīng)組織神經(jīng)系統(tǒng)的主要細(xì)胞組成是神經(jīng)元(又稱為神經(jīng)細(xì)胞)和神經(jīng)膠質(zhì)細(xì)胞,數(shù)量占比約為1:10。神經(jīng)元負(fù)責(zé)信息處理和傳遞,神經(jīng)系統(tǒng)所表現(xiàn)出的興奮、傳導(dǎo)和整合等機(jī)能都由神經(jīng)元和神經(jīng)元組成的神經(jīng)網(wǎng)絡(luò)所承擔(dān)。神經(jīng)膠質(zhì)細(xì)胞主要起輔助作用,支撐神經(jīng)元的正?;顒?dòng)。注意:近年的研究表明,膠質(zhì)細(xì)胞可以放大神經(jīng)信號(hào),在心理計(jì)算中起到與神經(jīng)元一樣重要的作用。3.1腦神經(jīng)組織神經(jīng)系統(tǒng)包含數(shù)百種不同類型的神經(jīng)元感覺神經(jīng)元運(yùn)動(dòng)神經(jīng)元中間神經(jīng)元3.1腦神經(jīng)組織神經(jīng)元組成細(xì)胞體,一個(gè)到數(shù)千個(gè)接收輸入的樹突,攜帶電脈沖的軸突,以及一個(gè)軸突末梢。細(xì)胞體是神經(jīng)元的中心部分,包含細(xì)胞核,是神經(jīng)元中大部分蛋白質(zhì)合成發(fā)生的部位。細(xì)胞體不參與信息傳遞,但為信息傳遞提供必要的能量支持。樹突是具有許多分支的細(xì)胞延伸,其中神經(jīng)元的大部分輸入都發(fā)生在其中。軸突是一種更精細(xì)的索狀突起,可以延伸數(shù)十倍、數(shù)百倍甚至數(shù)萬(wàn)倍的長(zhǎng)度。軸突末梢是與其他細(xì)胞連接的軸突的小分支,其功能通常用于將信號(hào)傳輸?shù)狡渌?xì)胞。3.1腦信息處理和傳遞神經(jīng)元內(nèi)部的信息處理和傳遞是通過(guò)動(dòng)作電位來(lái)實(shí)現(xiàn)樹突接收來(lái)自其他神經(jīng)元軸突末梢的信號(hào)信號(hào)以電化學(xué)物質(zhì)的形式呈現(xiàn)。電化學(xué)物質(zhì)改變神經(jīng)元內(nèi)部的電位,如果電位差到達(dá)一定的程度,即閾值電位,神經(jīng)元就被激活,發(fā)生動(dòng)作電位,神經(jīng)元處于激活狀態(tài)。動(dòng)作電位導(dǎo)致電脈沖從細(xì)胞體開始并沿著軸突向下傳播3.1腦信息處理和傳遞神經(jīng)元之間通過(guò)突觸進(jìn)行信息傳遞突觸:一側(cè)的軸突末梢與另一側(cè)的樹突或細(xì)胞體之間有一個(gè)寬20-40納米的間隙。突觸通常在一個(gè)方向上傳導(dǎo)信號(hào)。它們可以是興奮性的或抑制性的,分別增加或減少目標(biāo)神經(jīng)元的活動(dòng)。3.1腦信息處理和傳遞神經(jīng)元之間通過(guò)突觸進(jìn)行信息傳遞突觸傳遞信息的方式有化學(xué)突觸和電突觸兩類?;瘜W(xué)突觸:動(dòng)作電位到達(dá)軸突末端

打開電壓門控鈣通道

鈣離子進(jìn)入終端

充滿神經(jīng)遞質(zhì)分子的囊泡與膜融合

內(nèi)容物釋放到突觸裂隙中

神經(jīng)遞質(zhì)擴(kuò)散穿過(guò)突觸裂隙并激活突觸后神經(jīng)元上的受體。神經(jīng)遞質(zhì)是在神經(jīng)元之間傳遞的化學(xué)分子。某些類型的分子(興奮性神經(jīng)遞質(zhì))促進(jìn)神經(jīng)元的激活,而其他分子(抑制性神經(jīng)遞質(zhì))則減少激活。神經(jīng)遞質(zhì)有不同類型,乙酰膽堿對(duì)肌肉的控制和激素的分泌、以及認(rèn)知功能很重要;去甲腎上腺素是交感神經(jīng)系統(tǒng)功能和“戰(zhàn)斗或逃跑”反應(yīng)的關(guān)鍵;多巴胺有助于調(diào)節(jié)獎(jiǎng)勵(lì)行為和情緒,以及控制身體運(yùn)動(dòng);血清素在睡眠的啟動(dòng)和食欲中發(fā)揮作用。3.1腦學(xué)習(xí)和記憶的神經(jīng)機(jī)制心理學(xué)家認(rèn)為:學(xué)習(xí)是人和動(dòng)物依賴于經(jīng)驗(yàn)來(lái)改變自身行為以適應(yīng)環(huán)境的神經(jīng)過(guò)程,即獲取新知識(shí)和新信息的過(guò)程;記憶則是對(duì)獲得的信息編碼、儲(chǔ)存、鞏固和再現(xiàn)的神經(jīng)過(guò)程。赫伯提出:細(xì)胞集合(cellassembly)和赫伯規(guī)則(Hebbrule)《行為的組織:神經(jīng)心理學(xué)理論》(TheOrganizationofBehavior:ANeuropsychologicalTheory,1949年3.1腦學(xué)習(xí)和記憶的神經(jīng)機(jī)制細(xì)胞集合(cellassembly)對(duì)刺激的表征由所有被這一刺激同時(shí)激活的神經(jīng)元實(shí)現(xiàn),這群神經(jīng)元為細(xì)胞集合,細(xì)胞集合內(nèi)所有神經(jīng)元彼此交互聯(lián)系;集合內(nèi)神經(jīng)元的連接遵循赫伯規(guī)則。赫伯規(guī)則(Hebbrule)當(dāng)細(xì)胞A的軸突足夠接近以激發(fā)B細(xì)胞并以重復(fù)和持續(xù)的方式參與其激活時(shí),某種類型的生長(zhǎng)過(guò)程或代謝變化發(fā)生在一個(gè)或兩個(gè)細(xì)胞中,從而提高細(xì)胞A在激活B中的效率;簡(jiǎn)而言之,就是一起激活的神經(jīng)元連接在一起。3.1腦學(xué)習(xí)和記憶的神經(jīng)機(jī)制長(zhǎng)時(shí)程增強(qiáng)(long-termpotentiation,LTP)和長(zhǎng)時(shí)程抑制(longtermdepression,LPD)1973年,布利斯(TimBliss)和洛莫(TerjeLomo)發(fā)現(xiàn),短暫的高頻電刺激進(jìn)入海馬的神經(jīng)通路,可以引起這條通路上的突觸傳遞效能持續(xù)增強(qiáng),這一效應(yīng)即為L(zhǎng)TP。LTP的發(fā)現(xiàn)證實(shí)了赫伯規(guī)則。LTP和突觸傳遞效能降低的長(zhǎng)時(shí)程抑制統(tǒng)稱為突觸可塑性。由少量刺激引起的長(zhǎng)時(shí)程增強(qiáng)和抑制產(chǎn)生的記憶只能持續(xù)1-2小時(shí),持續(xù)的刺激可以維持1天甚至更多,但要產(chǎn)生更長(zhǎng)期的記憶,往往需要新蛋白質(zhì)的合成和新突觸的形成。3.2人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)的源起圖靈機(jī)(Turingmachines)圖靈機(jī)由一條無(wú)限長(zhǎng)的紙帶和一個(gè)控制器組成。紙帶用作信息存儲(chǔ),上面有一個(gè)個(gè)小方格,每個(gè)小方格可以存儲(chǔ)一個(gè)符號(hào)。控制器有一個(gè)讀寫頭,可以沿著紙帶一次一格左右移動(dòng),并讀取或改變紙帶上方格中的符號(hào)。每一時(shí)刻,圖靈機(jī)處于有限個(gè)狀態(tài)中的一個(gè)狀態(tài),該狀態(tài)被記錄在控制器的狀態(tài)寄存器中。圖靈機(jī)還有一個(gè)指令表,指令表指導(dǎo)控制器根據(jù)當(dāng)前所處狀態(tài)以及當(dāng)前讀寫頭所指方格上的符號(hào)來(lái)確定讀寫頭下一步的動(dòng)作,并改變狀態(tài),令機(jī)器進(jìn)入一個(gè)新的狀態(tài)。3.2人工神經(jīng)網(wǎng)絡(luò)

3.2人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)的源起實(shí)現(xiàn)M-P模型importnumpyasnp

deflinear_threshold_gate(dot:int,T:float)->int:#返回閾值輸出

ifdot>=T:

return1

else:

return0

#輸入矩陣input_table=np.array([[0,0],#0OR0[0,1],#0OR1[1,0],#1OR0[1,1]#1OR1])#權(quán)重?cái)?shù)組賦初值weights=np.array([1,1])

#輸入和權(quán)重的點(diǎn)積dot_products=input_table@weightsprint(f'Dotproducts:{dot_products}')

T=1foriinrange(0,4):activation=linear_threshold_gate(dot_products[i],T)

print(f'Activation:{activation}')3.2人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)的源起生物神經(jīng)元與M-P模型M-P模型是第一個(gè)基于生物神經(jīng)元提出的計(jì)算模型,而且是圖靈完備的。只要有足夠的內(nèi)存和時(shí)間,如果機(jī)器可以解決任何復(fù)雜度的任何計(jì)算問(wèn)題,我們稱之為圖靈完備的。生物神經(jīng)元M-P模型樹突輸入突觸權(quán)重細(xì)胞體節(jié)點(diǎn)膜電位加權(quán)和動(dòng)作電位閾值軸突輸出3.2人工神經(jīng)網(wǎng)絡(luò)人工神經(jīng)網(wǎng)絡(luò)的發(fā)展脈絡(luò)3.2人工神經(jīng)網(wǎng)絡(luò)腦與人工神經(jīng)網(wǎng)絡(luò)

人腦淺層人工神經(jīng)網(wǎng)絡(luò)深層人工神經(jīng)網(wǎng)絡(luò)神經(jīng)元數(shù)量約860億個(gè)神經(jīng)元10~1000個(gè)神經(jīng)元>1000個(gè)神經(jīng)元連接數(shù)量約100萬(wàn)億約10萬(wàn)>100萬(wàn)(GPT-4約1.8萬(wàn)億)學(xué)習(xí)可以容忍不明確的信息需要精確、結(jié)構(gòu)化數(shù)據(jù)應(yīng)對(duì)不明確信息可以容忍部分不明確信息和非結(jié)構(gòu)化數(shù)據(jù)拓?fù)浣Y(jié)構(gòu)異步連接的復(fù)雜拓?fù)浣Y(jié)構(gòu)層之間同步連接、樹狀結(jié)構(gòu)同步連接、樹狀結(jié)構(gòu)與循環(huán)、殘差等連接并存能耗很?。s20瓦)大的耗能高耗能3.2感知機(jī)模型

3.2感知機(jī)模型

3.2感知機(jī)模型可學(xué)習(xí)的感知機(jī)實(shí)現(xiàn)“與”運(yùn)算importnumpyas

np

classPerceptron(object):#定義感知機(jī)

def__init__(self,input_size):

self.W=np.zeros(input_size)#權(quán)重初始化為0

self.b=0#偏置初始化為0

self.errors=[]#誤差

defactivation_fn(self,x):#定義激活函數(shù)

returnnp.where(x>=0.0,1,0)

defpredict(self,x):#定義預(yù)測(cè)z=np.dot(x,self.W)a=self.activation_fn(z+self.b)

returna

deftrain(self,X,y,eta=0.01,epochs=20):#定義訓(xùn)練

fortinrange(epochs):#epochs個(gè)輪回err=0

forxj,targetinzip(X,y):delta=eta*(target-self.predict(xj))

self.W+=delta*xj

self.b+=deltaerr+=int(delta!=0.0)

self.errors.append(err)

return

self

X=np.array([[0,0],[0,1],[1,0],[1,1]])#邏輯運(yùn)算可能的輸入組合y=np.array([0,0,0,1])#對(duì)應(yīng)輸入組合的邏輯與計(jì)算值,標(biāo)簽

perceptron=Perceptron(input_size=2)#實(shí)例化感知機(jī)perceptron.train(X,y)#訓(xùn)練print('Weights:',perceptron.W,'Bias:',perceptron.b)

forxjinX:pre=perceptron.predict(xj)print(xj[0],'and',xj[1],'=',pre)#輸出當(dāng)輸入為xj時(shí)對(duì)應(yīng)的預(yù)測(cè)值3.2感知機(jī)模型可學(xué)習(xí)的感知機(jī)實(shí)現(xiàn)“與”運(yùn)算importnumpyas

np

classPerceptron(object):#定義感知機(jī)

def__init__(self,input_size):

self.W=np.zeros(input_size)#權(quán)重初始化為0

self.b=0#偏置初始化為0

self.errors=[]#誤差

defactivation_fn(self,x):#定義激活函數(shù)

returnnp.where(x>=0.0,1,0)

defpredict(self,x):#定義預(yù)測(cè)z=np.dot(x,self.W)a=self.activation_fn(z+self.b)

returna

deftrain(self,X,y,eta=0.01,epochs=20):#定義訓(xùn)練

fortinrange(epochs):#epochs個(gè)輪回err=0

forxj,targetinzip(X,y):delta=eta*(target-self.predict(xj))

self.W+=delta*xj

self.b+=deltaerr+=int(delta!=0.0)

self.errors.append(err)

return

self

X=np.array([[0,0],[0,1],[1,0],[1,1]])#邏輯運(yùn)算可能的輸入組合y=np.array([0,0,0,1])#對(duì)應(yīng)輸入組合的邏輯與計(jì)算值,標(biāo)簽

perceptron=Perceptron(input_size=2)#實(shí)例化感知機(jī)perceptron.train(X,y)#訓(xùn)練print('Weights:',perceptron.W,'Bias:',perceptron.b)

forxjinX:pre=perceptron.predict(xj)print(xj[0],'and',xj[1],'=',pre)#輸出當(dāng)輸入為xj時(shí)對(duì)應(yīng)的預(yù)測(cè)值3.2感知機(jī)模型感知機(jī)應(yīng)用案例實(shí)戰(zhàn):利用感知機(jī)進(jìn)行鳶尾花分類問(wèn)題描述選取鳶尾花數(shù)據(jù)集中的山鳶尾(setosa)和變色鳶尾(versicolor),多分類可以在二分類的基礎(chǔ)上進(jìn)行。花的特征選取花萼(sepal)長(zhǎng)度(特征0)和花瓣(petal)長(zhǎng)度(特征1)。3.2感知機(jī)模型應(yīng)用案例實(shí)戰(zhàn):利用感知機(jī)進(jìn)行鳶尾花分類實(shí)現(xiàn)importpandasaspdimportmatplotlib.pyplotaspltfrommlxtend.plottingimportplot_decision_regions#利用Pandas庫(kù)處理數(shù)據(jù)df=pd.read_csv('/ml/machine-learning-databases/iris/iris.data',header=None)

#山鳶尾和變色鳶尾y=df.iloc[0:100,4].valuesy=np.where(y=='Iris-setosa',0,1)

#花萼長(zhǎng)度和花瓣長(zhǎng)度X=df.iloc[0:100,[0,2]].values

#實(shí)例化感知機(jī)模型perceptron=Perceptron(input_size=2)

#繪制訓(xùn)練過(guò)程中錯(cuò)誤分類數(shù)的變化曲線plt.plot(range(1,len(perceptron.errors)+1),perceptron.errors,marker='o')plt.xlabel('訓(xùn)練輪回(Epochs)')plt.ylabel('錯(cuò)誤分類(Misclassifications)')plt.show()

#繪制分類器的決策邊界perceptron.train(X,y,eta=0.1,epochs=10)print('Weights:%s'%perceptron.W)plot_decision_regions(X,y,clf=perceptron)plt.title('Perceptron')plt.xlabel('花萼(sepal)長(zhǎng)度[cm]')plt.ylabel('花瓣(petal)長(zhǎng)度[cm]')plt.show()3.2感知機(jī)模型

3.2感知機(jī)模型知機(jī)的缺陷與人工智能的寒冬“異或”問(wèn)題

X=np.array([[0,0],[0,1],[1,0],[1,1]])#邏輯運(yùn)算可能的輸入組合y=np.array([0,1,1,0])#對(duì)應(yīng)輸入組合的邏輯異或計(jì)算值,標(biāo)簽

perceptron=Perceptron(input_size=2)#實(shí)例化感知機(jī)perceptron.train(X,y)#訓(xùn)練print('Weights:',perceptron.W,'Bias:',perceptron.b)forxjinX:pre=perceptron.predict(xj)3.2感知機(jī)模型知機(jī)的缺陷與人工智能的寒冬“異或”問(wèn)題對(duì)于邏輯與和邏輯或運(yùn)算,一條直線即可分隔開兩種不同情形。邏輯異或運(yùn)算不是一個(gè)線性可分問(wèn)題,沒(méi)有辦法生成一個(gè)能夠正確分類所有實(shí)例的決策邊界。

3.2感知機(jī)模型知機(jī)的缺陷與人工智能的寒冬鳶尾花分類如果選用另外兩個(gè)特征(花萼寬度和花瓣寬度)對(duì)鳶尾花數(shù)據(jù)集中的兩個(gè)不同的類別(山鳶尾/類別0和變色鳶尾/類別1)進(jìn)行分類分類錯(cuò)誤數(shù)難以收斂到0,同時(shí),也無(wú)法找到一個(gè)好的決策邊界,因?yàn)槊看屋喕匾粋€(gè)或多個(gè)樣本總是被錯(cuò)誤分類,因此學(xué)習(xí)永遠(yuǎn)不會(huì)停止更新權(quán)重。

3.2感知機(jī)模型知機(jī)的缺陷與人工智能的寒冬由于感知機(jī)無(wú)法處理線性不可分問(wèn)題,明斯基(MarvinMinsky)和派普特(SeymourPapert)在1969年出版了《感知機(jī):計(jì)算幾何導(dǎo)論》一書,并認(rèn)為感知機(jī)以及隨之而來(lái)的整個(gè)人工智能連接主義方法具有嚴(yán)重的局限性,例如不可解決線性不可分問(wèn)題等。一般認(rèn)為,明斯基的這一判斷直接導(dǎo)致了人工智能的冬天,一直持續(xù)到1980年代中期。

神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí)第4章多層感知機(jī)4.1多層感知機(jī)的緣起4.2再識(shí)激活函數(shù)4.2.1Sigmoid函數(shù)4.2.2ReLU函數(shù)4.3網(wǎng)絡(luò)結(jié)構(gòu)與信息流動(dòng)4.4反向傳播算法4.4.1反向傳播算法原理4.4.2反向傳播算法4.5自動(dòng)梯度計(jì)算4.5.1自動(dòng)微分4.5.2計(jì)算圖4.6多層感知機(jī)的應(yīng)用實(shí)例4.6.1利用多層感知機(jī)實(shí)現(xiàn)二分類4.6.2利用多層感知機(jī)實(shí)現(xiàn)手寫數(shù)字識(shí)別4.1多層感知機(jī)的緣起

4.1多層感知機(jī)的緣起多層感知機(jī)擁有更強(qiáng)的表達(dá)能力,可以實(shí)現(xiàn)非線性分類任務(wù)。復(fù)雜的結(jié)構(gòu)使得多層感知機(jī)的訓(xùn)練難度增大。魯梅哈特和麥克勒蘭德(JamesMcClelland)嘗試用Sigmoid函數(shù)近似感知機(jī)的線性閾值單元,并結(jié)合維德諾和霍夫在ADALINE中采用的梯度下降方法進(jìn)行訓(xùn)練。20世紀(jì)80年代中期,魯梅哈特、辛頓在《并行分布式處理》(ParallelDistributedProcessing,PDP)中引入反向傳播算法,并與威廉姆斯一起在《自然》雜志發(fā)表了相關(guān)論文,這標(biāo)志著多層感知機(jī)模型的成熟。4.2再識(shí)激活函數(shù)激活函數(shù)一般應(yīng)滿足非線性連續(xù)可導(dǎo)激活函數(shù)及其導(dǎo)數(shù)容易計(jì)算激活函數(shù)導(dǎo)數(shù)的值域在合適的范圍內(nèi)4.2再識(shí)激活函數(shù)

4.2再識(shí)激活函數(shù)

4.2再識(shí)激活函數(shù)

更多激活函數(shù)帶泄露的ReLU(leakyReLU)指數(shù)線性單元(exponentiallinearunit,ELU)softplus函數(shù)……4.3網(wǎng)絡(luò)結(jié)構(gòu)和信息流動(dòng)

網(wǎng)絡(luò)結(jié)構(gòu)4.3網(wǎng)絡(luò)結(jié)構(gòu)和信息流動(dòng)

4.3網(wǎng)絡(luò)結(jié)構(gòu)和信息流動(dòng)

4.4反向傳播算法

4.4反向傳播算法

4.4反向傳播算法

4.4反向傳播算法

4.4反向傳播算法反向傳播算法

1.2.3.

4.5.6.7.8.4.4反向傳播算法反向傳播算法

9.10.11.12.13.

14.15.16.4.5自動(dòng)梯度計(jì)算自動(dòng)微分自動(dòng)微分通過(guò)將數(shù)值計(jì)算分解成加減乘除等基本運(yùn)算和一些初等函數(shù),然后利用復(fù)合函數(shù)的鏈?zhǔn)角髮?dǎo)法則自動(dòng)計(jì)算梯度的方法。自動(dòng)微分簡(jiǎn)單示例#導(dǎo)入torch模塊importtorch#創(chuàng)建一個(gè)張量(tensor)x,該張量支持自動(dòng)求微分:requires_grad=Truex=torch.tensor(1.0,requires_grad=True)print(x)[輸出]tensor(1.,requires_grad=True)4.5自動(dòng)梯度計(jì)算自動(dòng)微分自動(dòng)微分簡(jiǎn)單示例(Cont.)#計(jì)算y關(guān)于x的梯度y.backward()x.grad[輸出]

tensor(2.)#用x創(chuàng)建新的變量yy=2*xprint(y)[輸出]

tensor(0.,grad_fn=<MulBackward0>由x計(jì)算y所使用的運(yùn)算,grad_fn=<MulBackward0>,該信息表示計(jì)算y的操作是乘法運(yùn)算。求y關(guān)于x的梯度。4.5自動(dòng)梯度計(jì)算自動(dòng)微分自動(dòng)微分簡(jiǎn)單示例(Cont.)#其他基本運(yùn)算(加法)x1=torch.tensor(1.0,requires_grad=True)z=2+x1print(z)z.backward()x1.grad[輸出]

tensor(3.,grad_fn=<AddBackward0>)tensor(1.)4.5自動(dòng)梯度計(jì)算自動(dòng)微分自動(dòng)微分簡(jiǎn)單示例(Cont.)#基本運(yùn)算的復(fù)合x2=torch.tensor(1.0,requires_grad=True)y2=(x2-1)*x2*(x2+2)print(y2)y2.backward()x2.grad[輸出]

tensor(0.,grad_fn=<MulBackward0>)tensor(3.)4.5自動(dòng)梯度計(jì)算自動(dòng)微分自動(dòng)微分簡(jiǎn)單示例(Cont.)#初等函數(shù)x4=torch.tensor(2.0,requires_grad=True)y4=torch.exp(x4)print(y4)y4.backward()x4.grad[輸出]

tensor(7.3891,grad_fn=<ExpBackward0>)tensor(7.3891)4.5自動(dòng)梯度計(jì)算計(jì)算圖張量計(jì)算的依賴關(guān)系通過(guò)計(jì)算圖實(shí)現(xiàn)。計(jì)算圖將數(shù)學(xué)運(yùn)算圖形化表示。運(yùn)算一般由初等函數(shù)和簡(jiǎn)單的基本運(yùn)算依照簡(jiǎn)單的運(yùn)算規(guī)則復(fù)合而成,運(yùn)算中出現(xiàn)的每個(gè)函數(shù)和基本運(yùn)算都被表示成非葉子節(jié)點(diǎn),非葉子節(jié)點(diǎn)的子節(jié)點(diǎn)仍然可以是非葉子節(jié)點(diǎn),運(yùn)算中的常量和變量表示為葉子節(jié)點(diǎn)。4.5自動(dòng)梯度計(jì)算

+3^2xzy*2h1h2h34.5自動(dòng)梯度計(jì)算

+3^2xzy*2h1h2h3

函數(shù)導(dǎo)數(shù)4.5自動(dòng)梯度計(jì)算計(jì)算圖對(duì)應(yīng)自動(dòng)梯度計(jì)算的程序?qū)崿F(xiàn)x=torch.tensor(1.0,requires_grad=True)y=x*xz=2*y+3.0print(x)print(y)print(z)z.backward()x.grad[輸出]

tensor(1.,requires_grad=True)tensor(1.,grad_fn=<MulBackward0>)tensor(5.,grad_fn=<AddBackward0>)tensor(4.)4.5自動(dòng)梯度計(jì)算

*-1*xz+bh1h2h3wexph4+h5/h6114.6多層感知機(jī)的應(yīng)用實(shí)例利用多層感知機(jī)實(shí)現(xiàn)二分類問(wèn)題描述現(xiàn)有聲納數(shù)據(jù)集,該數(shù)據(jù)集是從沙質(zhì)海床上的金屬圓柱體(代表水雷)和圓柱狀巖石收集的聲納信號(hào),共有208個(gè)實(shí)例,其中111個(gè)來(lái)自于金屬圓柱體,97個(gè)來(lái)自于巖石。數(shù)據(jù)共有61列,包括60個(gè)特征信息和1個(gè)標(biāo)簽;特征是從不同角度返回的信號(hào)強(qiáng)度,為0~1的連續(xù)值;標(biāo)簽有兩個(gè)值,“R”代表巖石,“M”代表金屬。要求利用多層感知機(jī)構(gòu)建一個(gè)分類器,根據(jù)這些特征來(lái)判別目標(biāo)對(duì)象是巖石還是金屬圓柱體(水雷)。4.6多層感知機(jī)的應(yīng)用實(shí)例利用多層感知機(jī)實(shí)現(xiàn)二分類基本步驟加載數(shù)據(jù)。包含數(shù)據(jù)的預(yù)處理、數(shù)據(jù)的規(guī)范化和訓(xùn)練集、驗(yàn)證集和測(cè)試集的劃分;設(shè)計(jì)網(wǎng)絡(luò)。主要利用選定的機(jī)器學(xué)習(xí)平臺(tái)或者框架進(jìn)行網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì),并選擇超參數(shù);模型評(píng)估與選擇。往往通過(guò)交叉驗(yàn)證的方法評(píng)估不同結(jié)構(gòu)或者超參數(shù)構(gòu)造的模型的優(yōu)劣;測(cè)試與評(píng)價(jià)。在在測(cè)試集運(yùn)行模型,并利用混淆矩陣、ROC曲線等對(duì)泛化能力進(jìn)行評(píng)價(jià)。4.6多層感知機(jī)的應(yīng)用實(shí)例利用多層感知機(jī)實(shí)現(xiàn)二分類加載數(shù)據(jù)importpandasaspd#利用Pandas包加載本地?cái)?shù)據(jù)data=pd.read_csv(".\\data\\sonar.csv",header=None)X=data.iloc[:,0:60]y=data.iloc[:,60]

fromsklearn.preprocessingimportLabelEncoder#標(biāo)簽“M”和“R”分別轉(zhuǎn)換為“1”和“0”encoder=LabelEncoder()encoder.fit(y)y=encoder.transform(y)

4.6多層感知機(jī)的應(yīng)用實(shí)例利用多層感知機(jī)實(shí)現(xiàn)二分類加載數(shù)據(jù)importtorch#將特征和標(biāo)簽轉(zhuǎn)換成張量X=torch.tensor(X.values,dtype=torch.float32)y=torch.tensor(y,dtype=torch.float32).reshape(-1,1)不知道張量的shape屬性是多少,但是想讓其變成只有一列,行數(shù)n不知道具體為多少,通過(guò)`reshape(-1,1)`,自動(dòng)計(jì)算出行數(shù),新的張量shape屬性為(n,1)。4.6多層感知機(jī)的應(yīng)用實(shí)例利用多層感知機(jī)實(shí)現(xiàn)二分類設(shè)計(jì)網(wǎng)絡(luò)PyTorch中,torch.nn是專門為神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)提供的模塊化接口,其中nn.Module類包含網(wǎng)絡(luò)各層的定義和前饋函數(shù)forward(),用戶通過(guò)定義nn.Module類的子類構(gòu)建自己的網(wǎng)絡(luò)。網(wǎng)絡(luò)結(jié)構(gòu)三層:輸入層60個(gè)神經(jīng)元;隱含層:180個(gè)神經(jīng)元;輸出層:1個(gè)神經(jīng)元,其值在0~1之間,表示是目標(biāo)是水雷的概率或者置信度。隱含層激活函數(shù):ReLU函數(shù);輸出層激活函數(shù):Logistic函數(shù)。4.6多層感知機(jī)的應(yīng)用實(shí)例利用多層感知機(jī)實(shí)現(xiàn)二分類設(shè)計(jì)網(wǎng)絡(luò)#定義模型(寬模型)importtorch.nnasnn#網(wǎng)絡(luò)結(jié)構(gòu)輸入60

180

1輸出classWide(nn.Module):

def__init__(self):super().__init__()

self.hidden=nn.Linear(60,180)

self.relu=nn.ReLU()

self.output=nn.Linear(180,1)

self.sigmoid=nn.Sigmoid()

defforward(self,x):x=self.relu(self.hidden(x))x=self.sigmoid(self.output(x))

returnx4.6多層感知機(jī)的應(yīng)用實(shí)例利用多層感知機(jī)實(shí)現(xiàn)二分類設(shè)計(jì)網(wǎng)絡(luò)一個(gè)更深的網(wǎng)路包含三個(gè)隱含層,每個(gè)隱含層均有60個(gè)神經(jīng)元;兩個(gè)模型的參數(shù)數(shù)量相當(dāng),寬模型111

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論