人工智能基礎(chǔ) 課件 第5章 機器學(xué)習(xí)與深度學(xué)習(xí)_第1頁
人工智能基礎(chǔ) 課件 第5章 機器學(xué)習(xí)與深度學(xué)習(xí)_第2頁
人工智能基礎(chǔ) 課件 第5章 機器學(xué)習(xí)與深度學(xué)習(xí)_第3頁
人工智能基礎(chǔ) 課件 第5章 機器學(xué)習(xí)與深度學(xué)習(xí)_第4頁
人工智能基礎(chǔ) 課件 第5章 機器學(xué)習(xí)與深度學(xué)習(xí)_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第5章機器學(xué)習(xí)與深度學(xué)習(xí)任務(wù)1:使用機器學(xué)習(xí)實現(xiàn)鳶尾花分類任務(wù)2:使用深度學(xué)習(xí)實現(xiàn)手寫數(shù)字識別機器學(xué)習(xí)的概念機器學(xué)習(xí)分類機器學(xué)習(xí)的流程機器學(xué)習(xí)的應(yīng)用場景深度學(xué)習(xí)概述感知機深度神經(jīng)網(wǎng)絡(luò)任務(wù)1:使用機器學(xué)習(xí)實現(xiàn)鳶尾花分類1機器學(xué)習(xí)的概念機器學(xué)習(xí)分類機器學(xué)習(xí)的流程機器學(xué)習(xí)的應(yīng)用場景機器學(xué)習(xí)的概念什么是機器學(xué)習(xí)(MachineLearning)呢?讓我們先看一下“機器學(xué)習(xí)之父”湯姆·米切爾對于機器學(xué)習(xí)的定義:“對于某類任務(wù)T和某項性能評價準則P,如果一個計算機程序在T上其性能Р隨著經(jīng)驗E而自我完善,稱這個計算機程序從經(jīng)驗E中進行了學(xué)習(xí)”。圖5-1機器學(xué)習(xí)概念的解釋1機器學(xué)習(xí)的定義機器學(xué)習(xí)的概念一開始,計算機程序只學(xué)習(xí)了少數(shù)蘋果和梨,當(dāng)我們讓計算機識別一個它沒有“見過”的梨或蘋果時,它可能就不認識了,性能指標Р較差,隨著該程序?qū)W習(xí)更多的蘋果和梨,程序的經(jīng)驗E的就會不斷的增加,該計算機程序能夠“認出”更多的蘋果和梨,即它的性能指標Р得到了提高。機器學(xué)習(xí)過程的描述機器學(xué)習(xí)的概念此外,還有其他關(guān)于機器學(xué)習(xí)的定義:機器學(xué)習(xí)是研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的性能。機器學(xué)習(xí)就是通過算法,使得機器能從大量歷史數(shù)據(jù)中學(xué)習(xí)規(guī)律,并利用規(guī)律對新的樣本做智能識別或?qū)ξ磥碜鲱A(yù)測。機器學(xué)習(xí)機器學(xué)習(xí)的概念那么機器學(xué)習(xí)定義的本質(zhì)是怎么來的呢?我們從人類學(xué)習(xí)的描述中或許能夠找到答案。幼兒認識水果的過程首先,我們來看一下著名的人工智能專家西蒙給出的學(xué)習(xí)概念,他認為:“如果一個系統(tǒng),能夠通過執(zhí)行某個過程,就此改進了它的性能,那么這個過程就是學(xué)習(xí)?!蔽覀兛梢钥闯觯瑢W(xué)習(xí)的核心目的,就是改善性能。而學(xué)習(xí)能力是智能行為的一個非常重要的特征,那么如何讓機器也能像人類一樣具有學(xué)習(xí)的能力呢?然后我們再來了解一下人類學(xué)習(xí)的過程。2人類學(xué)習(xí)與機器學(xué)習(xí)機器學(xué)習(xí)的概念機器學(xué)習(xí)是仿人的一套歸納過程。人類在成長、生活過程中積累了很多歷史經(jīng)驗,通過對這些經(jīng)驗進行“歸納”,掌握了一些生活“規(guī)律”。當(dāng)人類遇到未知的問題或需要對未來進行“預(yù)測”時,就會使用這些“規(guī)律”指導(dǎo)自己的生活和工作。機器學(xué)習(xí)過程與人類對歷史經(jīng)驗歸納過程的對比。機器學(xué)習(xí)與人類思考對比機器學(xué)習(xí)的概念機器學(xué)習(xí)使用大量數(shù)據(jù)進行“訓(xùn)練”,這種學(xué)習(xí)方式利用了現(xiàn)代計算機的處理能力,可以輕松地處理大型數(shù)據(jù)集。傳統(tǒng)編程:軟件工程師編寫程序來解決問題。要求首先給出問題解決方案,然后用代碼的方式告訴計算機如何去按照方案和步驟解決問題。機器學(xué)習(xí):數(shù)據(jù)科學(xué)家使用訓(xùn)練數(shù)據(jù)集來教計算機應(yīng)該怎么做,然后系統(tǒng)執(zhí)行該任務(wù)。只給出該問題的相關(guān)數(shù)據(jù),讓計算機自己學(xué)習(xí)這些數(shù)據(jù),最后找出問題的解決方案。機器學(xué)習(xí)分類1.監(jiān)督學(xué)習(xí)監(jiān)督學(xué)習(xí)需要使用有輸入和預(yù)期輸出標記的數(shù)據(jù)集。監(jiān)督學(xué)習(xí)的目的是通過學(xué)習(xí)許多有標簽的樣本,然后對新的數(shù)據(jù)做出預(yù)測。例如,如果指定的任務(wù)是使用一種圖像分類算法對男孩和女孩的圖像進行分類,那么男孩的圖像需要帶有“男孩”標簽,女孩的圖像需要帶有“女孩”標簽。這些數(shù)據(jù)被認為是一個“訓(xùn)練”數(shù)據(jù)集,在預(yù)先知道正確的分類答案的情況下,算法對訓(xùn)練數(shù)據(jù)不斷進行迭代預(yù)測,通過跟正確答案的對比進行不斷修正,直到達到所要求的性能,學(xué)習(xí)過程才會停止。機器學(xué)習(xí)分類監(jiān)督學(xué)習(xí)又可分為“分類”和“回歸”問題。(1)分類在分類問題中,機器學(xué)習(xí)的目標是對樣本的類標簽進行預(yù)測,判斷樣本屬于哪一個分類,結(jié)果是離散的數(shù)值。例如:將圖片分類為“蘋果”或“橘子”,準確識別新圖片上的水果是“蘋果”類還是“橘子”類就是分類問題。再比如:有一個胸部腫瘤的數(shù)據(jù)集,數(shù)據(jù)部分是腫瘤的大小等特征,對應(yīng)的標簽表示腫瘤是否為良性的。假如有一個新的腫瘤數(shù)據(jù),對應(yīng)的機器學(xué)習(xí)算法就根據(jù)腫瘤的尺寸等數(shù)據(jù),估算出一個概率,即腫瘤為良性的概率或惡性的概率,就是預(yù)測輸出一個離散值0/1,也就是良性/惡性。機器學(xué)習(xí)分類(2)回歸在回歸問題中,其目標是預(yù)測一個連續(xù)的數(shù)值或者是范圍。例如:豆瓣上每部電影都有一個評分,從0到10分,分數(shù)越高說明影片越受歡迎。預(yù)測即將上映的新電影的分值,就是回歸問題。再比如:預(yù)測一套二手房的售價,給定房價的數(shù)據(jù)集,每套房子大小等特征數(shù)據(jù)對應(yīng)的標簽就是房價,如果你有一套房子想知道能賣多少錢,機器學(xué)習(xí)算法就根據(jù)輸入的房子大小數(shù)據(jù),預(yù)測出房子對應(yīng)的市場價。機器學(xué)習(xí)分類2.無監(jiān)督學(xué)習(xí)在無監(jiān)督學(xué)習(xí)中給定的數(shù)據(jù)沒有標簽。無監(jiān)督學(xué)習(xí)算法的目標是以某種方式組織數(shù)據(jù),然后找出數(shù)據(jù)中存在的內(nèi)在結(jié)構(gòu),這包括將數(shù)據(jù)進行聚類,或者找到更簡單的方式處理復(fù)雜數(shù)據(jù),使復(fù)雜數(shù)據(jù)看起來更簡單。聚類是典型的無監(jiān)督學(xué)習(xí),事先不知道樣本的類別,通過某種辦法,把相似的樣本放在一起歸位一類。例如,餐館擁有大量顧客的消費數(shù)據(jù),想對顧客進行分組,以提供針對性優(yōu)質(zhì)服務(wù)。一開始不大可能告訴聚類算法每個顧客屬于哪個分組,算法會自行尋找這種關(guān)聯(lián),把用餐的次數(shù)和用餐總花費較高的優(yōu)質(zhì)顧客分為一組,把用餐的次數(shù)和用餐總花費較低的普通顧客分為一組,把一次性順便消費的低價值顧客分為一組。機器學(xué)習(xí)分類3.強化學(xué)習(xí)強化學(xué)習(xí)是機器學(xué)習(xí)的范式和方法論之一,用于描述和解決智能體(Agent)在與環(huán)境的交互過程中通過學(xué)習(xí)策略以達成回報最大化或?qū)崿F(xiàn)特定目標的問題。強化學(xué)習(xí)把學(xué)習(xí)看作試探評價過程,智能體Agent選擇一個動作用于環(huán)境,環(huán)境接受該動作后狀態(tài)(State)發(fā)生變化,同時產(chǎn)生一個強化信號(獎或懲)反饋給Agent,Agent根據(jù)強化信號和環(huán)境當(dāng)前狀態(tài)再選擇下一個動作,選擇的原則是使受到正強化(獎)的概率增大。機器學(xué)習(xí)的流程一個完整的機器學(xué)習(xí)項目往往要經(jīng)歷問題定義、數(shù)據(jù)準備、模型選擇和開發(fā)、模型訓(xùn)練和調(diào)優(yōu)、模型評估測試五個步驟。機器學(xué)習(xí)流程機器學(xué)習(xí)的流程1.問題定義我們拿到一個機器學(xué)習(xí)問題時,首先應(yīng)該對問題進行分析,確定問題的類型,例如是監(jiān)督學(xué)習(xí)還是無監(jiān)督學(xué)習(xí),是分類問題還是回歸問題等,這將直接影響算法的選擇、模型的評估。2.數(shù)據(jù)準備(1)數(shù)據(jù)收集我們?yōu)槭裁匆占瘮?shù)據(jù)呢?因為有些問題需要靠數(shù)據(jù)找出答案,比如:“我應(yīng)該買哪支股票?”“我如何活得更健康?”“我如何才能了解顧客不斷變化的喜好,從而更好地提供服務(wù)?”等。機器學(xué)習(xí)的流程(2)數(shù)據(jù)預(yù)處理數(shù)據(jù)集或多或少都會存在數(shù)據(jù)缺失、分布不均衡、存在異常數(shù)據(jù)、混有無關(guān)緊要的數(shù)據(jù)等諸多數(shù)據(jù)不規(guī)范的問題。這就需要我們對收集到的數(shù)據(jù)進行進一步的處理,包括處理缺失值、處理偏離值、數(shù)據(jù)規(guī)范化、數(shù)據(jù)的轉(zhuǎn)換等,這樣的步驟叫做“數(shù)據(jù)預(yù)處理”。(3)數(shù)據(jù)集分割一般需要將樣本分成獨立的三部分:訓(xùn)練集(trainset),驗證集(validationset)和測試集(testset)。其中訓(xùn)練集用來訓(xùn)練模型,驗證集用來調(diào)整模型參數(shù)從而得到最優(yōu)模型,而測試集則檢驗最優(yōu)的模型的性能如何。機器學(xué)習(xí)的流程3.模型選擇和開發(fā)當(dāng)我們處理好數(shù)據(jù)之后,就會根據(jù)確定好的問題類型,選擇合適的機器學(xué)習(xí)算法模型,編寫對應(yīng)的模型代碼。4.模型訓(xùn)練和調(diào)優(yōu)選擇好模型后,使用數(shù)據(jù)集對模型進行訓(xùn)練。首次嘗試,我們一般不會得到最佳模型,我們需要圍繞業(yè)務(wù)所需的模型目標,調(diào)節(jié)模型參數(shù)。5.模型評估測試對訓(xùn)練好的模型進行評估測試,驗證模型是否達到業(yè)務(wù)需求。機器學(xué)習(xí)的應(yīng)用場景1.數(shù)據(jù)分析與挖掘“數(shù)據(jù)挖掘”和“數(shù)據(jù)分析”通常被相提并論,并在許多場合被認為是可以相互替代的術(shù)語。無論是數(shù)據(jù)分析還是數(shù)據(jù)挖掘,都是幫助人們收集、分析數(shù)據(jù),使之成為信息,并做出判斷,因此可以將這兩項合稱為數(shù)據(jù)分析與挖掘。數(shù)據(jù)分析與挖掘技術(shù)是機器學(xué)習(xí)算法和數(shù)據(jù)存取技術(shù)的結(jié)合,利用機器學(xué)習(xí)提供的統(tǒng)計分析、知識發(fā)現(xiàn)等手段分析海量數(shù)據(jù)。機器學(xué)習(xí)的應(yīng)用場景2.計算機視覺計算機視覺的主要基礎(chǔ)是圖像處理和機器學(xué)習(xí)。圖像處理技術(shù)用于將圖像處理為適合進入機器學(xué)習(xí)模型的輸入,機器學(xué)習(xí)則負責(zé)從圖像中識別出相關(guān)的模式。手寫字識別、車牌識別、人臉識別、目標檢測與追蹤、圖像濾波與增強等都是計算機視覺的應(yīng)用場景。機器學(xué)習(xí)的應(yīng)用場景3.自然語言處理自然語言處理是讓機器理解人類語言的一門技術(shù)。在自然語言處理中,大量使用了編譯原理相關(guān)的技術(shù),如語法分析等。在理解層面,使用了語義理解、機器學(xué)習(xí)等技術(shù)。因此自然語言處理的基礎(chǔ)是文本處理和機器學(xué)習(xí)。垃圾郵件過濾、用戶評論情感分類、信息檢索等都是自然語言的應(yīng)用場景。4.語音識別語音識別是利用自然語言處理、機器學(xué)習(xí)等相關(guān)技術(shù)實現(xiàn)對人類語言識別的技術(shù)。Siri等智能助手、智能聊天機器人都是語音識別的應(yīng)用。任務(wù)實施任務(wù)目標:實現(xiàn)鳶尾花(iris)數(shù)據(jù)集的分類預(yù)測任務(wù)描述:在百度AIStudio平臺,對機器學(xué)習(xí)平臺scikit-learn內(nèi)置的鳶尾花(iris)數(shù)據(jù)集實現(xiàn)分類預(yù)測。iris數(shù)據(jù)集包含了150個樣本,每個樣本有4個特征(花萼長度、花萼寬度、花瓣長度、花瓣寬度)和1個目標標簽(表示鳶尾花的種類,共有3種:Setosa、Versicolour、Virginica)。本任務(wù)的內(nèi)容就是選擇合適的機器學(xué)習(xí)算法,例如:決策樹算法,對鳶尾花數(shù)據(jù)集進行學(xué)習(xí)訓(xùn)練,最后評估訓(xùn)練好模型的識別準確率。任務(wù)實施(1)登錄百度AIStudio平臺。注冊并登錄百度AIStudio平臺/。登錄百度AIStudio平臺1創(chuàng)建項目和環(huán)境任務(wù)實施(2)創(chuàng)建一個新的項目,并給項目命名。登錄后,點擊左側(cè)“項目大廳”選項,在展開的頁面中點擊右上角的“創(chuàng)建項目”,在彈出的列表中選擇“Notebook”。創(chuàng)建項目任務(wù)實施在彈出的對話框中填寫項目名稱,例如:鳶尾花分類;IDE選擇JupyterLab,然后點擊“創(chuàng)建”按鈕。創(chuàng)建“鳶尾花分類”項目(3)啟動環(huán)境在彈出的界面右上角點擊“啟動環(huán)境”按鈕,選擇免費資源啟動環(huán)境。任務(wù)實施在項目的主頁上,我們會看到一個Notebook編輯器。在這個編輯器中,可以編寫和執(zhí)行Python代碼。點擊編輯器上方的“+”或者“+Code”前的“+”,插入代碼單元格。2編寫代碼添加代碼單元格任務(wù)實施在代碼單元格中編寫下面的代碼。2編寫代碼#導(dǎo)入必要的庫fromsklearn.datasetsimportload_irisfromsklearn.model_selectionimporttrain_test_splitfromsklearn.treeimportDecisionTreeClassifierfromsklearn.metricsimportaccuracy_score

#加載數(shù)據(jù)iris=load_iris()X=iris.datay=iris.target

#劃分訓(xùn)練集和測試集X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.3,random_state=42)

#創(chuàng)建決策樹分類器model=DecisionTreeClassifier()

#訓(xùn)練模型model.fit(X_train,y_train)

#預(yù)測測試集y_pred=model.predict(X_test)

#評估模型accuracy=accuracy_score(y_test,y_pred)print(f"Accuracy:{accuracy:.2f}")任務(wù)實施(1)登錄百度AIStudio平臺。編寫完代碼后,點擊代碼單元格左側(cè)的運行代碼,執(zhí)行代碼。在Notebook編輯器中,你可以逐行運行代碼,或者選擇整個代碼塊并一次性運行。運行后,你會在輸出區(qū)域看到模型的準確率。3運行代碼運行代碼,輸出模型的準確率第5章機器學(xué)習(xí)與深度學(xué)習(xí)第5章機器學(xué)習(xí)與深度學(xué)習(xí)任務(wù)1:使用機器學(xué)習(xí)實現(xiàn)鳶尾花分類任務(wù)2:使用深度學(xué)習(xí)實現(xiàn)手寫數(shù)字識別機器學(xué)習(xí)的概念機器學(xué)習(xí)分類機器學(xué)習(xí)的流程機器學(xué)習(xí)的應(yīng)用場景深度學(xué)習(xí)概述感知機深度神經(jīng)網(wǎng)絡(luò)2任務(wù)2:使用深度學(xué)習(xí)實現(xiàn)手寫數(shù)字識別深度學(xué)習(xí)概述感知機深度神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)概述1深度學(xué)習(xí)定義深度學(xué)習(xí)(DeepLearning)是機器學(xué)習(xí)領(lǐng)域中一個新的研究方向,它被引入機器學(xué)習(xí)使其更接近于最初的目標——人工智能。深度學(xué)習(xí)是機器學(xué)習(xí)的一種,它特指使用深度神經(jīng)網(wǎng)絡(luò)(DeepNeuralNetworks,DNNs)來學(xué)習(xí)數(shù)據(jù)的表示和提取特征的一種算法。這種算法通過構(gòu)建多層網(wǎng)絡(luò)結(jié)構(gòu),對目標進行多層表示,以期通過多層的高層次特征來表示數(shù)據(jù)的抽象語義信息,獲得更好的特征魯棒性。深度學(xué)習(xí)中的“深度”一詞表示用于識別數(shù)據(jù)模式的多層算法或神經(jīng)網(wǎng)絡(luò)。深度學(xué)習(xí)概述2機器學(xué)習(xí)、深度學(xué)習(xí)和人工智能之間的關(guān)系人工智能是一個最寬泛的概念,是一個研究領(lǐng)域,同時也是一個實現(xiàn)目標,而機器學(xué)習(xí)則是實現(xiàn)這一目標的一類方法,深度學(xué)習(xí)只是機器學(xué)習(xí)這一類方法中的一種。人工智能、機器學(xué)習(xí)和深度學(xué)習(xí)關(guān)系圖深度學(xué)習(xí)概述3深度學(xué)習(xí)與機器學(xué)習(xí)特征提取區(qū)別(1)機器學(xué)習(xí)機器學(xué)習(xí)通常需要人工進行特征提取,即將原始數(shù)據(jù)轉(zhuǎn)換為算法可以理解的格式。這個過程需要領(lǐng)域知識和經(jīng)驗,且對于不同的數(shù)據(jù)集和任務(wù),特征提取的方式可能不同。(2)深度學(xué)習(xí)深度學(xué)習(xí)能夠自動從原始數(shù)據(jù)中提取特征,無需或僅需少量的人工干預(yù)。深度學(xué)習(xí)模型通過多層網(wǎng)絡(luò)結(jié)構(gòu),逐步將低層次的特征抽象為高層次的特征表示,這一過程是自動完成的,且能夠?qū)W習(xí)到更為復(fù)雜和抽象的特征。機器學(xué)習(xí)和深度學(xué)習(xí)特征提取區(qū)別感知機1單層感知機及其基本原理單層感知機模型是由科學(xué)家弗蘭克·羅森布拉特在1957年提出的,它的基本結(jié)構(gòu)如圖5-14所示,簡單來說,感知機(Perceptron)就是一個由兩層神經(jīng)元構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu):輸入層接收外界的輸入信號,通過激活函數(shù)變換(閾值),把信號傳送至輸出層,因此它也被稱為“閾值邏輯單元”;輸出層(也被稱為是感知機的功能層)就是M-P神經(jīng)元。單層感知機基本結(jié)構(gòu)左圖輸出y的數(shù)學(xué)表達式為:感知機下面我們通過一個區(qū)分香蕉和西瓜的經(jīng)典案例來看看感知機是如何工作的。為了簡單起見,我們假設(shè)西瓜和香蕉有且僅有兩個特征:形狀和顏色,其他特征暫不考慮。這兩個特征都是基于視覺刺激而最易得到的。假設(shè)特征x1代表輸入顏色,特征x2代表形狀,權(quán)重w1和w2的默認值暫且都設(shè)為1。為了進一步簡化,我們把閾值θ(也稱為偏置—bias)設(shè)置為0。為了標識方便,我們將感知機輸出數(shù)字化,若輸出為“1”,代表判定為“西瓜”;若輸出為“0”,代表判定為“香蕉”。感知機學(xué)習(xí)算法感知機為了方便機器計算,我們對顏色和形狀這兩個特征給予不同的值,以示區(qū)別。比如,顏色這個特征為綠色時,x取值為1,而當(dāng)顏色為黃色時,x取值為-1。類似地,如果形狀這個特征為圓形,x取值為1,形狀為月牙形狀時,x取值為-1,如下表所示。西瓜和香蕉的特征值表這樣一來,可以很容易根據(jù)感知機輸出y數(shù)學(xué)表達式,如下式所示,對西瓜和香蕉做出鑒定:西瓜:y=f(w1x1+w2x2-θ)=f(1×1+1×1-0)=f(2)=1香蕉:y=f(w1x1+w2x2-θ)=f(1×(-1)+1×(-1)-0)=f(-2)=0感知機這里,我們使用了最簡單的階躍函數(shù)作為激活函數(shù)。在階躍函數(shù)中,輸出規(guī)則非常簡單:當(dāng)f(x)中x>0時,f(x)輸出為1,否則輸出為0。通過激活函數(shù)的“潤滑”之后,結(jié)果就變成我們想要的樣子,這樣就實現(xiàn)了西瓜和香蕉的判定。

接下來我們假定w1還是等于1,而w2等于-1,閾值θ還是等于0。然后我們對于西瓜的特征:綠色圓形通過加權(quán)求和再經(jīng)過階躍激活函數(shù)后輸出如下式所示:

西瓜:y=y=f(w1x1+w2x2-θ)=f(1×1+1×(-1)-0)=f(-2)=f(0)=0

輸出為0,而我們假設(shè)的輸出值0為香蕉,顯然判斷錯了。對于香蕉的特征我們加權(quán)求和經(jīng)過階躍激活函數(shù)得到輸出值為0,對應(yīng)香蕉,判斷正確。由此可之,我們判斷的正確與否和我們的權(quán)值w1、w2和閾值相關(guān)。

那么怎么選擇權(quán)值和閾值呢?事實上,我們并不能一開始就知道這幾個參數(shù)的取值,而是通過一點點地“試錯”(Try-Error),而這里的“試錯”其實就是感知機的學(xué)習(xí)過程。感知機2感知機的學(xué)習(xí)過程在學(xué)習(xí)之前我們會對權(quán)重和閾值進行隨機初始化,如果初始化的值能判斷出是西瓜還是香蕉,則我們無需學(xué)習(xí)。但如果判斷錯了那么就會根據(jù)感知機的學(xué)習(xí)規(guī)則,來調(diào)整權(quán)值和閾值。學(xué)習(xí)訓(xùn)練過程通常包括以下幾個步驟:1.初始化:隨機初始化權(quán)重和偏置。2.迭代訓(xùn)練:對于訓(xùn)練數(shù)據(jù)集中的每個樣本,執(zhí)行以下步驟:(1)計算當(dāng)前樣本的加權(quán)和。(2)使用激活函數(shù)計算輸出類別。(3)如果輸出類別與實際類別不一致(即發(fā)生誤分類),則根據(jù)誤分類情況調(diào)整權(quán)重和偏置,以減少損失函數(shù)的值。3.重復(fù)迭代:重復(fù)上述步驟,直到滿足停止條件(如所有樣本都正確分類,或達到預(yù)設(shè)的迭代次數(shù))。感知機2感知機的學(xué)習(xí)過程通過這個過程,感知機能夠?qū)W習(xí)到一組合適的權(quán)重和偏置,使得模型能夠?qū)π碌奈粗獦颖具M行準確的分類。感知機完整工作流程深度神經(jīng)網(wǎng)絡(luò)3深度神經(jīng)網(wǎng)絡(luò)1.神經(jīng)網(wǎng)絡(luò)模型感知機,也叫單層神經(jīng)網(wǎng)絡(luò),是最基礎(chǔ)的神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)。神經(jīng)網(wǎng)絡(luò)模型由生物神經(jīng)中得到啟發(fā)。在生物神經(jīng)元細胞中,神經(jīng)突觸接收到信號,經(jīng)過接收并處理信號后判斷信號的信息強弱,來做出不同神經(jīng)電位變化反應(yīng)。神經(jīng)元結(jié)構(gòu)深度神經(jīng)網(wǎng)絡(luò)其實解決“異或”問題的關(guān)鍵在于能否解決非線性可分問題,而要解決非線性問題就需要提高網(wǎng)絡(luò)的表征能力,也就是需要使用更加復(fù)雜的網(wǎng)絡(luò)。按照這個思路,可以考慮在輸入層和輸出層之間添加一層神經(jīng)元,將其稱之為隱藏層(HiddenLayer)。增加了一層隱藏層的多層感知機模型深度神經(jīng)網(wǎng)絡(luò)雖然多層感知機模型較M-P神經(jīng)元而言已經(jīng)有了很大進步,但這一類模型仍然無法很好地解決比較復(fù)雜的非線性問題。因此,在多層感知機模型的基礎(chǔ)上,研究出了如圖所示的神經(jīng)網(wǎng)絡(luò)模型。神經(jīng)網(wǎng)絡(luò)模型深度神經(jīng)網(wǎng)絡(luò)神經(jīng)網(wǎng)絡(luò)模型具有如下特點:(1)由輸入層、隱藏層和輸出層組成,根據(jù)問題的需要,結(jié)構(gòu)中可能含有更多隱藏層;(2)每層神經(jīng)元與下一層神經(jīng)元兩兩之間建立連接;(3)神經(jīng)元之間不存在同層連接,也不存在跨層連接;(4)輸入層僅僅起到接收輸入的作用,不進行函數(shù)處理;(5)而隱藏層與輸出層的神經(jīng)元都具有激活函數(shù),是功能神經(jīng)元。圖為具備單個隱藏層的神經(jīng)網(wǎng)絡(luò)。此外,針對以上的第(1)條中,對于神經(jīng)網(wǎng)絡(luò)模型,當(dāng)隱藏層如下圖5-20所示大于兩層時,就稱之為深度神經(jīng)網(wǎng)絡(luò)(DeepNeuralNetwork,DNN)。深度神經(jīng)網(wǎng)絡(luò)模型深度神經(jīng)網(wǎng)絡(luò)2.深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程是一個復(fù)雜但系統(tǒng)化的流程,主要包括以下幾個關(guān)鍵步驟:(1)準備數(shù)據(jù)收集:找到和任務(wù)相關(guān)的數(shù)據(jù),比如圖片、文本等。處理:清洗數(shù)據(jù),比如去掉錯誤或重復(fù)的部分,然后調(diào)整數(shù)據(jù)格式以便模型可以讀取。(2)設(shè)計網(wǎng)絡(luò)架構(gòu):決定網(wǎng)絡(luò)的樣子,比如它有多少層,每層有多少節(jié)點等。初始化:給網(wǎng)絡(luò)的參數(shù)(比如每個節(jié)點的權(quán)重和偏置)隨機賦值,這是訓(xùn)練的起點。(3)預(yù)測與反饋預(yù)測:用網(wǎng)絡(luò)對數(shù)據(jù)進行預(yù)測,看它能得到什么結(jié)果。計算誤差:比較預(yù)測結(jié)果和真實結(jié)果,看看差了多少,這個差就是誤差。深度神經(jīng)網(wǎng)絡(luò)2.深度神經(jīng)網(wǎng)絡(luò)訓(xùn)練過程4)調(diào)整參數(shù)反向傳播:基于誤差,反向計算每個參數(shù)應(yīng)該調(diào)整多少,以便減少誤差。更新:按照計算出的調(diào)整量,更新網(wǎng)絡(luò)的參數(shù)。(5)重復(fù)訓(xùn)練迭代:重復(fù)上面的預(yù)測、計算誤差、調(diào)整參數(shù)的過程,直到誤差減小到滿意的程度或者達到了預(yù)設(shè)的訓(xùn)練次數(shù)。(6)測試模型評估:用之前沒見過的數(shù)據(jù)來測試訓(xùn)練好的模型,看它在新的數(shù)據(jù)上表現(xiàn)如何。任務(wù)實施任務(wù)目標:實現(xiàn)手寫數(shù)字(MNIST)識別任務(wù)描述:在百度AIStudio平臺,對深度學(xué)習(xí)框架PaddlePaddle內(nèi)置數(shù)據(jù)集手寫數(shù)字(MNIST)實現(xiàn)分類預(yù)測。本任務(wù)的內(nèi)容就是搭建神經(jīng)網(wǎng)絡(luò)模型,對手寫數(shù)字數(shù)據(jù)集進行學(xué)習(xí)訓(xùn)練,最后抽取幾張圖片查看模型預(yù)測效果。1.創(chuàng)建項目和環(huán)境(1)登錄百度AIStudio平臺,創(chuàng)建“手寫數(shù)字識別”項目。(2)啟動環(huán)境任務(wù)實施2.編寫代碼在項目的Notebook編輯器里,點擊編輯器上方的“+”插入代碼單元格,并編寫下面的代碼。importpaddlefrompaddleimportnnfrompaddle.vision.datasetsimportMNISTfrompaddle.vision.transformsimportCompose,Normalize,ToTensorfrompaddle.ioimportDataLoaderimportmatplotlib.pyplotasplt

#設(shè)置設(shè)備paddle.set_device('gpu'ifpaddle.is_compiled_with_cuda()andpaddle.get_cuda_device_count()>0else'cpu')

#數(shù)據(jù)預(yù)處理transform=Compose([ToTensor(),Normalize(mean=[0.5],std=[0.5])])

#加載數(shù)據(jù)集train_dataset=MNIST(mode='train',transform=transform)test_dataset=MNIST(mode='test',transform=transform)任務(wù)實施2.編寫代碼#數(shù)據(jù)加載器train_loader=DataLoader(train_dataset,batch_size=64,shuffle=True)test_loader=DataLoader(test_dataset,batch_size=64,shuffle=False)

#定義多層神經(jīng)網(wǎng)絡(luò)模型classMLP(nn.Layer):def__init__(self):super(MLP,self).__init__()self.fc1=nn.Linear(in_features=784,out_features=512)self.relu=nn.ReLU()self.fc2=nn.Linear(in_features=512,out_features=10)

defforward(self,x):x=paddle.reshape(x,[x.shape[0],-1])#展平輸入x=self.relu(self.fc1(x))x=self.fc2(x)returnx

#實例化模型model=MLP()

#設(shè)置損失函數(shù)和優(yōu)化器loss_fn=nn.CrossEntropyLoss()optimizer=paddle.optimizer.Adam

溫馨提示

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

評論

0/150

提交評論