計(jì)算機(jī)視覺應(yīng)用開發(fā)全套教學(xué)課件_第1頁(yè)
計(jì)算機(jī)視覺應(yīng)用開發(fā)全套教學(xué)課件_第2頁(yè)
計(jì)算機(jī)視覺應(yīng)用開發(fā)全套教學(xué)課件_第3頁(yè)
計(jì)算機(jī)視覺應(yīng)用開發(fā)全套教學(xué)課件_第4頁(yè)
計(jì)算機(jī)視覺應(yīng)用開發(fā)全套教學(xué)課件_第5頁(yè)
已閱讀5頁(yè),還剩328頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一章緒論全套可編輯PPT課件主要內(nèi)容MainContent學(xué)習(xí)目標(biāo)Learningaims(1)掌握人工智能、機(jī)器學(xué)習(xí)與深度學(xué)習(xí)三者的內(nèi)涵和關(guān)系;(2)了解人工智能的發(fā)展歷程,應(yīng)用與未來;(3)掌握計(jì)算機(jī)視覺的概念,主要任務(wù);(4)了解計(jì)算機(jī)視覺與交叉學(xué)科的關(guān)系,發(fā)展歷程。1人工智能ArtificialIntelligence什么是人工智能ContextualVisualWord機(jī)器人無所不能電影中的智能人人工智能威脅人類人工智能的定義人工智能(ArtificialIntelligence,AI),是研究、開發(fā)用于模擬、延伸和擴(kuò)展人類智能的理論、方法、技術(shù)及應(yīng)用系統(tǒng)的一門新技術(shù)科學(xué),是計(jì)算機(jī)科學(xué)的一個(gè)分支。“智能”能預(yù)測(cè)股票、看得懂圖片或視頻,也能和其他人進(jìn)行文字或語(yǔ)言上的交流,不斷督促自我完善知識(shí)儲(chǔ)備,它會(huì)畫畫,會(huì)寫詩(shī),會(huì)駕駛汽車,會(huì)開飛機(jī)。在人們的理想中,如果機(jī)器能夠執(zhí)行這些任務(wù)中的一種或幾種,就可以認(rèn)為該機(jī)器已具有某種性質(zhì)的“人工智能”。使一部機(jī)器的反應(yīng)方式像人一樣進(jìn)行感知、認(rèn)知、決策、執(zhí)行的人工程序或系統(tǒng)人工智能人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的關(guān)系機(jī)器學(xué)習(xí)是一種實(shí)現(xiàn)人工智能的途徑。深度學(xué)習(xí)是一種實(shí)現(xiàn)機(jī)器學(xué)習(xí)的技術(shù),利用神經(jīng)網(wǎng)絡(luò)從數(shù)據(jù)中學(xué)習(xí)模式。人工智能、機(jī)器學(xué)習(xí)的分支隨著研究的不斷開展,人工智能的研究領(lǐng)域不斷擴(kuò)大。機(jī)器學(xué)習(xí),從學(xué)習(xí)方法上來分,可以分為監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、半監(jiān)督學(xué)習(xí)、集成學(xué)習(xí)、深度學(xué)習(xí)和強(qiáng)化學(xué)習(xí)。從學(xué)習(xí)目的上來分,可以分為回歸,分類,聚類等。人工智能的發(fā)展歷程

第一階段(20世紀(jì)50年代中期到80年代初期):深耕細(xì)作,30年技術(shù)發(fā)展為人工智能產(chǎn)業(yè)化奠定基礎(chǔ)。1956年的達(dá)特茅斯會(huì)議提出“ArtifitialIntelligence”的課題,代表人工智能正式誕生和興起;深度學(xué)習(xí)模型以及AlphaGo增強(qiáng)學(xué)習(xí)的雛形——感知器均在這個(gè)階段得以發(fā)明;早期的系統(tǒng)應(yīng)用于更多更復(fù)雜更難的問題時(shí)效果不理想,人工智能進(jìn)入低谷。

第二階段(20世紀(jì)80年代初期至21世紀(jì)初期):急功近利,人工智能成功商用但跨越式發(fā)展失敗。80年代初期,第一個(gè)成功的商用專家系統(tǒng)R1為DEC公司每年節(jié)約4000萬(wàn)美元左右的費(fèi)用。淺層學(xué)習(xí)如支持向量機(jī)、Boosting和最大熵方法等在90年代得到了廣泛應(yīng)用。

第三階段(21世紀(jì)初期至今):由量變到質(zhì)變,AI有望實(shí)現(xiàn)規(guī)?;瘧?yīng)用。2006年,GeoffreyHinton和他的學(xué)生在《Science》上提出基于深度信念網(wǎng)絡(luò)可使用非監(jiān)督學(xué)習(xí)的訓(xùn)練算法。2012年,DNN技術(shù)在圖像識(shí)別領(lǐng)域的應(yīng)用使得Hinton的學(xué)生在ImageNet評(píng)測(cè)中取得了非常好的成績(jī)。深度學(xué)習(xí)算法的應(yīng)用使得語(yǔ)音識(shí)別、圖像識(shí)別技術(shù)取得了突破性進(jìn)展,圍繞語(yǔ)音、圖像、機(jī)器人、自動(dòng)駕駛等人工智能技術(shù)的創(chuàng)新創(chuàng)業(yè)大量涌現(xiàn),人工智能迅速進(jìn)入發(fā)展熱潮。人工智能的發(fā)展歷程人工智能的應(yīng)用計(jì)算機(jī)視覺:讓計(jì)算機(jī)“看”的科學(xué),是本書的一個(gè)主題。主要應(yīng)用有人臉識(shí)別,商品拍照搜索,機(jī)器人/無人車上的視覺輸入系統(tǒng),醫(yī)療領(lǐng)域的智能影像診斷等。自然語(yǔ)言處理:讓計(jì)算機(jī)自然地與人類進(jìn)行交流,理解人類表達(dá)的意思并作出合適的回應(yīng)。主要應(yīng)用有搜索引擎,對(duì)話機(jī)器人,機(jī)器翻譯,辦公智能秘書等。人工智能的應(yīng)用規(guī)劃決策系統(tǒng):讓計(jì)算機(jī)擁有人的計(jì)劃和調(diào)度能力,該領(lǐng)域的發(fā)展曾一度是以棋類游戲?yàn)檩d體的,如AlphaGo戰(zhàn)勝柯潔,Master對(duì)頂級(jí)選手取得60連勝。當(dāng)前主要應(yīng)用在機(jī)器人與無人車路線規(guī)劃方面。數(shù)據(jù)挖掘:從海量數(shù)據(jù)中“挖掘”隱藏信息,在零售業(yè),制造業(yè),財(cái)務(wù)金融保險(xiǎn),醫(yī)療服務(wù)都有廣泛應(yīng)用。主要應(yīng)用有推薦系統(tǒng),用戶畫像,判斷欺詐行為,金融的量化投資等。人工智能的未來方向

從大數(shù)據(jù)到小數(shù)據(jù)

深度學(xué)習(xí)的訓(xùn)練過程需要大量經(jīng)過人工標(biāo)注的數(shù)據(jù),一個(gè)未來的研究方向就是如何在數(shù)據(jù)缺失的條件下進(jìn)行訓(xùn)練,從無標(biāo)注的數(shù)據(jù)里進(jìn)行學(xué)習(xí),或者自動(dòng)模擬或生成數(shù)據(jù)進(jìn)行訓(xùn)練。

從大模型到小模型

目前深度學(xué)習(xí)的模型都非常大,動(dòng)輒幾百兆字節(jié)(MB),大的甚至可以到幾千兆字節(jié)甚至幾十千兆字節(jié)(GB)。如何精簡(jiǎn)模型大小,使得在小模型上也能跑出大模型的效果,值得進(jìn)一步探索。

從感知認(rèn)知到理解決策

在感知和認(rèn)知的部分,比如視覺、聽覺,機(jī)器在一定限定條件下已經(jīng)能夠做到足夠好了。在一些動(dòng)態(tài)的任務(wù)中,需要持續(xù)地與環(huán)境進(jìn)行交互、收集反饋、優(yōu)化策略。如何適應(yīng)現(xiàn)實(shí)場(chǎng)景,也是一個(gè)重要的研究方向。人工智能的發(fā)展在人工智能概念被提出60年后,我們真正進(jìn)入了一個(gè)人工智能的時(shí)代。在這次人工智能浪潮中,人工智能技術(shù)持續(xù)不斷地高速發(fā)展著,最終將深刻改變各行各業(yè)和我們的日常生活。發(fā)展人工智能的最終目標(biāo)并不是要替代人類智能,而是通過人工智能增強(qiáng)人類智能。人工智能可以與人類智能互補(bǔ),幫助人類處理許多能夠處理但又不擅長(zhǎng)的工作,使得人類從繁重的重復(fù)性工作中解放出來,轉(zhuǎn)而專注于創(chuàng)造性的工作。v.s.2計(jì)算機(jī)視覺ComputerVision計(jì)算機(jī)視覺計(jì)算機(jī)視覺要解決的問題就是讓計(jì)算機(jī)看懂圖像或者視頻里的內(nèi)容。更進(jìn)一步地說,計(jì)算機(jī)視覺就是一門研究如何使機(jī)器“看”的科學(xué),要用計(jì)算機(jī)來實(shí)現(xiàn)人類的視覺功能,即對(duì)客觀世界中三維場(chǎng)景的感知、加工和解釋。物體識(shí)別人臉識(shí)別圖像檢索計(jì)算機(jī)視覺的難點(diǎn)讓計(jì)算機(jī)能夠通過攝像機(jī)來感知這個(gè)世界卻是非常之難,最大難點(diǎn)是在于語(yǔ)義鴻溝(semanticgap)。計(jì)算機(jī)視覺還存在拍攝視角變化、目標(biāo)占據(jù)圖像的比例變化、光照變化、背景融合、目標(biāo)形變、遮擋等種種困難。計(jì)算機(jī)視覺與交叉學(xué)科的關(guān)系圖像工程是一門內(nèi)容非常豐富的學(xué)科,包括既有聯(lián)系又有區(qū)別的三個(gè)層次:圖像處理、圖像分析及圖像理解。計(jì)算機(jī)視覺與交叉學(xué)科的關(guān)系圖像處理著重強(qiáng)調(diào)在圖像之間進(jìn)行的轉(zhuǎn)換(圖像為輸入,圖像為輸出)。計(jì)算機(jī)視覺與交叉學(xué)科的關(guān)系圖像分析主要是對(duì)圖像中感興趣的目標(biāo)進(jìn)行檢測(cè)和測(cè)量,以獲得它們的客觀信息,從而建立對(duì)圖像中目標(biāo)的描述(圖像為輸入,數(shù)據(jù)為輸出)。計(jì)算機(jī)視覺與交叉學(xué)科的關(guān)系圖像理解的重點(diǎn)是在圖像分析的基礎(chǔ)上進(jìn)一步研究圖像中各目標(biāo)的性質(zhì)和它們之間的相互聯(lián)系,并得出對(duì)整幅圖像內(nèi)容含義的理解以及對(duì)原來成像客觀場(chǎng)景的解釋,從而可以讓人們做出判斷,并指導(dǎo)和規(guī)劃行動(dòng)。計(jì)算機(jī)視覺與交叉學(xué)科的關(guān)系模式識(shí)別,主要集中在對(duì)圖像中感興趣內(nèi)容(目標(biāo))進(jìn)行分類、分析和描述,在此基礎(chǔ)上還可以進(jìn)一步實(shí)現(xiàn)計(jì)算機(jī)視覺的目標(biāo)。計(jì)算機(jī)視覺與交叉學(xué)科的關(guān)系計(jì)算機(jī)視覺的研究中也使用了很多模式識(shí)別的概念和方法,但傳統(tǒng)的模式識(shí)別并不能把計(jì)算機(jī)視覺全部包括進(jìn)去。計(jì)算機(jī)視覺與交叉學(xué)科的關(guān)系計(jì)算機(jī)圖形學(xué),研究如何利用計(jì)算機(jī)技術(shù)來產(chǎn)生表達(dá)數(shù)據(jù)信息的圖形、圖表、繪圖等形式。一般人們將計(jì)算機(jī)圖形學(xué)稱為計(jì)算機(jī)視覺的反/逆(inverse)問題,與計(jì)算機(jī)視覺也有密切的關(guān)系。計(jì)算機(jī)視覺與人工智能人工智能,指由人類用計(jì)算機(jī)模擬、執(zhí)行或再生某些與人類智能有關(guān)的功能的能力和技術(shù)。視覺功能是人類智能的一種體現(xiàn),所以計(jì)算機(jī)視覺與人工智能密切相關(guān)。計(jì)算機(jī)視覺的研究中使用了許多人工智能技術(shù),反過來,計(jì)算機(jī)視覺也可看作是人工智能的一個(gè)重要應(yīng)用領(lǐng)域,需要借助人工智能的理論研究成果和系統(tǒng)實(shí)現(xiàn)經(jīng)驗(yàn)。計(jì)算機(jī)視覺的發(fā)展歷程傳統(tǒng)計(jì)算機(jī)視覺20世紀(jì)50年代興起的統(tǒng)計(jì)模式識(shí)別,被認(rèn)為是計(jì)算機(jī)視覺技術(shù)的起點(diǎn)。1966,麻省理工人工智能實(shí)驗(yàn)室的SeymourPapert教授決定啟動(dòng)夏季視覺項(xiàng)目,并在幾個(gè)月內(nèi)解決機(jī)器視覺問題。雖然未成功,但標(biāo)志著計(jì)算機(jī)視覺的正式誕生。20世紀(jì)90年代到21世紀(jì)初,計(jì)算機(jī)視覺理論進(jìn)一步發(fā)展,特征對(duì)象識(shí)別開始成為重點(diǎn),主要方法為特征提取加上機(jī)器學(xué)習(xí)方法來解決計(jì)算機(jī)視覺問題。如SIFT,SUFR,HOG特征。優(yōu)點(diǎn):在簡(jiǎn)單問題上表現(xiàn)很好,可解釋性強(qiáng),運(yùn)算速度較快。缺點(diǎn):精度較差。依賴于特征提取,而在復(fù)雜多變的任務(wù)中,確定有效且具有泛化能力的特征需要計(jì)算機(jī)視覺研究人員的大量經(jīng)驗(yàn)和調(diào)試,具有很大難度。計(jì)算機(jī)視覺的發(fā)展歷程深度學(xué)習(xí)下的計(jì)算機(jī)視覺1998年,YannLeCun提出了第一個(gè)卷積神經(jīng)網(wǎng)絡(luò),名為L(zhǎng)eNet5,用于手寫數(shù)字識(shí)別,是現(xiàn)在卷積神經(jīng)網(wǎng)絡(luò)的原型。2012年,AlexNet贏得了ImageNet圖像分類挑戰(zhàn)賽的第一名,遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)方法的預(yù)測(cè)性能,故卷積神經(jīng)網(wǎng)絡(luò)得到廣泛關(guān)注,也使得深度學(xué)習(xí)開始火熱起來。2014年,蒙特利爾大學(xué)提出生成對(duì)抗網(wǎng)絡(luò)GAN,其可以用一串隨機(jī)數(shù)來生成人眼難以分辨真假的照片。2016年Facebook的AIResearch(FAIR)宣布其DeepFace人臉識(shí)別算法有著97.35%的識(shí)別準(zhǔn)確率,幾乎與人類不分上下。優(yōu)點(diǎn):擁有更好的準(zhǔn)確率和泛化能力,自動(dòng)提取有效特征。缺點(diǎn):需要大量標(biāo)簽數(shù)據(jù)和計(jì)算資源支撐,可解釋性差等。計(jì)算機(jī)視覺的主要任務(wù)圖像分類是根據(jù)圖像的語(yǔ)義信息對(duì)不同類別圖像進(jìn)行區(qū)分,是計(jì)算機(jī)視覺的核心,是物體檢測(cè)、圖像分割、物體跟蹤、行為分析、人臉識(shí)別等其他高層次視覺任務(wù)的基礎(chǔ)。計(jì)算機(jī)視覺的主要任務(wù)目標(biāo)檢測(cè)任務(wù)旨在找到給定圖像中所有目標(biāo)的位置,并給出每個(gè)目標(biāo)的具體類別。如右圖所示,用邊框標(biāo)記圖像中所有物體的位置,并標(biāo)注其類別。計(jì)算機(jī)視覺的主要任務(wù)語(yǔ)義分割是計(jì)算機(jī)視覺中的基本任務(wù),需要將圖片像素分為不同類別的區(qū)域。它將整個(gè)圖像分成像素組,然后對(duì)像素組進(jìn)行標(biāo)記和分類。語(yǔ)義分割實(shí)例分割計(jì)算機(jī)視覺的主要任務(wù)圖像生成,顧名思義,就是人工生成包含某些特定內(nèi)容的圖像,以達(dá)到照片般的逼真。生成對(duì)抗網(wǎng)絡(luò)GAN不斷訓(xùn)練所生成的手寫數(shù)字圖像計(jì)算機(jī)視覺的應(yīng)用實(shí)例工業(yè)視覺:如工業(yè)檢測(cè)、工業(yè)探傷、自動(dòng)生產(chǎn)流水線、辦公自動(dòng)化、郵政自動(dòng)化、郵件分撿、金相分析、無損探測(cè)、印刷板質(zhì)量檢驗(yàn)、精細(xì)印刷品缺陷檢測(cè)以及在各種危險(xiǎn)場(chǎng)合工作的機(jī)器人等。人機(jī)交互:讓計(jì)算機(jī)借助人的手勢(shì)動(dòng)作(手語(yǔ))、嘴唇動(dòng)作(唇讀)、軀干運(yùn)動(dòng)(步態(tài))、人臉表情測(cè)定等了解人的愿望要求而執(zhí)行指令,這既符合人類的交互習(xí)慣,也可增加交互的方便性和臨場(chǎng)感等。計(jì)算機(jī)視覺的應(yīng)用實(shí)例安全監(jiān)控:如人臉識(shí)別,罪犯臉型的合成、識(shí)別和查詢,指紋、印章的鑒定和識(shí)別,支票、簽名辨?zhèn)蔚?,可有效地監(jiān)測(cè)和防止許多類型的犯罪。軍事公安:如軍事偵察、合成孔徑雷達(dá)圖像分析、戰(zhàn)場(chǎng)環(huán)境建模表示。計(jì)算機(jī)視覺的應(yīng)用實(shí)例遙感測(cè)繪:如礦藏勘探、資源探測(cè)、氣象預(yù)報(bào)、自然災(zāi)害監(jiān)測(cè)監(jiān)控等。視覺導(dǎo)航:如太空探測(cè)、航天飛行、巡航導(dǎo)彈制導(dǎo)、無人駕駛飛機(jī)飛行、自動(dòng)行駛車輛的安全操縱、移動(dòng)機(jī)器人、精確制導(dǎo)、公路交通管理以及智能交通等各個(gè)方面等。計(jì)算機(jī)視覺的應(yīng)用實(shí)例生物醫(yī)學(xué):紅白血球計(jì)數(shù),染色體分析,各類X光、CT、MRI、PET圖像的自動(dòng)分析,顯微醫(yī)學(xué)操作,遠(yuǎn)程醫(yī)療,計(jì)算機(jī)輔助外科手術(shù)等。虛擬現(xiàn)實(shí):如飛機(jī)駕駛員訓(xùn)練、醫(yī)學(xué)手術(shù)模擬、戰(zhàn)場(chǎng)環(huán)境建模表示等,可幫助人們超越人的生理極限,產(chǎn)生身臨其境的感覺,提高工作效率。計(jì)算機(jī)視覺的應(yīng)用實(shí)例圖像自動(dòng)解釋:包括對(duì)放射圖像、顯微圖像、遙感多波段圖像、合成孔徑雷達(dá)圖像、航天航測(cè)圖像等的自動(dòng)判讀理解。對(duì)人類視覺系統(tǒng)和機(jī)理,以及人腦心理和生理的研究等。這對(duì)人們理解人類視覺系統(tǒng),推動(dòng)了相關(guān)的發(fā)展起到了積極作用。小結(jié)本章對(duì)該書的兩大主題——人工智能和計(jì)算機(jī)視覺進(jìn)行概括式的講述。關(guān)于人工智能,本章分別介紹了人工智能的定義、發(fā)展歷程、應(yīng)用與未來,重點(diǎn)闡述人工智能、機(jī)器學(xué)習(xí)和深度學(xué)習(xí)三者的概念和關(guān)系。關(guān)于計(jì)算機(jī)視覺,本章分別介紹了計(jì)算機(jī)視覺的定義、與交叉學(xué)科的關(guān)系、發(fā)展歷程和主要任務(wù)及其應(yīng)用,其中計(jì)算機(jī)視覺中的傳統(tǒng)方法和深度學(xué)習(xí)方法的聯(lián)系與區(qū)別,計(jì)算機(jī)視覺的主要任務(wù)為該部分的掌握重點(diǎn)。通過閱讀本章內(nèi)容,讀者可大致了解該書的整體架構(gòu)。感謝你的學(xué)習(xí)Thankyouforyourstudy第二章Python語(yǔ)法基礎(chǔ)前期知識(shí)儲(chǔ)備PreliminaryknowledgereservePython是一種通用型、解釋型語(yǔ)言,自身帶有龐大的標(biāo)準(zhǔn)庫(kù),可操作性比較強(qiáng),可以快速設(shè)計(jì)出計(jì)算機(jī)程序,有效提升數(shù)據(jù)分析和數(shù)據(jù)處理的效率。學(xué)習(xí)Python語(yǔ)言基礎(chǔ)知識(shí)對(duì)每章給出的案例實(shí)踐有很大的幫助,本視頻旨在對(duì)Python的基礎(chǔ)知識(shí)進(jìn)行描述,重點(diǎn)介紹基本操作語(yǔ)句的使用。知識(shí)框架Knowledgeframework學(xué)習(xí)目標(biāo)Learningaims(1)學(xué)會(huì)配置Python語(yǔ)言環(huán)境;(2)了解Python基本對(duì)象類型;(3)掌握Python的基本操作語(yǔ)句;(4)掌握函數(shù)、類、模塊的使用方法。1Python介紹Python語(yǔ)言的特點(diǎn)(1)簡(jiǎn)單易學(xué)(2)免費(fèi)開源(3)可移植性(4)面向?qū)ο笈c面向過程(5)豐富的第三方庫(kù)Python應(yīng)用機(jī)器學(xué)習(xí)和深度學(xué)習(xí)Web開發(fā)數(shù)據(jù)分析與科學(xué)計(jì)算網(wǎng)絡(luò)爬蟲自動(dòng)化運(yùn)維2基礎(chǔ)語(yǔ)法與對(duì)象類型基礎(chǔ)語(yǔ)法(1)輸入/輸出使用print()函數(shù)操作。print()函數(shù)會(huì)按照順序依次打印出括號(hào)中的內(nèi)容,遇到“,”會(huì)輸出一個(gè)空格。例如:

print('apple','red','sweet’)#輸出結(jié)果:appleredsweet通過input()函數(shù)控制輸入,其中輸入的數(shù)據(jù)以字符串類型存儲(chǔ)。例如:apple=input('sunday’)print(apple)#存放到一個(gè)變量中,輸出結(jié)果:Sunday(2)注釋Python中對(duì)單行內(nèi)容加以注釋時(shí),前邊加上“#”,以一行語(yǔ)句為一個(gè)單位。(3)行與縮進(jìn)Python中通常一行代碼就是一條語(yǔ)句,若所寫程序代碼比較長(zhǎng),導(dǎo)致無法在一行全部寫下,此時(shí)可以用分行“\”將一行代碼分成多行語(yǔ)句,有助于保持代碼的可閱讀性。Python語(yǔ)言編寫代碼時(shí)不建議使用【Tab】鍵設(shè)定縮進(jìn),更不建議【Tab】鍵和空格鍵混合使用。基礎(chǔ)語(yǔ)法(4)標(biāo)識(shí)符所謂的標(biāo)識(shí)符相當(dāng)于人的名字,主要作用是為變量、函數(shù)、類、模塊、對(duì)象命名,標(biāo)識(shí)符命名需要遵循以下規(guī)則:(1)標(biāo)識(shí)符是由大小寫字母、下劃線和數(shù)字組成的,且規(guī)定第一個(gè)字符不能是數(shù)字,如123name是不符合要求的;(2)標(biāo)識(shí)符中不能包含空格、@、$、%等特殊符號(hào);(3)標(biāo)識(shí)符不能和關(guān)鍵字重名;(4)不能使用內(nèi)置函數(shù)名和數(shù)據(jù)類型作為標(biāo)識(shí)符,如int;(5)標(biāo)識(shí)符會(huì)區(qū)分大小寫,如name和Name代表著不同的標(biāo)識(shí)符;(6)如若以下劃線開頭,要注意不同的含義?;緦?duì)象類型Python中有六個(gè)基本對(duì)象類型:1、Number(數(shù)字)Python中數(shù)字有四種類型:整數(shù)(int)、布爾型(bool)、浮點(diǎn)數(shù)(float)和復(fù)數(shù)(complex)2、String(字符串)Python中的字符串沒有很復(fù)雜的要求,一個(gè)字符就可以認(rèn)為是一個(gè)長(zhǎng)度為1的字符串,用str表示,內(nèi)容用單引號(hào)或者雙引號(hào)包裹起來。3、List(列表)list是一種有序的集合,可以隨時(shí)添加和刪除其中的元素,像字符串一樣,輸出列表元素時(shí),正向反向(負(fù))都能找到元素的位置。4、Tuple(元組)Tuple與list的用法相似,但是它們最大的不同是元組一旦經(jīng)過初始化之后就不能再進(jìn)行修改,這樣的規(guī)定保證了代碼的安全性。元組變量也是一種對(duì)象,所以創(chuàng)建元組變量的方式也有兩種:(1)使用圓括號(hào)直接賦值;(2)使用元組構(gòu)造函數(shù)tuple()創(chuàng)建。5、Set(集合)集合的三大特點(diǎn):互異性、確定性、無序性。6、Dictionary(字典)字典dictionary可存儲(chǔ)任意類型的對(duì)象,非常靈活。字典中的索引稱為“鍵”,一個(gè)鍵值對(duì)表示為:key:value,中間用冒號(hào)隔開,每個(gè)鍵值對(duì)之間用逗號(hào)隔開,整個(gè)字典的內(nèi)容包括在花括號(hào)里。3運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符基本操作表算術(shù)運(yùn)算符描述舉例+加兩個(gè)對(duì)象相加a=2;b=3print(a+b)#結(jié)果輸出為5-減兩個(gè)對(duì)象相減a=2;b=3print(a-b)#結(jié)果輸出為-1*乘兩個(gè)對(duì)象相乘a=2;b=3print(a*b)#結(jié)果輸出為6/除兩個(gè)對(duì)象相除a=6;b=3print(a/b)#結(jié)果輸出為2.0%取模返回除法的余數(shù)a=6;b=4print(a%b)#結(jié)果輸出為2**冪返回x的y次冪a=2;b=4print(a**b)#結(jié)果輸出為16//取整向下取商的整除a=5;b=2print(a//b)#結(jié)果輸出為2比較運(yùn)算符比較運(yùn)算符用于比較兩個(gè)對(duì)象之間的大小,判斷是否相等或者大于小于運(yùn)算,返回結(jié)果不是某個(gè)具體的數(shù),而是True或False。算術(shù)運(yùn)算符基本操作表比較運(yùn)算符描述舉例(a=5,b=2)==等于比較兩個(gè)對(duì)象是否相等print(a==b)#結(jié)果輸出為False!=不等于比較兩個(gè)對(duì)象是否不相等print(a!=b)#結(jié)果輸出為True>

大于左邊大于右邊

則為真print(a>b)#結(jié)果輸出為True<

小于左邊小于右邊則為真print(a<b)#結(jié)果輸出為False>=大于等于左邊大于等于右邊則為真print(a>=b)#結(jié)果輸出為True<=小于等于左邊小于等于右邊則為真print(a<=b)#結(jié)果輸出為False賦值運(yùn)算符賦值運(yùn)算符基本操作表賦值運(yùn)算符描述舉例=基本賦值a=b,將b賦值給a+=加法賦值a+=b相當(dāng)于a=a+b-=減法賦值a-=b相當(dāng)于a=a-b*=乘法賦值a*=b相當(dāng)于a=a*b/=除法賦值a/=b相當(dāng)于a=a/b%=取模賦值a%=b相當(dāng)于a=a%b**=冪賦值a**=b相當(dāng)于a=a**b//=取整賦值a//=b相當(dāng)于a=a//b|=按位或賦值a|=b相當(dāng)于a=a|b^=按位與賦值a^=b相當(dāng)于a=a^b<<=左移賦值a<<=b相當(dāng)于a=a<<b(左移b位,右移同理)>>=右移賦值a=b相當(dāng)于a=a>>b邏輯運(yùn)算符邏輯運(yùn)算符基本操作表邏輯運(yùn)算符描述舉例(a=5,b=2)and布爾“與”,等價(jià)于數(shù)學(xué)中的“且”,當(dāng)x和y都為真時(shí),最終輸出結(jié)果才為True。print(a>6andb>1)#結(jié)果輸出為Falseor布爾“或”,等價(jià)于數(shù)學(xué)中的“或”,只要x和y中有一個(gè)是真的,就可以運(yùn)回True;否則返回False。print(a>6orb>1)#結(jié)果輸出為Truenot布爾“非”,等價(jià)于數(shù)學(xué)中的“非”,如果x為真的,返回False。如果x為假的,它返回True。print(nota>6)#結(jié)果輸出為True4控制語(yǔ)句if條件語(yǔ)句當(dāng)判斷條件為一個(gè)時(shí):if判斷條件:執(zhí)行語(yǔ)句......else:執(zhí)行語(yǔ)句......示例:age=int(input('請(qǐng)輸入年齡:'))ifage>=18:print('成年')else:print('未成年')輸出結(jié)果為:請(qǐng)輸入年齡:26成年當(dāng)判斷條件為多個(gè)值時(shí):if判斷條件1:執(zhí)行語(yǔ)句1……elif判斷條件2:執(zhí)行語(yǔ)句2……elif判斷條件3:執(zhí)行語(yǔ)句3……else:執(zhí)行語(yǔ)句4……示例:age=int(input('請(qǐng)輸入年齡:'))ifage>=18andage<=65:print('青年')elifage>=65:print('中老年')else:print('未成年')輸出結(jié)果為:請(qǐng)輸入年齡:100中老年for循環(huán)語(yǔ)句其他編程語(yǔ)言需要用循環(huán)變量來控制循環(huán),而Python語(yǔ)言中的for語(yǔ)句通過循環(huán)遍歷某一對(duì)象(例如:元組,列表,字典)來構(gòu)建循環(huán),循環(huán)結(jié)束的條件就是對(duì)象遍歷完成。如果循環(huán)層次比較復(fù)雜,Python循環(huán)中允許一個(gè)循環(huán)套另一個(gè)循環(huán)。for循環(huán)格式:foriterating_varinsequence:statements for...else...循環(huán)格式:foriterating_varinsequence:statement1else:statement2continue語(yǔ)句和break語(yǔ)句都是用來終止程序,但是使用continue語(yǔ)句Python只終止當(dāng)前一輪循環(huán)的語(yǔ)句,然后繼續(xù)進(jìn)行下一輪循環(huán)。break語(yǔ)句直接讓程序跳出for和while的循環(huán)體,后邊的else語(yǔ)句直接不再執(zhí)行。循環(huán)中使用else語(yǔ)句必須在while循環(huán)正常完成后才能執(zhí)行,在while循環(huán)中,若條件表達(dá)式為真,則會(huì)一直循環(huán)。 While判斷條件:

執(zhí)行語(yǔ)句…… else:

執(zhí)行語(yǔ)句……while循環(huán)語(yǔ)句示例:sum=0#初始總和為0count=0#初始計(jì)數(shù)為0whilecount<=10:#當(dāng)計(jì)數(shù)小于10sum=sum+count#總和加上count然后count+1count=count+1print(sum)#輸出結(jié)果:555函數(shù)函數(shù)的定義Python語(yǔ)言有很多內(nèi)建函數(shù),比如print(),但是也可以自定義函數(shù)。函數(shù)的定義規(guī)則:函數(shù)代碼塊以def關(guān)鍵詞開頭,后接函數(shù)標(biāo)識(shí)符名稱和圓括號(hào)()。()里邊是參數(shù),可以有也可以沒有,可以一個(gè)也可以多個(gè)。函數(shù)名要注意大小寫,遵循調(diào)用一致性。在定義完函數(shù)名的下一行要注意縮進(jìn)開始寫函數(shù)體,函數(shù)體的縮進(jìn)Python的要求是四個(gè)空格。最后結(jié)果用return來返回。參數(shù)的傳遞在Python函數(shù)中,可以定義可變參數(shù)。不難理解,可變參數(shù)就是傳入的參數(shù)個(gè)數(shù)是可變的,可以是1個(gè)、2個(gè)到任意個(gè),也可以是0個(gè)。列表、字典、集合都是可變參數(shù),在調(diào)用時(shí)跟初始定義使用同一個(gè)東西,一旦修改了函數(shù)體內(nèi)部的內(nèi)容,函數(shù)體外部調(diào)用該函數(shù)時(shí)內(nèi)容也會(huì)更改。

在函數(shù)的定義部分?jǐn)?shù)字、字符串、元組都是不可變參數(shù)。與可變參數(shù)相反,在函數(shù)體內(nèi)部修改修改了數(shù)據(jù)之后,函數(shù)體外部調(diào)用不會(huì)受到任何影響。如果不是很好理解也可以看作在函數(shù)體內(nèi)部進(jìn)行修改時(shí),只不過是創(chuàng)建了一個(gè)同名的參數(shù)而已,對(duì)這個(gè)同名參數(shù)的操作不會(huì)影響外部參數(shù)值??勺儏?shù)不變參數(shù)參數(shù)的調(diào)用方式參數(shù)調(diào)用類型有四種:默認(rèn)參數(shù)、關(guān)鍵字參數(shù)、位置參數(shù)、變長(zhǎng)參數(shù)。默認(rèn)參數(shù)指定義一個(gè)函數(shù)后直接給參數(shù)賦一個(gè)值,在調(diào)用函數(shù)時(shí)沒有傳遞參數(shù)的情況下,就把它當(dāng)作默認(rèn)值。關(guān)鍵字參數(shù)指不愿意服從位置順序傳遞,給關(guān)鍵字指定參數(shù)。位置參數(shù)指按照參數(shù)的位置依次傳遞。變長(zhǎng)參數(shù)分為元組變長(zhǎng)參數(shù)和字典變長(zhǎng)參數(shù),加了星號(hào)*的參數(shù)會(huì)以元組的形式導(dǎo)入,加了兩個(gè)星號(hào)**的參數(shù)會(huì)以字典的形式導(dǎo)入。匿名函數(shù)匿名函數(shù)是指不用def定義的沒有名字的函數(shù),使用時(shí)創(chuàng)建,不能反復(fù)執(zhí)行,沒有過多冗余的操作。匿名函數(shù)使用lambda創(chuàng)建,與函數(shù)定義不同,lambda主體是一個(gè)表達(dá)式而不是一個(gè)代碼塊。

示例:sum=lambdaarg1,arg2:arg1+arg2print("相加后的值為:",sum(10,20))print("相加后的值為:",sum(20,20))輸出結(jié)果為:相加后的值為:30相加后的值為:406類和對(duì)象類和對(duì)象類相當(dāng)于模板,對(duì)象是填充模板需要的原料。類class的定義后面緊接著是類名,類名通常是大寫開頭的單詞,后邊緊接著是對(duì)象,表示該類是從哪個(gè)類繼承下來的,如果沒有合適的繼承類,就使用object類,這是所有類最終都會(huì)繼承的類。 面向?qū)ο笞钪匾母拍罹褪穷惡蛯?shí)例。類是抽象的,實(shí)例是具體的。由于類可以起到模板的作用,用__init__函數(shù)初始化對(duì)象當(dāng)作類定義中的第一個(gè)函數(shù)。類定義的函數(shù)與其他函數(shù)相比并沒有很大的區(qū)別,類也可以用默認(rèn)參數(shù)、可變參數(shù)、關(guān)鍵字參數(shù)和命名關(guān)鍵字參數(shù)。但是類定義最大的不同在于第一個(gè)參數(shù)永遠(yuǎn)是實(shí)例變量self。7模塊模板在Python中模塊是一個(gè)包含已經(jīng)定義好的.py源代碼文件,在模塊中通常會(huì)定義許多變量和函數(shù),模塊可以被別的程序?qū)雭硎褂眠@些變量和函數(shù),以便使用該模塊中的函數(shù)等對(duì)象。Python中的模塊有三種來源:內(nèi)置模塊、導(dǎo)入別人寫的、自定義的。模塊的導(dǎo)入路徑是一開始下載Python時(shí)指定的路徑。模板在Python中用import語(yǔ)句或者from...import語(yǔ)句來導(dǎo)入相應(yīng)的模塊。具體使用如下格式。將整個(gè)模塊(module)導(dǎo)入,格式為:importmodul,比如導(dǎo)入sys模塊語(yǔ)句:importsys

導(dǎo)入sys模塊后,我們就有了變量sys指向該模塊,利用sys這個(gè)變量,就可以訪問sys模塊的所有功能。從某個(gè)模塊中導(dǎo)入某個(gè)函數(shù),格式為:frommoduleimportfunction從某個(gè)模塊中導(dǎo)入多個(gè)函數(shù),格式為:frommoduleimportfunction1,function2,function3將某個(gè)模塊中的全部函數(shù)導(dǎo)入,格式為:frommoduleimport*8內(nèi)容回顧內(nèi)容回顧Python語(yǔ)法的簡(jiǎn)單化和動(dòng)態(tài)數(shù)據(jù)類型,以及解釋型語(yǔ)言的本質(zhì)特點(diǎn),使它成為多數(shù)平臺(tái)上寫腳本和快速開發(fā)應(yīng)用的編程語(yǔ)言。本視頻首先介紹了Python語(yǔ)言的特點(diǎn)及應(yīng)用,然后介紹了基本語(yǔ)句和對(duì)象類型,最后對(duì)運(yùn)算符、控制語(yǔ)句、函數(shù)、類、模塊的用法進(jìn)行了講述,每一部分都給出了例子供學(xué)習(xí)記憶。通過學(xué)習(xí)本章內(nèi)容,讀者可掌握本書所需的Python基礎(chǔ)知識(shí)。感謝你的學(xué)習(xí)BLUETHESISPROPOSALTEMPLATE第三章數(shù)據(jù)分析前言YOURENGLISHTITLE對(duì)收集來的數(shù)據(jù)進(jìn)行處理與分析,提取有價(jià)值的信息是機(jī)器學(xué)習(xí)中的一個(gè)關(guān)鍵環(huán)節(jié)。數(shù)據(jù)分析的目的是實(shí)現(xiàn)效率最大化開發(fā)數(shù)據(jù)的功能,涉及到數(shù)據(jù)預(yù)處理,數(shù)據(jù)分析和數(shù)據(jù)可視化等操作,最后分析結(jié)果通過可視化呈現(xiàn)。本章重點(diǎn)對(duì)數(shù)據(jù)分析的基礎(chǔ)知識(shí)和常用工具進(jìn)行介紹。。思維導(dǎo)圖學(xué)習(xí)目標(biāo)(1)了解數(shù)據(jù)處理的基本流程;(2)了解numpy的功能與使用;(3)掌握pandas的功能與使用;(4)掌握Matplotlib的使用。1數(shù)據(jù)分析介紹數(shù)據(jù)收集問卷法:調(diào)查者通過設(shè)計(jì)問卷來讓其他人作答,來從被調(diào)查者的答案中獲取相關(guān)信息。這種方法操作簡(jiǎn)單,但是數(shù)據(jù)質(zhì)量難以保證,并且需要大量人力去發(fā)問卷。實(shí)驗(yàn)法:通過進(jìn)行實(shí)驗(yàn)來得到相關(guān)的數(shù)據(jù)。這樣得到的結(jié)果一般來說比較準(zhǔn)確,但是實(shí)施比較困難。觀察法:帶著特定的目的去進(jìn)行研究和觀察。可以通用軟件工具或者感官進(jìn)行觀察。它得到的結(jié)果也比較準(zhǔn)確,但是較耗時(shí)。采訪/訪談法:通過多人或單人對(duì)用戶進(jìn)行采訪,與用戶進(jìn)行討論,得到相關(guān)數(shù)據(jù)。文獻(xiàn)法:通過查閱論文,書籍等資料得到數(shù)據(jù)。數(shù)據(jù)預(yù)處理很多原始數(shù)據(jù)在收集之后是不能直接應(yīng)用的,它會(huì)存在各種各樣的問題影響使用,我們稱這些數(shù)據(jù)為“臟數(shù)據(jù)”?!芭K數(shù)據(jù)”可以分為以下幾種。數(shù)據(jù)重復(fù):在數(shù)據(jù)集中有些數(shù)據(jù)重復(fù)出現(xiàn)多次,造成不必要的冗余。異常值(離群值):在數(shù)據(jù)集合中有一些數(shù)據(jù)很明顯偏離了數(shù)據(jù)集群。數(shù)據(jù)缺失:在一條數(shù)據(jù)記錄中存在屬性值為空的情況。數(shù)據(jù)不均衡:指的是數(shù)據(jù)集中的數(shù)據(jù)類別不均衡。數(shù)據(jù)噪聲:指的是一些數(shù)據(jù)記錄不合理或者錯(cuò)誤。數(shù)據(jù)預(yù)處理數(shù)據(jù)預(yù)處理的方法一般有:數(shù)據(jù)清理,數(shù)據(jù)集成,數(shù)據(jù)規(guī)約和數(shù)據(jù)變換。數(shù)據(jù)清理一般指的是通過填補(bǔ)缺失值、刪除異常數(shù)據(jù)、平滑數(shù)據(jù)等手段來處理數(shù)據(jù)集中的一些“臟數(shù)據(jù)”。數(shù)據(jù)集成是將多個(gè)來源的數(shù)據(jù)放在一起存儲(chǔ)。在數(shù)據(jù)集成的過程中會(huì)遇到取值沖突,冗余等問題。所以一般數(shù)據(jù)集成后會(huì)對(duì)數(shù)據(jù)進(jìn)行二次處理。數(shù)據(jù)規(guī)約通過技術(shù)手段降低數(shù)據(jù)規(guī)模,當(dāng)數(shù)據(jù)規(guī)模較大時(shí)常用。數(shù)據(jù)變換一般是對(duì)數(shù)據(jù)進(jìn)行變換使得更加規(guī)范,稀疏化。常用的變換方式有最大-最小規(guī)范化和Score標(biāo)準(zhǔn)化。2numpynumpy的介紹與安裝numpy的全稱是numericalpython。它是一個(gè)python的擴(kuò)展程序庫(kù),提供很多數(shù)學(xué)函數(shù)庫(kù),支持?jǐn)?shù)組矩陣運(yùn)算。本章節(jié)主要介紹其中的nadrray數(shù)組對(duì)象以及numpy中一些常用的數(shù)學(xué)函數(shù)。numpy的安裝一般通過命令語(yǔ)句安裝或第三方自帶。上一章詳細(xì)講解了python的安裝方法,讀者在安裝numpy前需要安裝好Python的環(huán)境。一般在Anaconda上便會(huì)附帶numpy等關(guān)鍵包,讀者可使用Anaconda自帶的python環(huán)境。也可以在命令提示符中使用以下語(yǔ)句進(jìn)行安裝:pip3install–usernumpyscipymatplotlibndarrayndarray是numpy中的N維數(shù)組對(duì)象,它是同一類型的數(shù)據(jù)集合。ndarray主要由跨度元組,維度大小,數(shù)據(jù)類型和指針?biāo)膫€(gè)部分組成。array.array:array.array只處理一維數(shù)組并提供較少的功能。ndarray對(duì)象有著一些更重要的屬性,具體如下:ndarray.ndim:數(shù)組維度的個(gè)數(shù)。維度一般用的最多的是一維和二維;ndarray.shape:數(shù)組的維度。它用來表示每個(gè)維度中數(shù)組的大小。shape元組的長(zhǎng)度就是rank或維度的個(gè)數(shù)ndim;ndarray.dtype:一個(gè)描述數(shù)組中元素類型的對(duì)象;ndarray(1)創(chuàng)建一維數(shù)組importnumpyasnpa=np.array([1,2,3,4,5,6,7,8,9,10])print(a)#輸出結(jié)果:[12345678910](2)創(chuàng)建二維數(shù)組importnumpyasnpb=np.array([[1,2,0],[3,4,5],[6,7,8]])print(b)#輸出結(jié)果:[[120][345][678]](3)創(chuàng)建指定維數(shù)ndarrayimportnumpyasnpc=np.array([1,2],ndmin=5)print(c)#輸出結(jié)果:[[[[[12]]]]]常用函數(shù)字符串函數(shù)在numpy中有很多常用的函數(shù),包括我們所熟知的字符串,數(shù)學(xué),算數(shù)和統(tǒng)計(jì)函數(shù)等。字符串函數(shù)一般使用numpy.char來進(jìn)行操作。numpy.char.add():對(duì)兩個(gè)字符串進(jìn)行連接numpy.char.multiply():能夠?qū)崿F(xiàn)多個(gè)相同的字符串連接numpy.char.replace():使用新字符串代替原字符串numpy.char.strip():移除串頭和串尾的特定字符numpy.char.split():對(duì)字符串進(jìn)行分割,默認(rèn)使用空格常用函數(shù)數(shù)學(xué)函數(shù)numpy.around():返回?cái)?shù)字的舍入值(四舍五入)numpy.ceil():向上取整函數(shù)numpy.floor():向下取整函數(shù)常用的三角函數(shù)。np.sin(a*np.pi/180))np.cos(a*np.pi/180))np.tan(a*np.pi/180))常用函數(shù)運(yùn)算函數(shù)加減乘除函數(shù)np.add()np.subtract()np.multiply()np.dividenumpy.mod():求余函數(shù)numpy.reciprocal():求導(dǎo)函數(shù)常用函數(shù)統(tǒng)計(jì)函數(shù)求最小值和最大值函數(shù)np.amin()np.amax()numpy.median():用于計(jì)算中位數(shù)numpy.mean():用于計(jì)算平均值np.std():用來計(jì)算標(biāo)準(zhǔn)差np.var():用來計(jì)算方差3pandaspandas的介紹與安裝pandas是python中的一個(gè)資源庫(kù)。它在數(shù)據(jù)分析中能發(fā)揮巨大作用,所以pandas基本已經(jīng)成為數(shù)據(jù)分析的主流工具。它主要能夠?qū)崿F(xiàn)加載數(shù)據(jù),整理數(shù)據(jù),操作數(shù)據(jù),構(gòu)建數(shù)據(jù)模型和分析數(shù)據(jù)五個(gè)功能。pandas庫(kù)在第三方都是自帶的。例如我們熟知的Anaconda,WinPython以及Python(x,y)。讀者想要通過這幾種方式安裝的可以直接去相應(yīng)的第三方官網(wǎng)安裝。在Windows系統(tǒng)下,標(biāo)準(zhǔn)發(fā)行版上安裝pandas只需要在cmd命令提示符界面輸入:pipinstallpandas即可。DataFrame在Pandas中DataFrame是使用最多的數(shù)據(jù)結(jié)構(gòu)。DataFrame它是一個(gè)二維表形的數(shù)據(jù)結(jié)構(gòu),有行和列的標(biāo)簽,分別稱之為index和columns。DataFrame特殊之處在于它每列的數(shù)據(jù)類型可以不同,因此也被稱之為異構(gòu)數(shù)據(jù)表。pd.DataFrame(data,index,columns,dtype,copy),是創(chuàng)建DataFrame對(duì)象的語(yǔ)句,其中五個(gè)參數(shù)分別表示輸入的數(shù)據(jù),行標(biāo)簽,列標(biāo)簽,數(shù)據(jù)類型和復(fù)制數(shù)據(jù)參數(shù)(默認(rèn)為否)。DataFrame創(chuàng)建DataFrame一般有以下四種方式:1.創(chuàng)建空的DataFrame對(duì)象2.利用列表創(chuàng)建DataFrame3.利用字典創(chuàng)建4.利用列表鑲嵌字典Series和DataFrame一樣,Series也是pandas中的一種數(shù)據(jù)結(jié)構(gòu),不同的是Series類似于一維數(shù)組,它由數(shù)據(jù)和標(biāo)簽組成。Series能夠存任何類型的數(shù)據(jù)。創(chuàng)建Series語(yǔ)句使用s=pd.Series(data,index,dtype,copy)。括號(hào)中四個(gè)參數(shù)分別表示輸入的數(shù)據(jù),索引值,數(shù)據(jù)類型和是否拷貝(默認(rèn)為否)。Series的創(chuàng)建方法:1.創(chuàng)建空的對(duì)象。2.使用之前學(xué)習(xí)過的ndarray創(chuàng)建Series對(duì)象。3.利用字典來創(chuàng)建Series對(duì)象。4.創(chuàng)建一個(gè)標(biāo)量Series對(duì)象。Pandas常見統(tǒng)計(jì)函數(shù)在Python中使用文件格式最多的是csv格式。利用df=pd.read_csv('文件名.csv')語(yǔ)句便可以讀取csv文件,然后能夠利用相應(yīng)的函數(shù)對(duì)文件進(jìn)行分析。在后面的實(shí)驗(yàn)中,會(huì)體現(xiàn)更多關(guān)于Pandas的函數(shù)。下面介紹一些常用的統(tǒng)計(jì)函數(shù)。mean()函數(shù)返回?cái)?shù)據(jù)的平均數(shù);median()函數(shù)返回?cái)?shù)據(jù)的中位數(shù);mode()函數(shù)返回?cái)?shù)據(jù)的眾數(shù);std()函數(shù)得到數(shù)據(jù)的標(biāo)準(zhǔn)差;count()函數(shù)用來統(tǒng)計(jì)數(shù)據(jù)集中的非空數(shù);min()和max()函數(shù)分別求數(shù)據(jù)的最大值和最小值;cumsum(),cumprod()函數(shù)分別計(jì)算數(shù)據(jù)集的累加和與累加積。4MatplotlibMatplotlib介紹與安裝python有很多功能強(qiáng)大的軟件包,Matplotlib是用于數(shù)據(jù)可視化的軟件包,它功能強(qiáng)大,使用簡(jiǎn)單,能夠繪制各種2D圖像,應(yīng)用極為廣泛。除此之外,Matplotlib還有一些功能擴(kuò)展包,例如Mplot3d可用于3D繪圖,Bashmap可用于繪制地圖還有Natgrid包可用于對(duì)不規(guī)則數(shù)據(jù)網(wǎng)格化處理等等。Matplotlib的安裝有第三方軟件自帶以及命令行安裝兩種方式。Anaconda軟件中自帶Matplotlib軟件包,讀者可以預(yù)先下載Anaconda直接使用Matplotlib。不想使用Anaconda的也可以在cmd命令提示符窗口輸入pipinstallmatplotlib進(jìn)行安裝。Matplotlib常用功能Matplotlib中,主要就是為了創(chuàng)建圖形對(duì)象,也就是figureobject??梢酝ㄟ^fig=plt.figure()語(yǔ)句創(chuàng)建空?qǐng)D。利用ax=fig.add_axes([0,0,1,1])添加畫布。函數(shù)中的四個(gè)參數(shù)分別表示圖的左邊,下邊,寬度以及高度。其中四個(gè)參數(shù)都是在0到1之間。其中圖像的坐標(biāo),曲線顏色,數(shù)學(xué)函數(shù)圖像,圖像各處標(biāo)題都可以通過修改代碼中函數(shù)的參數(shù)進(jìn)行調(diào)整。除此之外,圖的軸也十分重要。在Matplotlib中,一般使用axes類來指定繪圖的區(qū)域。我們常畫的2D圖像一般包含兩個(gè)軸也就是兩個(gè)軸對(duì)象,而復(fù)雜的三維圖像則需要三個(gè)軸對(duì)象。Matplotlib常用功能部分圖例:曲線圖柱狀圖餅狀圖5項(xiàng)目實(shí)戰(zhàn):有關(guān)心臟病的數(shù)據(jù)分析項(xiàng)目介紹目前,預(yù)測(cè)疾病的模型有很多,對(duì)于特定的疾病,不同的模型結(jié)構(gòu)和參數(shù)選擇對(duì)預(yù)測(cè)結(jié)果的影響非常大,而且疾病本身是一個(gè)非常復(fù)雜的現(xiàn)象,通常受到環(huán)境、個(gè)人、社會(huì)等多種因素的影響。本項(xiàng)目通過對(duì)患者數(shù)據(jù)進(jìn)行分析,對(duì)可能得心臟病的有關(guān)因素進(jìn)行預(yù)處理及分析,分析得到與心臟病有關(guān)的因素。本項(xiàng)目的數(shù)據(jù)使用Heart

Disease

UCI數(shù)據(jù)集,該數(shù)據(jù)集有76個(gè)屬性,本項(xiàng)目中只使用其中的14個(gè)屬性進(jìn)行分析。本數(shù)據(jù)是從Kaggle中進(jìn)行下載,直接在本項(xiàng)目中進(jìn)行導(dǎo)入使用。數(shù)據(jù)統(tǒng)計(jì)與分析信息圖數(shù)據(jù)有303名患者樣本數(shù)據(jù),14個(gè)特征屬性數(shù)據(jù)。年齡分析

柱狀圖小提琴圖年齡分析

年齡和性別散點(diǎn)圖年齡和患病分析小提琴圖心率分析

柱狀圖折線圖項(xiàng)目結(jié)論

在疾病預(yù)測(cè)的研究方法中,必須要在實(shí)踐中檢驗(yàn)才能更加符合實(shí)際的應(yīng)用。疾病本身是一個(gè)非常復(fù)雜的現(xiàn)象,通常受到環(huán)境、個(gè)人、社會(huì)等多種因素的影響。本次實(shí)戰(zhàn)通過對(duì)影響心臟病發(fā)病因子中的年齡、性別、最大心率及地中海貧血分別進(jìn)行分析。由上述各個(gè)關(guān)系的可視化可以看出,年齡并不是影響心臟病的一個(gè)重要的因素;在性別中,女性比男性更容易患病;隨著年齡的增長(zhǎng),最大心率有一個(gè)明顯的下降的趨勢(shì)。小結(jié)介紹了關(guān)于數(shù)據(jù)處理的基礎(chǔ)知識(shí),數(shù)據(jù)一共分為數(shù)據(jù)收集,數(shù)據(jù)預(yù)處理,數(shù)據(jù)分析,數(shù)據(jù)可視化,數(shù)據(jù)應(yīng)用五個(gè)步驟。其次在numpy小節(jié)中主要講解了numpy的安裝numpy的作用,以及其中一些常用的函數(shù)。Pandas這一節(jié)主要講解了DataFrame和Series兩種數(shù)據(jù)結(jié)構(gòu),以及其中一些常見統(tǒng)計(jì)函數(shù)。可視化部分主要講解了Matplotlib的功能與使用。最后通過心臟病原因分析實(shí)例讓讀者對(duì)數(shù)據(jù)分析流程更為了解。感謝你的學(xué)習(xí)BLUETHESISPROPOSALTEMPLATE第四章數(shù)字圖像處理章節(jié)介紹Introduction數(shù)字圖像處理是一門涉及學(xué)科領(lǐng)域十分廣泛的交叉學(xué)科,在工業(yè)生產(chǎn)、機(jī)器視覺、視頻與多媒體系統(tǒng)等各個(gè)方面都存在極大的應(yīng)用價(jià)值。它的目的主要是通過一系列數(shù)字圖像處理技術(shù)將圖像處理得更加符合人眼視覺感知,從而使信息清晰地展示在用戶面前。理解并熟練掌握數(shù)字圖像處理中相關(guān)的基礎(chǔ)知識(shí)就可以對(duì)計(jì)算機(jī)視覺領(lǐng)域中的方法有較為全面的認(rèn)識(shí)。本章旨在介紹圖像、數(shù)字圖像等基本概念以及相關(guān)的基本處理方法,這些操作在計(jì)算機(jī)視覺領(lǐng)域的預(yù)處理等步驟被廣泛應(yīng)用。學(xué)習(xí)目標(biāo)Learningaims(1)掌握?qǐng)D像、數(shù)字圖像、色彩空間等基本概念,理解圖像在計(jì)算機(jī)中的表示方法;(2)掌握基礎(chǔ)的圖像處理方法;(3)理解并掌握邊緣檢測(cè)的原理和步驟;(4)熟練使用OpenCV對(duì)圖像進(jìn)行一系列基本操作。學(xué)習(xí)內(nèi)容Learningcontent1圖像及視覺基礎(chǔ)Fundamentalsofimageandvision數(shù)字圖像概述數(shù)字圖像,又稱數(shù)碼圖像或數(shù)位圖像,用二維數(shù)組來表示。它是通過圖像數(shù)字化將原始圖像分割成一個(gè)個(gè)小的區(qū)域而得到的,主要包括采樣和量化兩個(gè)過程。采樣:指將在空間上連續(xù)的圖像轉(zhuǎn)換成離散的采樣點(diǎn)(即像素)的操作。量化:模擬圖像經(jīng)過采樣后,離散化為像素,但像素值(即灰度值)仍為連續(xù)量,把采樣后所得的各像素的灰度值轉(zhuǎn)換為整數(shù)的過程稱為量化。采樣量化數(shù)字圖像概述矩陣是用于描述圖像的最常用的數(shù)據(jù)結(jié)構(gòu),它可以用來表示二值圖像(黑白圖像)、灰度圖像和彩色圖像。二值圖像:矩陣中的元素取值非0即1?;叶葓D:矩陣描述灰度圖像時(shí),矩陣中的元素由一個(gè)量化的灰度級(jí)描述,灰度級(jí)通常為8位,即0-255之間的整數(shù),其中0表示黑色,255表示白色。彩色圖像:利用3個(gè)分別代表R、G、B分量的大小相同的二維數(shù)組表示圖像中的像素,R表示紅色,G表示綠色,B表示藍(lán)色,通過三種基本顏色可以合成任意顏色。數(shù)字圖像概述二值圖灰度圖彩色圖色彩空間顏色空間按照基本結(jié)構(gòu)可以分為兩大類:基色顏色空間以及色、亮分離顏色空間。RGB:在RGB顏色空間中,任意色光F都可以用R、G、B三色不同分量的相加混合而成。HSV:模型反映了人的視覺系統(tǒng)感知彩色的方式,以色調(diào)(Hue)、飽和度(Saturation)和明度(Value)三種基本特征量來感知顏色,用六角形椎體進(jìn)行表示。三色光疊加圖HSV色彩空間2基礎(chǔ)圖像處理方法Basicimageprocessingmethod基本運(yùn)算算術(shù)運(yùn)算加法運(yùn)算減法運(yùn)算乘法運(yùn)算除法運(yùn)算邏輯運(yùn)算與運(yùn)算或運(yùn)算異或運(yùn)算非運(yùn)算基本運(yùn)算加法運(yùn)算減法運(yùn)算乘法運(yùn)算除法運(yùn)算基本運(yùn)算圖像變換幾何變換包括:圖像平移變換:將圖像中的所有像素點(diǎn)按照給定的平移量進(jìn)行水平或垂直方向上的位移。圖像放縮變換:對(duì)數(shù)字圖像的大小進(jìn)行調(diào)整的操作。圖像旋轉(zhuǎn)變換:圖像以某一點(diǎn)為中心旋轉(zhuǎn)一定的角度,形成一幅新的圖像的過程。圖片鏡像變換:圖像旋轉(zhuǎn)變換的一種特殊情況,通常包括垂直方向和水平方向的鏡像。圖像變換圖像仿射變換:一種從一個(gè)二維坐標(biāo)到另一個(gè)二維坐標(biāo)的線性變換,是指在幾何中,一個(gè)向量空間進(jìn)行一次線性變換并接上一個(gè)平移,變換為另一個(gè)向量空間。圖像透視變換:透視變換的本質(zhì)就是空間立體三維變換,將圖像投影至另外一個(gè)視平面上,常常用作圖像矯正任務(wù)當(dāng)中。圖像變換圖像平移圖像旋轉(zhuǎn)鏡像變換圖像變換仿射變換透視變換圖像變換從純粹的數(shù)學(xué)意義上看,傅立葉變換是將一個(gè)圖像函數(shù)轉(zhuǎn)換為一系列周期函數(shù)來處理的。其物理意義是將圖像的灰度分布函數(shù)變換為圖像的頻率分布函數(shù),傅立葉逆變換是將圖像的頻率分布函數(shù)變換為灰度分布函數(shù)。實(shí)際上對(duì)圖像進(jìn)行二維傅立葉變換得到頻譜圖,就是圖像梯度的分布圖,傅立葉頻譜圖上看到的明暗不一的亮點(diǎn),實(shí)際上圖像上某一點(diǎn)與鄰域點(diǎn)差異的強(qiáng)弱,即梯度的大小,也即該點(diǎn)的頻率的大小。如果頻譜圖中暗的點(diǎn)數(shù)更多,那么實(shí)際圖像是比較柔和的;反之,如果頻譜圖中亮的點(diǎn)數(shù)多,那么實(shí)際圖像一定是尖銳的,邊界分明且邊界兩邊像素差異較大的。圖像變換傅立葉變換是在以時(shí)間為自變量的“信號(hào)”與頻率為自變量的“頻譜”函數(shù)之間的某種變換關(guān)系。通過傅立葉變換,可在一個(gè)全新的頻率空間上來認(rèn)識(shí)信號(hào):一方面可能使得在時(shí)域研究中較復(fù)雜的問題在頻域中變得簡(jiǎn)單起來,從而簡(jiǎn)化其分析過程;另一方面使得信號(hào)與系統(tǒng)的物理本質(zhì)在頻域中能更好地被揭示出來。當(dāng)自變量“時(shí)間”或“頻率”為連續(xù)形式和離散形式的不同組合,就可以形成各種不同的傅立葉變換對(duì),即“信號(hào)”與“頻譜”的對(duì)應(yīng)關(guān)系。傅立葉變換包含連續(xù)傅立葉變換、離散傅立葉變換、快速傅立葉變換、短時(shí)傅立葉變換等,在數(shù)字圖像處理中使用的是二維離散傅立葉變換。圖像增強(qiáng)點(diǎn)運(yùn)算灰度變換:灰度變換是指根據(jù)某種目標(biāo)條件按一定變換關(guān)系逐點(diǎn)改變?cè)磮D像中每一個(gè)像素灰度值的方法。目的是為了改善畫質(zhì),使圖像的顯示效果更加清晰。圖像的灰度變換處理是圖像增強(qiáng)處理技術(shù)中的一種非常基礎(chǔ)、直接的空間域圖像處理方法,也是圖像數(shù)字化軟件和圖像顯示軟件的一個(gè)重要組成部分。包括:線性灰度變換和非線性灰度變換。直方圖變換:圖像直方圖是圖像的最基本的統(tǒng)計(jì)特征,記錄了圖像中每個(gè)像素值的數(shù)量。直方圖反映了圖像的明暗分布規(guī)律,可以通過圖像變換進(jìn)行直方圖調(diào)整,獲得較好的視覺效果。包括:直方圖均衡化和直方圖規(guī)定化。圖像增強(qiáng)空域?yàn)V波平滑濾波器:平滑濾波器就是使像素點(diǎn)與周圍的像素點(diǎn)進(jìn)行混合,致使圖像變得模糊,目的是為了減少噪聲,將“尖銳”的部分去除,刪除無用的細(xì)節(jié)部分,常用于圖像預(yù)處理部分。包括:均值濾波器、中值濾波器、高斯濾波器等。銳化濾波器:銳化濾波器與平滑濾波器作用相反,它可以削弱圖像中的低頻分量,使圖像的突變信息、邊緣信息更加明顯,產(chǎn)生更加適合人眼觀察的圖像,為進(jìn)一步的圖像處理奠定基礎(chǔ)。包括:梯度銳化、拉普拉斯銳化等。形態(tài)學(xué)操作形態(tài)學(xué)操作是指處理圖像的形狀特征的圖像處理技術(shù)。我們?cè)趯?duì)圖像進(jìn)行閾值處理、圖像增強(qiáng)等一系列預(yù)處理過程中會(huì)使圖像中存在一些噪聲。而形態(tài)學(xué)操作可以有效地去除影響圖像效果的噪聲點(diǎn),從而改善圖像質(zhì)量為后面的任務(wù)“打好基礎(chǔ)”。一般來說,形態(tài)學(xué)操作主要用來處理二值化圖像,其基本操作包括:膨脹、腐蝕、開運(yùn)算、閉運(yùn)算、形態(tài)學(xué)梯度、頂帽和黑帽。膨脹和腐蝕:基本思想簡(jiǎn)單地認(rèn)為是“將圖像擴(kuò)大”,腐蝕則相反。開運(yùn)算和閉運(yùn)算:開運(yùn)算就是先對(duì)圖像進(jìn)行腐蝕操作再進(jìn)行膨脹操作,閉運(yùn)算則相反。形態(tài)學(xué)梯度:形態(tài)學(xué)梯度是指膨脹結(jié)果和腐蝕結(jié)果的差值,可以有效地將二值圖像的邊緣凸顯出來以此來保留邊緣信息。黑帽和頂帽:分別用來突出比鄰近點(diǎn)較暗或較亮的區(qū)域。形態(tài)學(xué)操作原圖像腐蝕膨脹開操作閉操作形態(tài)學(xué)梯度黑帽頂帽3邊緣檢測(cè)EdgedetectionSobel算子與Laplacian算子Sobel算子認(rèn)為,鄰域的像素對(duì)當(dāng)前像素產(chǎn)生的影響是不等價(jià)的。所以距離不同的像素具有不同的權(quán)值,對(duì)算子結(jié)果產(chǎn)生的影響也不同。一般來說,距離越遠(yuǎn),產(chǎn)生的影響越小。Sobel算子的原理,對(duì)傳進(jìn)來的圖像像素做卷積,卷積的實(shí)質(zhì)是在求梯度值,或者說給了一個(gè)加權(quán)平均,其中權(quán)值就是所謂的卷積核;然后對(duì)生成的新像素灰度值做閾值運(yùn)算,以此來確定邊緣信息。拉普拉斯算子是最簡(jiǎn)單的各向同性微分算子,具有旋轉(zhuǎn)不變性。Laplacian算子進(jìn)行邊緣檢測(cè)并沒有像Sobel那樣的平滑過程,所以它會(huì)對(duì)噪聲產(chǎn)生較大的響應(yīng),并且無法分別得到水平方向、垂直方向或者其他固定方向的的邊緣。但是它只有一個(gè)卷積核,所以計(jì)算成本會(huì)更低。Canny算子Canny邊緣檢測(cè)算法是JohnF.Canny于1986年開發(fā)出來的一個(gè)多級(jí)邊緣檢測(cè)算法。通常情況下邊緣檢測(cè)的目的是在保留原有圖像屬性的情況下,顯著減少圖像的數(shù)據(jù)規(guī)模。目前有多種算法可以進(jìn)行邊緣檢測(cè),雖然Canny算法年代久遠(yuǎn),但可以說它是邊緣檢測(cè)的一種標(biāo)準(zhǔn)算法,而且仍在研究中廣泛使用。Canny算子求邊緣點(diǎn)的具體算法可以分為四個(gè)步驟:(1)使用高斯濾波器,以平滑圖像,濾除噪聲;(2)采用梯度濾波模板對(duì)圖像進(jìn)行卷積,求取圖像X方向和Y方向的梯度,以及對(duì)應(yīng)的夾角;(3)對(duì)梯度幅值進(jìn)行非極大值抑制;(4)用雙閾值算法檢測(cè)和連接邊緣。由于它具有滿足邊緣檢測(cè)的三個(gè)標(biāo)準(zhǔn)和實(shí)現(xiàn)過程簡(jiǎn)單的優(yōu)勢(shì),成為邊緣檢測(cè)最流行的算法之一。4項(xiàng)目實(shí)戰(zhàn)Projectpractice項(xiàng)目介紹近年來,隨著我國(guó)汽車數(shù)量的不斷增長(zhǎng),交通事故也隨之增加。世界衛(wèi)生組織報(bào)告稱,全世界每年有135萬(wàn)人死于道路事故。其中疲勞駕駛就是導(dǎo)致交通事故的重要原因之一,占傷亡人數(shù)的20%-30%。一般的疲勞表現(xiàn)有打哈欠、閉眼等,在本項(xiàng)目中我們利用Dlib第三方庫(kù)實(shí)現(xiàn)了一個(gè)疲勞駕駛檢測(cè)程序,通過計(jì)算嘴部、眼部的長(zhǎng)寬比等來判斷駕駛員是否在疲勞駕駛。實(shí)現(xiàn)流程首先定義初始化函數(shù)。由于特征點(diǎn)預(yù)測(cè)器的返回值為臉部的68個(gè)特征點(diǎn),每個(gè)部位的特征點(diǎn)都是連續(xù)且相鄰的。創(chuàng)建人臉檢測(cè)器、特征點(diǎn)檢測(cè)器以及疲勞檢測(cè)所需要的閾值。檢測(cè)人臉。利用人臉檢測(cè)器進(jìn)行實(shí)現(xiàn),輸入為灰度圖,輸出檢測(cè)到的人臉矩形框坐標(biāo)列表。定位人臉關(guān)鍵點(diǎn)。利用關(guān)鍵點(diǎn)檢測(cè)器實(shí)現(xiàn),輸入為圖像和矩形框坐標(biāo),輸出為68個(gè)關(guān)鍵點(diǎn)坐標(biāo)。利用得到的特征點(diǎn)坐標(biāo)計(jì)算眼部高寬比、面積大小和嘴部高寬比。檢測(cè)。首先創(chuàng)建檢測(cè)器示例,利用OpenCV開啟攝像頭并讀取每一幀圖像,利用檢測(cè)器進(jìn)行檢測(cè)并做出判斷。5小結(jié)Summary小結(jié)本章介紹了數(shù)字圖像處理的一系列相關(guān)知識(shí),首先介紹了圖像在計(jì)算機(jī)中的表示方法、圖像的色彩空間等基礎(chǔ)知識(shí),之后通過一些案例講解了基礎(chǔ)的圖像處理方法,這些處理方法不論是在傳統(tǒng)的視覺任務(wù)當(dāng)中還是深度學(xué)習(xí)當(dāng)中都十分重要。然后我們介紹了圖像增強(qiáng)的基本操作和邊緣檢測(cè)的方法,二者的目的都是對(duì)圖像經(jīng)過一系列操作從而產(chǎn)生適合我們進(jìn)行分析和處理的圖像。最后我們利用OpenCV實(shí)現(xiàn)了疲勞駕駛檢測(cè)項(xiàng)目。感謝你的學(xué)習(xí)第五章機(jī)器學(xué)習(xí)前言YOURENGLISHTITLE機(jī)器學(xué)習(xí)是一門多領(lǐng)域的交叉學(xué)科,它主要研究計(jì)算機(jī)如何模擬人和學(xué)習(xí)人的行為。發(fā)展至今的機(jī)器學(xué)習(xí)已經(jīng)應(yīng)用在了自然語(yǔ)言處理、手寫識(shí)別、機(jī)器人應(yīng)用、數(shù)據(jù)挖掘、計(jì)算機(jī)視覺等不同方向,很多機(jī)器學(xué)習(xí)中的方法都應(yīng)用在了計(jì)算機(jī)視覺中。本章旨在對(duì)機(jī)器學(xué)習(xí)的基礎(chǔ)知識(shí)進(jìn)行介紹,重點(diǎn)介紹決策樹算法、貝葉斯算法的基本流程。思維導(dǎo)圖學(xué)習(xí)目標(biāo)(1)掌握機(jī)器學(xué)習(xí)模型評(píng)估;(2)掌握線性回歸與邏輯回歸;(3)掌握決策樹算法;(4)掌握貝葉斯分類算法;(5)了解常用聚類方法。1機(jī)器學(xué)習(xí)介紹機(jī)器學(xué)習(xí)機(jī)器學(xué)習(xí)是這樣一門學(xué)科,它通過大量的“經(jīng)驗(yàn)”來進(jìn)行預(yù)測(cè)。在計(jì)算機(jī)中,通過大量的數(shù)據(jù)得到一個(gè)模型,模型可以對(duì)新的數(shù)據(jù)進(jìn)行預(yù)測(cè)得到結(jié)果。這便是機(jī)器學(xué)習(xí)的基本解釋。其中策略,模型和算法被稱之為機(jī)器學(xué)習(xí)的三要素。模型就像是一個(gè)黑盒子,輸入數(shù)據(jù)然后模型輸出結(jié)果,策略是用來判斷模型的優(yōu)劣,算法則是指學(xué)習(xí)模型的具體計(jì)算方法。常用術(shù)語(yǔ)機(jī)器學(xué)習(xí)一般分為監(jiān)督學(xué)習(xí),無監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)。監(jiān)督學(xué)習(xí)指的是它的訓(xùn)練數(shù)據(jù)都是帶有標(biāo)記的,通過這些帶有標(biāo)記的數(shù)據(jù)去不斷修正模型。監(jiān)督學(xué)習(xí)一般有分類和回歸兩類任務(wù)。分類問題輸出物體所屬的類別,它的輸出值是離散的,而回歸任務(wù)則是輸出一個(gè)值,它的輸出是連續(xù)的。諸如貓狗分類,它是屬于分類問題,像房?jī)r(jià)預(yù)測(cè)便是屬于回歸問題。無監(jiān)督學(xué)習(xí)則表示數(shù)據(jù)沒有標(biāo)記。最常見的就是聚類與降維,關(guān)于這一點(diǎn)后面會(huì)有介紹。還有部分是半監(jiān)督學(xué)習(xí),它通過少量帶有標(biāo)記的數(shù)據(jù)和大量不帶有標(biāo)記的數(shù)據(jù)來訓(xùn)練模型。常用術(shù)語(yǔ)在開始機(jī)器學(xué)習(xí)之前,需要大量的數(shù)據(jù)。比如(前夜天氣=陰,前夜溫度=低,前夜?jié)穸?高),這就是判斷天氣的一個(gè)記錄,多個(gè)記錄的組成叫做“數(shù)據(jù)集”。每一個(gè)記錄我們都稱為樣本。天氣,溫度,濕度等稱之為屬性,上面的陰,低等稱之為屬性值。如果是監(jiān)督學(xué)習(xí)還需要對(duì)數(shù)據(jù)進(jìn)行標(biāo)記,上面那個(gè)樣本第二天的天氣會(huì)標(biāo)記為晴天。要想得到一個(gè)模型,需要利用大量的數(shù)據(jù)進(jìn)行訓(xùn)練,我們把這些數(shù)據(jù)稱作“訓(xùn)練數(shù)據(jù)”,它們的集合稱之為“訓(xùn)練集”。訓(xùn)練好模型之后還需要數(shù)據(jù)來進(jìn)行測(cè)試不斷修正模型,我們稱之為“測(cè)試集”。最后我們需要數(shù)據(jù)來驗(yàn)證模型的好壞,我們稱之為“驗(yàn)證集”。機(jī)器學(xué)習(xí)發(fā)展歷史人工智能與機(jī)器學(xué)習(xí)的發(fā)展大致可以分為三個(gè)階段。二十世紀(jì)五十年代至七十年代運(yùn)用基于符號(hào)表示的演繹推理技術(shù),一般稱之為推理期。二十世紀(jì)七十年代中期至八十年代屬于知識(shí)期,基于符號(hào)知識(shí)表示,通過獲取和利用領(lǐng)域知識(shí)來建立專家系統(tǒng)。二十世紀(jì)八十年代至今叫做學(xué)習(xí)期,其中兩大主流技術(shù)分別是符號(hào)主義學(xué)習(xí)和基于神經(jīng)網(wǎng)絡(luò)的連接主義學(xué)習(xí)。2模型的評(píng)估數(shù)據(jù)集的劃分?jǐn)?shù)據(jù)集一般分為訓(xùn)練集,測(cè)試集和驗(yàn)證集。常見的劃分方法有三種。留出法:將數(shù)據(jù)集D劃分成兩個(gè)互斥的集合。可以稱之為訓(xùn)練集X和測(cè)試集C,其中D=C+X。交叉驗(yàn)證法:將數(shù)據(jù)集D劃分成K個(gè)大小相同的互斥集合,然后用1個(gè)集合作為測(cè)試集,剩下的K-1個(gè)集合作為訓(xùn)練集。進(jìn)行K次訓(xùn)練與測(cè)試,最后返回它們的均值得到最終的結(jié)果。自助法:假設(shè)數(shù)據(jù)集D有a個(gè)樣本,每一次從D中選出一個(gè)樣本放入D1數(shù)據(jù)集,然后再放回樣本。如此重復(fù)a次得到D1數(shù)據(jù)集,D1中會(huì)有重復(fù)樣本或者一些樣本不出現(xiàn)樣本。沒采集到的樣本可以用來當(dāng)作測(cè)試集。性能度量錯(cuò)誤率:指的是分類錯(cuò)誤的樣本數(shù)占樣本總數(shù)的比例。精度:分類正確的樣本數(shù)占樣本總數(shù)的比例。機(jī)器學(xué)習(xí)預(yù)測(cè)中,存在四個(gè)重要的參數(shù)。TP表示將正類預(yù)測(cè)為正類數(shù),F(xiàn)N表示將正類預(yù)測(cè)為負(fù)類數(shù),F(xiàn)P表示將負(fù)類預(yù)測(cè)為正類數(shù),TN表示將負(fù)類預(yù)測(cè)為負(fù)類數(shù)。機(jī)器學(xué)習(xí)中存在查全率和查準(zhǔn)率兩個(gè)指標(biāo)。查全率:R=TP/(TP+FN)。查準(zhǔn)率:P=TP/(TP+FN)。查準(zhǔn)率和查全率兩者相斥。當(dāng)查準(zhǔn)率較高時(shí),查全率便低,查準(zhǔn)率低時(shí),查全率便高。F1度量方法應(yīng)用的更為廣泛。F1=(2×P×R)/(P+R)3線性模型線性回歸線性回歸的最終目的就是通過訓(xùn)練來得出參數(shù)w讓f(x)接近y。在數(shù)學(xué)上就是找到一條曲線盡量擬合所有的數(shù)據(jù)樣本點(diǎn)。但是在線性模型中,直線幾乎不可能擬合所有的樣本點(diǎn)。所以機(jī)器學(xué)習(xí)中的線性模型訓(xùn)練是盡量調(diào)整參數(shù)使線離大多數(shù)數(shù)據(jù)點(diǎn)更近,線與數(shù)據(jù)的差距在定量上稱之為誤差。均方誤差的損失函數(shù)定義:(J(w)=1/m∑_(i=1)^m(f(x^((i)))-y^((i)))^2=1/m(XW-y)^T(XW-y)將J對(duì)w進(jìn)行求導(dǎo)進(jìn)行梯度下降。即:W←W-α?J(W)/?W最后可以得到梯度下降的迭代過程:W←W-2/mαX^T(XW-y)邏輯回歸機(jī)器學(xué)習(xí)中,除了線性回歸,邏輯回歸的使用也比較多。但邏輯回歸的作用和線性回歸卻大不相同。邏輯回歸并不是用來完成回歸任務(wù),它經(jīng)常被用來進(jìn)行分類。邏輯回歸中用到了Sigmoid函數(shù)。Sigmoid的函數(shù)形式為:g(z)=1/(1+e^(-z)將線性回歸模型的表達(dá)式帶入g(z),就得到邏輯回歸的表達(dá)式:hθ(x)=g(θ^Tx)=1/(1+e^(-θ^Tx))4決策樹算法基本流程決策樹學(xué)習(xí)的過程主要分為三個(gè)部分:(1)特征選擇:特征選擇是指從訓(xùn)練數(shù)據(jù)中眾多的特征中選擇一個(gè)特征作為當(dāng)前節(jié)點(diǎn)的分裂標(biāo)準(zhǔn),如何選擇特征有著很多不同量化評(píng)估標(biāo)準(zhǔn),從而衍生出不同的決策樹算法。(2)決策樹生成:根據(jù)選擇的特征評(píng)估標(biāo)準(zhǔn),從上至下遞歸地生成子節(jié)點(diǎn),直到數(shù)據(jù)集不可分則停止決策樹停止生長(zhǎng)。(3)剪枝:決策樹容易過擬合,一般需要進(jìn)行剪枝,縮小樹結(jié)構(gòu)規(guī)模、緩解過擬合。剪枝技術(shù)有預(yù)剪枝和后剪枝兩種。劃分原則

剪枝

過擬合的樹在泛化能力的表現(xiàn)非常差。所以要進(jìn)行剪枝處理,剪枝又分為預(yù)剪枝和后剪枝,前剪枝是指在構(gòu)造樹的過程中就知道哪些節(jié)點(diǎn)可以剪掉。后剪枝是指構(gòu)造出完整的決策樹之后再來考查哪些子樹可以剪掉。預(yù)剪枝在節(jié)點(diǎn)劃分前確定是否繼續(xù)增長(zhǎng),及早停止增長(zhǎng)的主要方法有:節(jié)點(diǎn)內(nèi)數(shù)據(jù)樣本數(shù)小于切分最小樣本數(shù)閾值;所有節(jié)點(diǎn)特征都已分裂;節(jié)點(diǎn)劃分前準(zhǔn)確率比劃分后準(zhǔn)確率高。后剪枝和預(yù)剪枝不同,它是等決策樹完全生成之后從下往上對(duì)決策樹進(jìn)行剪枝處理。如果決策樹的劃分使得精確度下降,就進(jìn)行剪枝(讓其不劃分)。4貝葉斯算法貝葉斯定理?xiàng)l件概率,一般記作P(A|B),意思是當(dāng)B事件發(fā)生時(shí),A事件發(fā)生的概率。其定義為:全概率公式:貝葉斯公式:貝葉斯算法

條件概率可以理解成下面的式子:后驗(yàn)概率=先驗(yàn)概率×調(diào)整因子。

先預(yù)估一個(gè)“先驗(yàn)概率”,然后加入實(shí)驗(yàn)結(jié)果,看這個(gè)實(shí)驗(yàn)到底是增強(qiáng)還是削弱了“先驗(yàn)概率”,由此得到更接近事實(shí)的“后驗(yàn)概率”。樸素貝葉斯推斷:基于訓(xùn)練集D來估計(jì)類先驗(yàn)概率P(c),并為每個(gè)屬性估計(jì)條件概率P(xi|c)。Dc表示訓(xùn)練集D中的第c類樣本組成的集合,若有充足的獨(dú)立同分布樣本,則可容易地估計(jì)出類別的先驗(yàn)概率:5聚類聚類介紹

聚類問題是機(jī)器學(xué)習(xí)中無監(jiān)督學(xué)習(xí)的典型代表,在數(shù)據(jù)分析、模式識(shí)別很多實(shí)際問題中得到了應(yīng)用。類也是要確定一個(gè)物體的類別,但和分類問題不同的是,這里沒有事先定義好的類別,聚類算法要自己想辦法把一批樣本分開,分成多個(gè)類,保證每一個(gè)類中的樣本之間是相似的,而不同類的樣本之間是不同的。在這里,類型被稱為“簇”(cluster)。聚類的分類

基于劃分的聚類方法應(yīng)用十分廣泛。該方法首先要確定這樣本點(diǎn)最后聚成幾類,然后挑選幾個(gè)點(diǎn)作為初始中心點(diǎn),再然后給數(shù)據(jù)點(diǎn)做迭代重置(iterativerelocation),直到最后到達(dá)“類內(nèi)的點(diǎn)都足夠近,類間的點(diǎn)都足夠遠(yuǎn)”的目標(biāo)效果。層次聚類主要有兩種類型:合并的層次聚類和分裂的層次聚類?;诿芏鹊姆椒芙鉀Q不規(guī)則形狀的聚類。該方法同時(shí)也對(duì)噪聲數(shù)據(jù)的處理比較好?;诰W(wǎng)絡(luò)的方法的原理就是將數(shù)據(jù)空間劃分為網(wǎng)格單元,將數(shù)據(jù)對(duì)象集映射到網(wǎng)格單元中,并計(jì)算每個(gè)單元的密度。K-means聚類

K-means算法是找中心點(diǎn)到各個(gè)樣本點(diǎn)距離都相近的一個(gè)算法。K-means的算法步驟為:①選擇初始化的k個(gè)樣本作為初始聚類中心a=a1,a2,a3....。②針對(duì)數(shù)據(jù)集中每個(gè)樣本

計(jì)算它到k個(gè)聚類中心的距離并將其分到距離最小的聚類中心所對(duì)應(yīng)的類中;③針對(duì)每個(gè)類別,重新計(jì)算它的聚類中心。④一直重復(fù)步驟②和③直到收斂。6項(xiàng)目實(shí)戰(zhàn):出行決策項(xiàng)目介紹下圖可以清楚的看到一共有四個(gè)屬性,分別是天氣,溫度,濕度,以及是否有風(fēng),標(biāo)記表示是否出門。結(jié)果展示7項(xiàng)目實(shí)戰(zhàn):鳶尾花聚類項(xiàng)目介紹Iris鳶尾花數(shù)據(jù)集是一個(gè)經(jīng)典數(shù)據(jù)集,在統(tǒng)計(jì)學(xué)習(xí)和機(jī)器學(xué)習(xí)領(lǐng)域都經(jīng)常被用作示例。數(shù)據(jù)集內(nèi)包含3類共150條記錄,每類各50個(gè)數(shù)據(jù),每條記錄都有4項(xiàng)特征:花萼長(zhǎng)度、花萼寬度、花瓣長(zhǎng)度、花瓣寬度,可以通過這4個(gè)特征預(yù)測(cè)鳶尾花卉屬于(iris-setosa,iris-versicolour,iris-virginica)中的哪一品種。結(jié)果展示

數(shù)據(jù)分布聚類結(jié)果小結(jié)從引言開始,講解了機(jī)器學(xué)習(xí)一些常用術(shù)語(yǔ)以及它的發(fā)展歷史。隨后講解了機(jī)器學(xué)習(xí)中模型評(píng)估的一些參數(shù)以及如何劃分?jǐn)?shù)據(jù)集。在回歸模型中,詳細(xì)講解了線性回歸和邏輯回歸,邏輯回歸主要用來做分類工作。決策樹算法中,詳細(xì)講解了決策樹的劃分原則以及它的剪枝技術(shù)。隨后講解了關(guān)于貝葉斯概率和貝葉斯算法的知識(shí)。在最后介紹了有關(guān)聚類的知識(shí),它是一種無監(jiān)督的技術(shù),其中對(duì)于k-means聚類有著詳細(xì)的介紹。感謝你的學(xué)習(xí)BLUETHESISPROPOSALTEMPLATE第六章深度學(xué)習(xí)概述深度學(xué)習(xí)是機(jī)器學(xué)習(xí)中的一個(gè)研究方向,是一種基于對(duì)數(shù)據(jù)進(jìn)行表征學(xué)習(xí)的方法。學(xué)習(xí)樣本數(shù)據(jù)的內(nèi)在規(guī)律和表示層次,學(xué)習(xí)過程獲得的信息對(duì)數(shù)據(jù)的解釋過程有很大幫助。深度學(xué)習(xí)的最終目標(biāo)就是讓其能夠像人一樣具有分析數(shù)據(jù),并進(jìn)行學(xué)習(xí)的能力,然后對(duì)文字、圖像等數(shù)據(jù)進(jìn)行識(shí)別或其他功能的實(shí)現(xiàn)。本章旨在對(duì)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)知識(shí)進(jìn)行介紹,重點(diǎn)介紹BP神經(jīng)網(wǎng)絡(luò)的正反向傳播過程。思維導(dǎo)圖學(xué)習(xí)目標(biāo)了解神經(jīng)網(wǎng)絡(luò)基礎(chǔ)知識(shí);掌握BP神經(jīng)網(wǎng)絡(luò)的正反向傳播方法;掌握模型訓(xùn)練方法;了解模型優(yōu)化方法,熟悉常見的梯度下降算法。1神經(jīng)網(wǎng)絡(luò)概述隨著科學(xué)的發(fā)展,人們逐漸認(rèn)識(shí)到人類的智能行為都和大腦活動(dòng)有關(guān)。人類大腦是一個(gè)可以產(chǎn)生意識(shí)、思想和情感的器官。受到大腦神經(jīng)系統(tǒng)的啟發(fā),早期的神經(jīng)科學(xué)家構(gòu)造了一種模仿人腦神經(jīng)系統(tǒng)的數(shù)學(xué)模型,稱為人工神經(jīng)網(wǎng)絡(luò),簡(jiǎn)稱神經(jīng)網(wǎng)絡(luò)。在機(jī)器學(xué)習(xí)領(lǐng)域,神經(jīng)網(wǎng)絡(luò)是指由很多人工神經(jīng)元構(gòu)成的網(wǎng)絡(luò)結(jié)構(gòu)模型,由簡(jiǎn)單元素及其分層組織成的大規(guī)模并行互連網(wǎng)絡(luò),旨在以與生物神經(jīng)系統(tǒng)相同的方式與現(xiàn)實(shí)世界的對(duì)象進(jìn)行交互,這些人工神經(jīng)元之間的連接強(qiáng)度是可學(xué)習(xí)的參數(shù)。神經(jīng)網(wǎng)絡(luò)最開始是受生物神經(jīng)系統(tǒng)的啟發(fā),為了模擬生物神經(jīng)系統(tǒng)(人腦生理結(jié)構(gòu)和功能)而出現(xiàn)的。人的神經(jīng)系統(tǒng)是由眾多神經(jīng)元相互連接而組成的一個(gè)復(fù)雜系統(tǒng),因此,神經(jīng)元是人類大腦“CPU”最基本的計(jì)算單元。人類神經(jīng)系統(tǒng)中的神經(jīng)元非常龐大,數(shù)量眾多,神經(jīng)元之間通過突觸進(jìn)行連接。生物神經(jīng)元之間信息傳遞過程如下所示:每個(gè)神經(jīng)元從樹突接收輸入信號(hào),沿著唯一的軸突產(chǎn)生輸出信號(hào),軸突通過分支和突觸連接到其他神經(jīng)元的樹突。1.1神經(jīng)元1.2感知機(jī)人工神經(jīng)網(wǎng)絡(luò)(ArtificialNeuralNetwork,ANN)是對(duì)人腦最簡(jiǎn)單的一種抽象和模擬,是人們模仿人的大腦神經(jīng)系統(tǒng)信息處理功能的一個(gè)智能化系統(tǒng),是20世紀(jì)80

年代以來人工智能領(lǐng)域興起的研究熱點(diǎn)。經(jīng)過數(shù)十年的發(fā)展,人工神經(jīng)網(wǎng)絡(luò)已經(jīng)取得了很大進(jìn)步,在模式識(shí)別、智能機(jī)器人、自動(dòng)控制等領(lǐng)域已經(jīng)解決了很多實(shí)際問題。人工神經(jīng)元是一個(gè)多輸入、單輸出的非線性元件,通過對(duì)生物神經(jīng)元的抽象化,用人工方法模擬生物神經(jīng)元形成的。單層感知機(jī)是最簡(jiǎn)單的神經(jīng)網(wǎng)絡(luò),可以理解為對(duì)輸入進(jìn)行處理,得到結(jié)果并輸出結(jié)果的機(jī)器。其結(jié)構(gòu)是將輸入層與輸出層直接相連。由于單層感知機(jī)無法解決線性不可分等復(fù)雜問題,所以設(shè)計(jì)了多層感知機(jī)(MultilayerPerception,MLP)。多層感知機(jī)是在單層感知機(jī)的輸入層與輸出層之間增加了若干隱藏層,隱藏層之間是全連接的,且輸出端從一個(gè)變成了多個(gè)。1.2感知機(jī)

單層感知機(jī)和多層感知機(jī)可以通過誤差修正學(xué)習(xí)確定輸入層和輸出層之間的連接權(quán)重。誤差修正學(xué)習(xí)是根據(jù)輸入數(shù)據(jù)的期望輸出和實(shí)際輸出之間的誤差來調(diào)整連接權(quán)重,但是不能進(jìn)行跨層調(diào)整,無法進(jìn)行多層訓(xùn)練。因此,初期的多層感知機(jī)使用隨機(jī)數(shù)確定輸入層和隱藏層之間的連接權(quán)重,只對(duì)隱藏層和輸出層之間的連接權(quán)重進(jìn)行誤差修正學(xué)習(xí),這種情況下會(huì)造成輸入數(shù)據(jù)雖然不同,但是隱藏層的輸出值卻相同的情況,造成無法準(zhǔn)確的進(jìn)行分類。因此人們提出了誤差反向傳播算法,通過比較實(shí)際輸出和期望輸出值,得到誤差信號(hào),然后把誤差信號(hào)從輸出層逐層向前傳播得到各層的誤差信號(hào),再通過調(diào)整各層的連接權(quán)重以減小誤差。1.2感知機(jī)2BP神經(jīng)網(wǎng)絡(luò)概述BP神經(jīng)網(wǎng)絡(luò)是一種按誤差逆?zhèn)鞑P(BackPropagation)算法訓(xùn)練的多層前饋網(wǎng)絡(luò),是其最初是由PaulwerboS.S在1974年提出的,但是當(dāng)時(shí)并沒有得到傳播,直到20世紀(jì)80年代中期BP神經(jīng)網(wǎng)絡(luò)被重新發(fā)現(xiàn)。目前BP算法已成為應(yīng)用最廣泛的神經(jīng)網(wǎng)絡(luò)算法,據(jù)統(tǒng)計(jì)有近

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論