




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、人工智能之深度學習人工智能概述第一節人工智能數學基礎第二節Python基礎第三節目錄 content人工智能概述第一節人工智能簡述機器學習&深度學習人工智能將引領人類第四次工業革命 智能化時間18世紀末工業1.0創造了機器工廠的“蒸汽時代”20世紀初電力廣泛應用蒸汽機信息物聯系統1970年代初今天工業2.0將人類帶入分工明確、大批量生產的流水線模式和“電氣時代”工業3.0應用電子信息技術,進一步提高生產自動化水平自動化、信息化工業4.0開始應用信息物理融合系統(CPS)復雜度悄臨悄來互聯網時代在結正終人工智能機器人交通工具(即無人機、無人駕駛等)VR(虛擬現實)AI將催生“無用階層”嗎?人工/
2、腦力勞動:翻譯、記者.人工/體力勞動:保安、保姆.什么是人工智能(AI)?全面實施戰略性新興產業發展規劃,加快人工智能等技術的研發和轉化,做大做強產業集群把發展智能制造作為主攻方向,推進國家智能制造示范區、制造業創新中心建設人工智能:國家戰略(2017年政府工作報告)人工智能(Artificial Intelligence),英文縮寫為AI。它是研究、開發用于模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。它企圖了解智能的實質,并生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語言識別、圖像識別、自然語言處理和專家系統等。人工智能是對人的
3、意識、思維的信息過程的模擬。人工智能不是人的智能,但能像人那樣思考、也可能超過人的智能。什么是人工智能?人工智能有那些類型?弱人工智能,包含基礎的、特定場景下角色型的任務,如Siri等聊天機器人和AlphaGo等下棋機器人;通用人工智能,包含人類水平的任務,涉及機器的持續學習;強人工智能,指比人類更聰明的機器;195619741980198719932006AI的誕生1956達特矛斯 會議,“人工智 能”正式誕生孕育期電子計算機 機器翻譯與NLP 圖靈測試 計算機下棋 早期神經網絡搜索式推理聊天機器人樂觀思潮所有的AI程序 都只是“玩具”運算能力計算復雜性常識與推理專家系統知識工程五代機神經網
4、絡重生未達預期 削減投入摩爾定律統計機器學習AI廣泛應用大數據計算能力應用增多深度學習人工智能至今人工智能發展歷程手機中的AI人工智能系統的技術架構智能終端智能云平臺人工智能概述第一節人工智能簡述機器學習&深度學習推理期知識期機器學習期人工智能的三個研究階段1950s1970s1980s基于符號知識表示 通過演繹推理技術基于符號知識表示 通過獲取和利用領域知識 建立專家系統神經網絡第二個高潮 NP(non-deterministic polynomial-time)難題 中獲重大進展 助力大量現實問題神經網絡第一個高潮期神經網絡以深度學 習之名再次崛起 大幅提升感知智能 準確率201790s中
5、期統計學習登場并占據主流,支持向量機、核方法為代表性技術提出支持向量、VC維等概念統計學的研究成果經由機器學習 研究,形成有效的學習算法聯結學派對大腦進行逆向分析 靈感來自于神經科學和物理學 產生的是“黑箱”模型 神經網絡可歸置此類符號學派將學習看作逆向演繹 并從哲學、心理學、邏輯學中尋求洞見 代表包括決策樹和基于邏輯的學習機器學習&深度學習從以“推理”為重點到以“知識”為重點,再到以“學習”為重點機器可以自動“學習”的算法,即從數據中自動分析獲得規律,并利用規律對未知數據進行預測的算法。目前,機器學習=“分類”人工智能 機器學習 深度學習深度學習是使用包含復雜結構或由多重非線性變換構成的多個
6、處理層對數據進行高層抽象的算法深度學習是一種基于對數據進行表征學習的方法。觀測值(例如一幅圖像)可以使用多種方式來表示,如每個像素強度值的向量,或者更抽象地表示成一系列邊、特定形狀的區域等。而使用某些特定的表示方法更容易從實例中學習任務(例如,人臉識別或面部表情識別)。深度學習的好處是用非監督式或半監督式的特征學習和分層特征提取高效算法來替代手工獲取特征用數據優化計算機程序的模型參數通過經驗自動改進的計算機算法深度學習算法簡介:機器學習機器學習的基本定理 模型的出錯率 推論: 模型復雜-大樣本 樣本小-簡化模型Class label(Classification)Vector(Estimati
7、on)機器學習實施過程特征提取特征1樣本數據樣本數據樣本數據n預處理特征樣本集原始樣本集機器學習算法訓練預測輸出驗證集評價目標特征1n目標特征1n目標特征1n訓練集目標特征1n目標特征1n目標特征1n驗證集目標特征1n目標特征1n目標預測目標預測目標預測目標改進特征選取是成敗的關鍵人腦是通過分級的、多層網絡模型來識別減少數據量,保留物體的有用信息低層信息預處理特征提取識別分類對效果影響極大手動化特征工程非常耗時圖像識別的一般流程人腦識別圖像的過程深度學習的成功應用AlphaGo戰勝李世乭圖像識別全面超越人類語音識別接近人類將聲學模型中混合高斯模型替換為DNN模型獲得30%+ 相對提升Tesla
8、 Autopilot投入商用Google Translate投入商用它把原文例如中文詞先翻成一個詞向量,變成一個數字向量它對這個詞向量再編輯,變成一個語義表示的方式再把它翻譯成它的目標語言,例如英文人工智能之深度學習人工智能概述第一節人工智能數學基礎第二節Python基礎第三節目錄 content人工智能數學基礎第二節矩陣運算導數與鏈式法則概率分布邏輯理論矩陣運算一、概念 由 個數排成的 行 列的數表稱為 矩陣.簡稱 矩陣.記作矩陣運算一、概念簡記為元素是實數的矩陣稱為實矩陣,元素是復數的矩陣稱為復矩陣.矩陣運算二、矩陣的加法、減法設有兩個 矩陣 將矩陣 與 的和記作 ,規定為矩陣運算二、矩陣
9、的加法、減法矩陣運算三、矩陣與矩陣相乘并把此乘積記作設 是一個 矩陣, 是一個 矩陣,那么規定矩陣 與矩陣 的乘積是一個 矩陣 ,其中注意只有當第一個矩陣的列數等于第二個矩陣的行數時,兩個矩陣才能相乘!矩陣運算三、矩陣與矩陣相乘(其中 為數); 若A是 階方陣,則 為A的 次冪,即 并且 人工智能數學基礎第二節矩陣運算導數與鏈式法則概率分布邏輯理論導數與鏈式法則一、鏈式法則 定理如果函數)(tuf=及)(tvy=都在點t可導,函數),(vufz=在對應點),(vu具有連續偏導數,則復合函數)(),(ttfz yf=在對應點t可導,且其導數可用下列公式計算: 導數與鏈式法則一、鏈式法則I: 定理
10、推廣到中間變量多于兩個的情況.如以上公式中的導數 稱為全導數.導數與鏈式法則一、鏈式法則定理推廣到中間變量是多元函數 如果),(yxuf=及),(yxvy=都在點),(yx具有對x和y的偏導數,且函數),(vufz=在對應點),(vu具有連續偏導數,則復合函數),(),(yxyxfz yf=在對應點),(yx的兩個偏導數存在,且可用下列公式計算 II:導數與鏈式法則一、鏈式法則人工智能數學基礎第二節矩陣運算導數與鏈式法則概率分布邏輯理論概率分布概率論是研究隨機現象中數量規律的一門學科。由于隨機現象是現實世界中廣泛存在的一種現象,而且反映了事物的一種不確定性,即隨機性,因而對它的研究就為人們提供
11、了一種表示和處理這種不確定性的有力工具。概率分布在千姿百態的現實世界中存在著各種各樣的自然現象和社會現象,其中有一類這樣的現象:在相同條件下做同一個試驗時,得到的結果可能相同,也可能不相同,而且在試驗之前無法預言一定會出現哪一個結果,具有偶然性。例如,拋擲一枚硬幣時,其結果可能是正面向上,也可能是反面向上,究竟哪一面向上,只有在硬幣落地后方可知道,在拋擲之前難以準確預言。再如,假設在一個口袋中裝入紅、黃、綠色的圓球各三個,且它們具有相同的大小和重量,現在讓一個小朋友閉上眼睛從中隨意地取出一個,則他取出的球可能是紅色的,也可能是綠色或黃色的,這在他取出之前也難以準確地確定。如果把取出的球仍放回袋
12、子中,然后讓他再取一次,則這次取出的球可能與上一次相同,也可能不相同。重復多次地進行這個試驗,其結果都是這樣。像這樣在相同條件下重復進行某種試驗時,試驗結果不一定完全相同且不可預知的現象稱為隨機現象。在隨機現象中,試驗結果呈現出的不確定性稱為隨機性。一、隨機現象概率分布在千姿百態的現實世界中存在著各種各樣的自然現象和社會現象,其中有一類這樣的現象:在相同條件下做同一個試驗時,得到的結果可能相同,也可能不相同,而且在試驗之前無法預言一定會出現哪一個結果,具有偶然性。例如,拋擲一枚硬幣時,其結果可能是正面向上,也可能是反面向上,究竟哪一面向上,只有在硬幣落地后方可知道,在拋擲之前難以準確預言。再如
13、,假設在一個口袋中裝入紅、黃、綠色的圓球各三個,且它們具有相同的大小和重量,現在讓一個小朋友閉上眼睛從中隨意地取出一個,則他取出的球可能是紅色的,也可能是綠色或黃色的,這在他取出之前也難以準確地確定。如果把取出的球仍放回袋子中,然后讓他再取一次,則這次取出的球可能與上一次相同,也可能不相同。重復多次地進行這個試驗,其結果都是這樣。像這樣在相同條件下重復進行某種試驗時,試驗結果不一定完全相同且不可預知的現象稱為隨機現象。在隨機現象中,試驗結果呈現出的不確定性稱為隨機性。一、隨機現象概率分布在對隨機現象進行觀察或試驗時,每一次試驗的結果是無法準確預言的,但是它可能會出現什么樣的結果一般都可以知道。
14、例如在拋擲硬幣的試驗中,雖然在拋擲之前不能預言拋擲后是哪一面向上,但可知道它不是正面向上就反面向上。在上面關于袋中取球的試驗中,情況也是這樣,雖然在球取出之前不能預言取出的球是什么顏色,但可知道它一定是紅、黃、綠這三種顏色中的某一種。在概率論中,把試驗中每一個可能出現的結果稱為試驗的一個樣本點,由樣本點的全體構成的集合稱為樣本空間。今后我們用d 表示樣本點,用D 表示樣本空間。二、樣本空間概率分布(1)在拋擲硬幣的試驗中,若用d1 表示正面向上,用d2表示反面向上,則該試驗的樣本空間為: D=d1,d2(2)假設某籃球教練為了檢查隊員投籃的命中率,讓隊員一次次連續地投籃,則可能出現的結果是:第
15、一次投籃就命中,記為d1 第二次投籃才命中,記為d2 第n 次投籃才命中,記為dn 則該試驗的樣本空間為 D=d1,d2, ,dn, 由這些例子可以看出,樣本空間中的樣本點可以是有限個,也可以是無限個。在每次隨機試驗中,這些樣本點有且僅有一個出現。二、樣本空間概率分布在實際應用中,人們不僅關心某個樣本點所代表的可能結果是否會出現,有時更關心由某些樣本點構成的集合所代表的事物是否會出現。如在例2中,人們可能會關心隊員能否在不超過三次的情況下投中球籃。此時,所關心的事物是由樣本點dl,d2,d3成構成的集合。我們把要考察的由一些樣本點構成的集合稱為隨機事件,簡稱為事件。事件通常用大寫英文字母A ,
16、 B , 表示。例如,若用A表示“投籃次數不超過三次就投中”這一事件,則A = dl , d2, d3 三、隨機事件概率分布在一次試驗中,若事件包含的某一個樣本點出現,就稱這一事件發生了。顯然,由全體樣本點構成的集合(即樣本空間)所表示的事件是一個必然要發生的事件,稱為必然事件由空集所表示的事件,即不包含任何樣本點的事件,在任何一次試驗中都不會發生,稱為不可能事件。必然事件記為D ,不可能事件記為 。當然,由單個樣本點構成的集合也是一個事件,稱為基本事件。三、隨機事件概率分布四、事件之間的關系概率分布四、事件之間的關系概率分布五、事件的概率表示事件發生可能性大小的數,稱為事件的概率。若A表示某
17、一事件,它的概率記作P(A)。概率論五、事件的概率概率論五、事件的概率概率論五、事件的概率概率論六、全概率公式與Bayes公式概率論六、全概率公式與Bayes公式人工智能數學基礎第二節矩陣運算導數與鏈式法則概率分布邏輯理論邏輯理論邏輯:是人們思維活動規律的反映和抽象。人工智能中用到的邏輯可概括地劃分為兩大類。一類是經典命題邏輯和一階謂詞邏輯,其特點是任何一個命題的真值或者為“真”,或者為“假”,二者必居其一。因為它只有兩個真值,因此又稱為二值邏輯。另一類是泛指除此外的那些邏輯,主要包括三值邏輯、多值邏輯、模糊邏輯、模態邏輯及時態邏輯等。一、命題邏輯與謂詞邏輯邏輯理論命題邏輯與謂詞邏輯是最先應用
18、于人工智能的兩種邏輯,對于知識的形式化表示,特別是定理的自動證明發揮了重要作用,在人工智能的發展史中占有重要地位。命題邏輯與謂詞邏輯的關系:謂詞邏輯是在命題邏輯基礎上發展起來的,命題邏輯可看作是謂詞邏輯的一種特殊形式。一、命題邏輯與謂詞邏輯邏輯理論命題:是具有真假意義的語句。代表人們進行思維時的一種判斷,或肯定(真T),或否定(假F),只有兩種情況。例:永真(在任何條件下都為真) 人總會死的(原子命題)有條件 1+1=10 是在二進制條件下成立(原子命題)(原子命題:意義單一的命題。)二、命題邏輯理論通常可以用大寫字母A、B等表示命題。命題邏輯的這種表示方法有較大的局限性,它無法把它所描述的客
19、觀事物的結構及邏輯特征反映出來,也不能把不同事物間的共同特征表述出來。例如,對于“老李是小李的父親”這一命題,若用英文字母表示,例如用字母P,則無論如何也看不出老李與小李的父子關系。又如,對于“李白是詩人”、“杜甫也是詩人”這兩個命題,用命題邏輯表示時,也無法把兩者的共同特征(都是詩人)形式地表示出來。由于這些原因,在命題邏輯的基礎上發展起來了謂詞邏輯。二、命題邏輯理論一個謂詞可分為謂詞名+個體兩部分謂詞名用于刻畫個體的性質、狀態或個體間的關系個體表示某個獨立存在的事物或某個抽象的概念謂詞的一般形式:P(x1,x2,.,xn)謂詞名用大寫字母,個體用小寫字母三、謂詞邏輯理論例如:(1)“老張是
20、教師” Teacher(zhang) 其中“ Teacher”是謂詞名,“zhang”是個體。 “Teacher”刻畫了“zhang”的職業是教師這一特征。(2)53 Greater(5,3) ( Greater謂詞名,(5,3)個體) “Greater”刻畫了5與3之間的“大于”關系。三、謂詞邏輯理論個體可以為常量、變元、函數。例(1)x是教師 Teacher(x)(Teacher謂詞名,x個體(變元))(2)53 Greater(5,3)(Greater謂詞名,(5,3)個體(常量))(3)小張的父親是教師 Teacher(Father(zhang)(Teacher謂詞名,Father(z
21、hang)函數在用謂詞表示客觀事物時,謂詞的語義是由使用者根據需要人為地定義的。當謂詞中的變元都用特定的個體取代時,謂詞就具有一個確定的真值:T 或F。三、謂詞邏輯理論謂詞中包含的個體數目稱為謂詞的元數。如:P(x)一元謂詞 P(x,y)二元謂詞 P(x1,x2,.,xn) n元謂詞在P(x1,x2,.,xn)中,若xi(i=1,.,n)都是個體常量、變元、函數,稱他為一階謂詞。如果xi本身又是一個一階謂詞,稱為二階謂詞。個體變元的取值范圍稱為個體域(有限,無限)。個體常量、變元、函數統稱為“項”。三、謂詞邏輯理論謂詞中包含的個體數目稱為謂詞的元數。如:P(x)一元謂詞 P(x,y)二元謂詞
22、P(x1,x2,.,xn) n元謂詞在P(x1,x2,.,xn)中,若xi(i=1,.,n)都是個體常量、變元、函數,稱他為一階謂詞。如果xi本身又是一個一階謂詞,稱為二階謂詞。個體變元的取值范圍稱為個體域(有限,無限)。個體常量、變元、函數統稱為“項”。三、謂詞人工智能之深度學習人工智能概述第一節人工智能數學基礎第二節Python基礎第三節目錄 contentPython基礎第三節Python簡介Python開發環境搭建Python基本語法什么是Python 之所以有python的出現,是因為Python的作者吉多范羅蘇姆(Guido van Rossum)在學習和使用了其他語言(如:C/C
23、+、Pascal、shell等)之后,希望能夠得到一個既能夠像C語言那樣,能夠全面調用計算機的功能接口,又可以像shell那樣可以輕松的編程的語言。于是1991年,第一個Python編譯器(同時也是解釋器)誕生。它是用C語言實現的,從一出生,Python已經具有了:類(class),函數(function),異常處理(exception),包括表(list)和詞典 (dictionary)在內的核心數據類型,以及模塊(module)為基礎的拓展系統。 Python崇尚優美、清晰、簡單,是一個優秀并廣泛使用的語言,是一個有著自己哲學的語言。有那么一句關于python的座史銘:人生苦短,我用pyt
24、hon。可見使用python編程將是一件多么有趣的事情!什么是PythonPython的意思是蟒蛇,由于作者是當時風靡全球的英國六人喜劇團體,巨蟒劇團(Monty Python)的忠實粉絲,所以,就把此計算機語言的名字叫做:Python1991年,第一個Python編譯器(同時也是解釋器)誕生。Python目前有兩個版本,Python2.x和Python3.x,現階段用的比較多的是Python2.x。Python是純粹的免費、開源軟件。Python語法簡潔清晰,簡單易學。Python具有豐富和強大的庫。常被稱為膠水語言,能夠把用其他語言制作的各種模塊(尤其是C/C+)很輕松地聯結在一起。很多人
25、工智能相關庫使用Python寫的,因此Python是人工智能首選語言。Python特點一種腳本語言與之對比,C是一種編譯型語言。 編譯型語言:就是需要用該語言的編譯器將源代碼編譯為可執行程序,然后才能運行可執行程序的語言。即先將源代碼編譯為目標文件,然后把目標文件加上必要的庫文件,最后再鏈接為最終的可執行文件。 腳本語言:無需用編譯器編譯源代碼,可直接運行該源碼形式腳本文件的語言。而能夠直接運行腳本文件的背后,是當前環境中存在著此腳本的解析器。解析器負責讀入此腳本源碼,以及后續解析并執行的動作。 一種解釋型語言 這是因為腳本語言的天然特點之一就是解釋性。解釋器解析每一行的過程通俗講就是:讀一行
26、,解釋一行,執行一行。 一種高級語言 低級語言:匯編(語言本身直接和硬件打交道,而缺少對計算機細節的抽象,相對而言不是那么好理解和使用) 高級語言:在本身的設計層面會考慮到對計算機細節的封裝和抽象。 Python也完全具有常用的基本元素,如各種普通變量、列表、函數等 Python能做其他高級語言做的事情 可以像其他高級語言一樣用來開發各種不同功能的軟件;和其他高級語言一樣不能直接操作底層硬件。一種面向對象的語言 什么是面向對象的(高級)語言:在設計該語言本身時,對于語言本身的基本元素是以對象的方式設計的,而不同的對象之間的交互則成為整個程序運行的主要表現形式。Python特點Python特點豐
27、富的庫簡單、易學可擴展、可嵌入解釋性面向對象、高層免費開源、可移植Python應用領域目前使用Python語言的企業有很多1.著名的Google公司在其網絡搜索系統中廣泛應用Python語言。同時還聘用了Python之父 (Guido van Rossum)2.國外知名的YouTube視頻分享網站,一些重要的服務也幾乎都是用Python編寫的程序;3.P2P文件分享系統Bittorrent是一個Python 程序。 4.Intel(英特爾) 、Cisco(思科) 、Hewlett-Packard(惠普) 、Seagate(希捷) 、Qualcomm(高通) 和IBM 也都使用Python 進行
28、硬件測試 5.JPMorgan Chase(摩根大通集團) 、UBS(瑞士聯合銀行集團) 、Getco 和Citadel 使用Python,經濟市場預測領域也能看到Python的身影。 6.高科技含量的領域也有Python語言的身影,像是NASA(美國國家航空航天局) 、Los Alamos(洛斯阿拉莫斯洛杉磯國家實驗室) 、Fermilab(費米實驗室) 、JPL(噴氣推進實驗室) 等使用Python 實現科學計算任務; 7.IRobot公司使用Python 開發了商業機器人真空吸塵器; 8.NSA(美國國家安全局) 在加密和智能分析中使用Python 。 9.IronPort 業界領先的互
29、聯網信息安全產品提供商,也在電子郵件服務器產品中使用了超過100 萬行的Python 代碼實現其工作;10.Python在用戶圖形接口領域也很受歡迎 Python語言的簡潔和快速的開發周期,讓它十分適合開發GUI(圖形用戶界面)程序。Python內置的TKinter 的標準面向對象接口Tk GUI API ,使Python 程序可以生成可移植的本地觀感的GUI。 Python編程語言應用領域非常廣泛,像是游戲、圖像、人工智能、XML 、機器人等等。從語言本身來講,它能實現其他主流語言能實現的所有功能,只是在難易程度及效率上略有差別。Python庫機器學習框架很多人工智能的庫都有Python版本
30、,如機器學習庫TensorFlow和scikit-learn、Pylearn2、Nilearn。科學計算框架科學計算,用Python是很自然的,簡單高效。開發效率高。python有很多庫很方便做人工智能,很多數學公式的庫都是用Python實現,如Numpy,SciPy等。Python庫神經網絡庫PyBrain這款Python的擴展包主要用于神經網絡的訓練和訓練結果的校驗,至于原始數據的獲取、預處理、包括后期的圖形化以及結果的處理,需要用另外的庫。數據挖掘/分析庫pandas 是基于NumPy 的一種工具,該工具是為了解決數據分析任務而創建的。Pandas 納入了大量庫和一些標準的數據模型,提供
31、了高效地操作大型數據集所需的工具。它是使Python成為強大而高效的數據分析環境的重要因素之一。Python基礎第三節Python簡介Python開發環境搭建Python基本語法Python開發環境搭建/downloads/Python開發環境搭建單擊Download Python 3.6.5按鈕,下載得到python-3.6.5.msi。雙擊即可按照向導安裝Python 3.6.5。Python 3.6.5的默認安裝目錄為C:Python36。安裝完成后,將C:Python36添加到環境變量Path中。或者是下載得到python-2.7.15.msi。雙擊即可按照向導安裝python-2.7
32、.15。默認安裝目錄為C:Python27。安裝完成后,將C:Python27添加到環境變量Path中。下載、安裝Python開發環境搭建Python包管理工具setuptoolspip 1、下載地址:/pypi/pip/2、已經安裝pip,進入命令行窗口,執行pip install xxx,就可以安裝xxx包。3、升級已經安裝的python包,執行pip install upgrade xxx。Python常用開發工具Sublime、Pycharm、eclipse+Pydev、vim 自動下載、構建、安裝和管理Python模塊 Pip和easy_installPython基礎第三節Pytho
33、n簡介Python開發環境搭建Python基本語法Python基本語法語句或者代碼塊用縮進的方式體現(推薦4個空格);不通的縮進深度分隔不同的代碼塊;Python文件以模塊的形式組織;Python代碼書寫基本規則Python語句中的特殊字符#(井號)表示之后的字符為注釋;(反斜杠)繼續上一行;:(冒號)將代碼的頭和體分開;(分號)將2個語句連接在一行中Python基本語法必須以字母或者下劃線開頭,后面可接任意數目的下劃線、字母及數字區分大小寫禁止使用保留字Python命名規范Python命名慣例模塊名:小寫字母,單詞之間用_分割包名:小寫字母,單詞之間用_分割,一般跟模塊同名類名:單詞首字母大
34、寫函數名:普通函數遵守命名規則即可,私有函數以雙下劃線開頭變量名稱:全局變量大寫,普通變量遵守命名規則即可,私有變量良好的命名能提高代碼的可讀性!Python基本語法使用前不需要聲明使用前不需要指定類型沒有被賦值的變量不能存在于代碼中Python變量特點Python變量賦值原理變量里存儲的不是對象的值,而是對象的引用Python基本語法使在Python中,只有模塊、類以及函數才會引入新的作用域,if、for、while等的子句不會引入新的作用域變量的作用域由代碼中被賦值的位置所決定變量搜索遵循LEGB(Local、Enclosing、Global、Built-in)原則Python變量作用域P
35、ython基本語法(數據類型)Python常用數據類型良好的命名能提高代碼的可讀性!Python基本語法(數據類型)Python常用數據類型Python基本語法(數據類型)列表是Python內置的一種數據類型,是一種有序的集合,可以隨時添加和刪除其中的元素,列表中的元素可以為任意的Python對象(個人理解:可編輯的、能裝任意python對象的一種容器)列表(List)列表常用操作L.append(obj) 增加一個元素L.count(obj)統計某個元素在列表中出現的次數L.extend(seq) 擴展列表L.index(obj)從列表中找出某一個值第一次出現的索引位置L.insert(in
36、dex,obj) 將對象插入列表L.remove(obj)移除列表中某個值的第一個匹配項L.reverse () 反向列表中元素L.pop(obj=L-1)移除列表中的一個元素,默認最后一個,并返回該值L.sort (func) 對原列表進行排序Python基本語法(數據類型)元組是Python的內置數據類型,與列表相似,但元組是不可變的(個人理解:不可變的、能裝任意python對象的一種容器)。元組(tuple)不可變的理解不可變是指其指向不可變,換句話說,如果元祖中的元素包含可變元素,那么該元素指向的值是可以改變,但其指向不會改變如右圖演示代碼,元祖s中的列表的值發生改變,但是其所有元素的
37、地址沒有發生變化Python基本語法(數據類型)t.count(value) 返回元祖某個元素出現的次數t.index(value,start,stop) 返回指定值的索引元組的操作注意:定義單個元素的元祖且類型為整型,需要逗號區分(元祖的定義符號與小括號一樣)Python基本語法(數據類型)字符串有2類共4種表示方法由一對單引號或雙引號表示,僅表示單行字符串。例:請輸入帶有符號的溫度值: 或者 C 由一對三單引號或三雙引號表示,可表示多行字符串。例: Python 語言 字符串Python中字符串索引從0開始,一個長度為L的字符串最后一個字符的位置是L-1Python同時允許使用負數。從字符
38、串右邊末尾向左邊進行反向索引,最右側索引值為-1Python基本語法(數據類型)str和unicode Python中表示字符串有2種方式:一種是普通的str對象,一種是unicode字符串,它們之間可以相互轉換,unicode的優勢是可以實現跨平臺decode和encode decode將utf-8等編碼的字符串轉為Unicode;encode是將unicode編碼為utf-8、gbk等Unicode、utf-8、gbk之間的關系 unicode又稱萬國碼,將世界上所有的字符進行編碼,都以2個字節進行表示。 utf-8對不同范圍的字符使用不同長度的編碼,1-4個字節 Unicode是一種編碼
39、標準,具體實現標準可能是utf-8、gbk等字符串的編碼和解碼(針對中文)Python基本語法(數據類型)操作對象 python序列(字符串、列表、元組)切片定義 通過制定下標的方式來獲得某一個數據元素,或者通過指定下標范圍來獲得一組序列的元素,這種訪問序列的方式叫做切片。原型 start:stop:step 即 開始索引:結束索引:步長值,其中start默認值為0、stop默認取到該索引對應的值為止,但不包含該索引對應的值、step的默認值為1切片操作技巧總結 (1)start、stop的值可以為正數也可以為負數,其中正數表示從序列的左邊往右(起始值為0),負數表示從序列的右邊往左(起始值為
40、-1),比如,start=-1,stop=-2分別表示起點為序列的最后一個元素和序列的到時第二個元素。 (2)step的值也可以為正數同時也可以為負數,但不能為0,其中正數表示從start開始往右,負數表示從start開始往左,也就是可將序列進行翻轉,比如,step=-2表示從start開始往左以步值為2取值。另外,當step取默認值時,start:stop:step中的第二個:符號可以省略不寫,即為start:stop。切片操作Python基本語法(數據類型)簡單的說,字典是用大括號包裹的鍵值對的集合,字典是python中唯一的映射類型字典對象是可變的,它是一個容器類型,能存儲任意個數的py
41、thon對象,其中也可包括其他的容器類型。字典(dict)字典的一般形式adict = adict = key1:value1,key2:value2,key n:valuen鍵值對稱為項,鍵與值用冒號(:)分開,項與項用逗號(,)分開,字典中的鍵值必需唯一,而值可以不唯一一個鍵只能對應一個值,而不能對應多個值Python基本語法(數據類型)字典的基本操作1、字典的訪問2、檢查key是否在字典中 adict.has_key(name) 或者 name in adict來判斷key是否存在3、更新字典4、字典的迭代adictkey 形式返回鍵key對應的值value添加數據項 adictnew_
42、key = value更新數據項 adictold_key = new_value刪除數據項 del adictkey 或者adict.pop(key) 會返回value的值adict.iteritems() 可逐個返回元組形式的鍵值對adict.iterkeys() 可逐個返回字典的keyadict.itervalues() 可逐個返回字典的valuePython基本語法(函數)python中函數由保留字 def 來定義,不需要定義類型,如有參數也不需要定義參數類型: 一般情況下,函數需要包括函數名、參數、函數體三部分。在Python中函數名存儲該函數入口的地址,()表示調用函數,換句話說,
43、函數名是可以作為參數傳遞的。函數如何定義函數的參數默認參數 是指函數的參數已經指定了一個值,如果調用時不指定新的值,就傳遞該默認值。當有多個連續的默認值時,如果要給非第一個默認參數指定一個新的值,需要帶上參數的名稱,如test1()可變參數 是指函數的參數個數不定(可以為0個),由帶*和*表示,該參數只能放在函數參數列表的最后一個。Python基本語法if、if-else、while語句not、not in、is、is not、and、or具有python特色的判斷語句is 和 =的區別is檢查2個對象是否是同一個對象,=檢查他們是否相等語法if expression: else: while
44、 expression: break 跳出循壞continue 跳出當前循環,不再執行后面的語句pass 不做任何處理 Python基本語法for語句語法 for iter_var in iterable: 1、iterable 必需具有迭代功能,通過迭代對象的next函數逐個將iterable中所有的值傳遞給iter。2、iter每取一個值就執行一次循環體。列表推導式 1、列表推導式是利用其它列表創建新的列表的一種方式,它的工作方式類似于for循環。2、語法格式 expr for value in c if condition列表推導式的優勢:簡潔、優雅!Python基本語法(類)類的定義及
45、基本結構類屬性帶單下劃線(_)和雙下劃線(_)Class 類名(Object): “類的說明文檔” 屬性 初始方法 _init_ 其它方法1、沒有構造函數,初始方法只是在實例化對象時會執行的方法。2、初始化方法不是必需的。3、類的所有方法需要帶上self參數。1、帶單下劃線的屬性表示私有的,但是在內部和外部都可以調用,相當于一種約定,靠大家自行遵守,盡量不在外部調用,不能通過from * import _*調用。2、帶雙下劃線的屬性一般情況下只能內部使用,外部不能調用,子類也不能調用。但通過特殊的語法也可以調用,原則上不用。self 并不是關鍵詞,可用其它單詞代替,其代表類實例對象本身,不是類
46、本身。原理:類MyClass,類的實例myobject調用一個方法myobject.Method(arg1),python會自動轉為MyClass.Method(myobject,arg1)Python類的特點Python基本語法(類)類的繼承Class 類名(父類1,父類2,): “類的說明文檔” 屬性 def _init_(self) 父類1._init_(self)父類2._init_(self) 其它方法如果父類定義了_init_方法,子類必需顯示調用父類的初始化方法單繼承屬性搜索順序1、先在子類中查找2、如子類中不存在,則去父類(基類)中查找3、如基類中也不存在則報錯Python基本
47、語法(類)類的屬性和實例的屬性模塊的導入if _name_=_main_作用1、類的屬性和實例的屬性是2個不一樣的概念。2、一般情況下,類具有的屬性,那么它的實例也具有該屬性。3、實例的一些屬性,其對應的類不一定擁有該屬性。1、import2、from import3、import as4、from import as人工智能之深度學習機器學習分類第一節 函數第二節 超參數第三節目錄 content第四節 驗證機器學習分類第一節機器學習的定義機器學習的發展歷史機器學習的常見算法流行的開源機器學習框架機器學習的定義在維基百科上,對機器學習提出以下幾種定義:“機器學習是一門人工智能的科學,該領域的
48、主要研究對象是人工智能,特別是如何在經驗學習中改善具體算法的性能”;“機器學習是對能通過經驗自動改進的計算機算法的研究”;“機器學習是用數據或以往的經驗,以此優化計算機程序的性能標準”。機器學習的定義三個關鍵詞:算法、經驗、性能 機器學習是數據通過算法構建出模型并對模型進行評估,評估的性能如果達到要求就拿這個模型來測試其他的數據,如果達不到要求就調整算法來重新建立模型,再次進行評估,如此循環往復,最終獲得滿意的經驗來處理其他的數據。機器學習的發展歷史機器學習是人工智能應用研究比較重要的分支,它的發展過程大體上可分為4個階段:第一階段是在50年代中葉到60年代中葉,屬于熱烈時期;第二階段在60年
49、代中葉至70年代中葉,被稱為機器學習的冷靜時期;第三階段從70年代中葉至80年代中葉,稱為復興時期;機器學習的最新階段始于1986年。一方面,由于神經網絡研究的重新興起,另一方面,對實驗研究和應用研究得到前所未有的重視。我國的機器學習研究開始進入穩步發展和逐漸繁榮的新時期。機器學習的發展現狀在搜索引擎方面Google的成功,使得Internet搜索引擎成為新興產業。機器學習技術正在支撐著各類搜索引擎;DARPA(美國國防先進研究項目局)于2003年開始啟動5年期PAL計劃,這是一個以機器學習為核心的計劃(涉及到AI的其他分支,如知識表示和推理、自然語言處理等);汽車自動駕駛。機器學習的主要任務
50、是從立體視覺中學習如何行駛,根據觀察人類的駕駛行為記錄各種圖像和操縱指令,并將它們進行正確分類;在對天文物體進行分類、計算機系統性能預測、信用卡盜用檢測、郵政服務屬性識別、網絡文檔自動分類等方面,機器學習也在快速發展壯大。機器學習的分類監督學習無監督學習半監督學習強化學習機器學習的分類監督學習監督學習是從給定的訓練數據集中學習一個函數(模型),當新的數據到來時,可以根據這個函數(模型)預測結果;在監督式學習下,輸入數據被稱為“訓練數據”,每組訓練數據有一個明確的標識或結果,如,對防垃圾郵件系統中“垃圾郵件”、“非垃圾郵件”;在建立模型時,監督式學習建立一個學習過程,將預測結果與“測試數據”的實
51、際結果進行比較,不斷調整預測模型,直到模型的預測結果達到一個預期的準確率。常見的監督學習算法包括回歸分析和統計分類。機器學習的分類無監督學習在無監督式學習中,數據并不被特別標識,學習模型是為了推斷出數據的一些內在結構;常見的應用場景包括關聯規則的學習以及聚類等。常見算法包括Apriori算法和k-Means算法。監督學習和無監督學習的區別:訓練集目標是否被標注。他們都有訓練集,且都有輸入和輸出。機器學習的分類強化學習強化學習通過觀察來學習動作的完成,每個動作都會對環境有所影響,學習對象根據觀察到的周圍環境的反饋來做出判斷;在強化學習下,輸入數據直接反饋到模型,模型必須對此立刻做出調整;常見的應
52、用場景包括動態系統以及機器人控制等。常見算法包括Q-Learning 以及時間差學習(Temporal difference learning)。機器學習的分類總結在企業數據應用的場景下,人們最常用的可能就是監督式學習和無監督式學習的模型。在圖像識別等領域,由于存在大量的非標識的數據和少量的可標識數據,目前半監督式學習是一個很熱的話題。強化學習更多地應用在機器人控制及其他需要進行系統控制的領域。機器學習的常見算法回歸算法(監督學習)神經網絡(監督學習)SVM支持向量機(監督學習)聚類算法(無監督學習)降維算法(無監督學習)推薦算法(特殊)其他算法機器學習的常見算法回歸算法回歸算法有兩個重要的子
53、類:即線性回歸和邏輯回歸;線性回歸就是如何擬合出一條直線最佳匹配所有的數據,邏輯回歸是一種與線性回歸非常類似的算法;線性回歸處理的問題類型與邏輯回歸不一致:線性回歸處理的是數值問題,也就是最后預測出的結果是數字,例如房價。邏輯回歸屬于分類算法,也就是說,邏輯回歸預測結果是離散的分類,例如判斷這封郵件是否是垃圾郵件,以及用戶是否會點擊此廣告等等。機器學習的常見算法回歸算法假設有一組腫瘤患者的數據,這些患者的腫瘤中有些是良性的(圖中的藍色點),有些是惡性的(圖中的紅色點)。這里腫瘤的紅藍色可以被稱作數據的“標簽”。同時每個數據包括兩個“特征”:患者的年齡與腫瘤的大小。我們將這兩個特征與標簽映射到這
54、個二維空間上,形成了上圖的數據。當有一個綠色的點時,該判斷這個腫瘤是惡性的還是良性的呢?根據紅藍點我們訓練出了一個邏輯回歸模型,也就是圖中的分類線。這時,根據綠點出現在分類線的左側,因此我們判斷它的標簽應該是紅色,也就是說屬于惡性腫瘤。邏輯回歸算法劃出的分類線基本都是線性的(也有劃出非線性分類線的邏輯回歸,不過那樣的模型在處理數據量較大的時候效率會很低),這意味著當兩類之間的界線不是線性時,邏輯回歸的表達能力就不足。機器學習的常見算法神經網絡神經網絡(也稱之為人工神經網絡,ANN)的誕生起源于對大腦工作機理的研究。早期生物界學者們使用神經網絡來模擬大腦,后來,機器學習的學者們使用神經網絡進行機
55、器學習的實驗,發現在視覺與語音的識別上效果都相當好。神經網絡算法是80年代機器學習界非常流行的算法。不過,進入90年代,神經網絡的發展進入了一個瓶頸期。其主要原因是神經網絡的訓練過程很困難。現在,攜著“深度學習”之勢,神經網絡重裝歸來,重新成為最強大的機器學習算法之一。機器學習的常見算法神經網絡比方說,一個正方形,分解為四個折線進入視覺處理的下一層中。四個神經元分別處理一個折線。每個折線再繼續被分解為兩條直線,每條直線再被分解為黑白兩個面。于是,一個復雜的圖像變成了大量的細節進入神經元,神經元處理以后再進行整合,最后得出了看到的是正方形的結論。這就是大腦視覺識別的機理,也是神經網絡工作的機理。
56、機器學習的常見算法SVM支持向量機SVM算法是誕生于統計學習界,同時在機器學習界大放光彩的經典算法。從某種意義上來說,支持向量機算法是邏輯回歸算法的強化:通過給予邏輯回歸算法更嚴格的優化條件,支持向量機算法可以獲得比邏輯回歸更好的分類界線。支持向量機是一種數學成分很濃的機器學習算法(相對的,神經網絡則有生物科學成分)。通過支持向量機算法,既可以保持計算效率,又可以獲得非常好的分類效果。因此支持向量機在90年代后期一直占據著機器學習中最核心的地位,基本取代了神經網絡算法。直到現在神經網絡借著深度學習重新興起,兩者之間才又發生了微妙的平衡轉變。機器學習的常見算法SVN支持向量機通過跟高斯函數的結合
57、,支持向量機可以表達出非常復雜的分類界線,從而達成很好的分類效果。比如,可以將低維的空間映射到高維的空間。如何在二維平面劃分出一個圓形的分類界線?在二維平面可能會很困難,但是通過高斯函數可以將二維空間映射到三維空間,然后使用一個線性平面就可以達成類似效果。機器學習的常見算法聚類算法聚類算法是無監督學習算法中最典型的代表。聚類算法就是計算種群中的距離,根據距離的遠近將數據劃分為多個族群。聚類算法中最典型的代表就是K-Means算法。機器學習的常見算法降維算法降維算法也是一種無監督學習算法,主要特征是將數據從高維降低到低維。維度表示數據的特征量的大小。例如,房價包含房子的長、寬、面積與房間數量四個
58、特征,也就是維度為4維的數據。可以看出來,長與寬事實上與面積表示的信息重疊了,例如面積=長 寬。通過降維算法,可以去除冗余信息,將特征減少為面積與房間數量兩個特征,即從4維的數據壓縮到2維。這樣,不僅利于表示,同時提高計算的性能。降維算法的主要作用是壓縮數據與提升機器學習的效率。通過降維算法,可以將具有幾千個特征的數據壓縮至若干個特征。另外,降維算法的另一個好處是數據的可視化,例如將5維的數據壓縮至2維,然后可以用二維平面來可視。降維算法的主要代表是PCA算法(即主成分分析算法)。機器學習的常見算法推薦算法推薦算法是目前業界非常火的一種算法,如亞馬遜,天貓,京東等都在廣泛地運用。推薦算法的主要
59、特征就是可以自動向用戶推薦他們最感興趣的東西,從而增加購買率,提升效益。機器學習的常見算法推薦算法推薦算法有兩個主要的類別:一類是基于物品內容的推薦,是將與用戶購買的內容近似的物品推薦給用戶,這樣的前提是每個物品都得有若干個標簽,因此才可以找出與用戶購買物品類似的物品,這樣推薦的好處是關聯程度較大。另一類是基于用戶相似度的推薦,則是將與目標用戶興趣(注:用戶畫像)相同的其他用戶購買的東西推薦給目標用戶,例如小A歷史上買了物品B和C,經過算法分析,發現另一個與小A近似的用戶小D購買了物品E,于是將物品E推薦給小A。兩類推薦都有各自的優缺點,在一般的電商應用中,一般是兩類混合使用。推薦算法中最有名
60、的算法就是協同過濾算法。機器學習的常見算法其他算法除了以上算法之外,機器學習界還有其他的如高斯判別,樸素貝葉斯,決策樹等等算法。但是上面列的六個算法是使用最多,影響最廣,種類最全的典型。機器學習界的一個特色就是算法眾多,發展百花齊放。除了這些算法以外,有一些算法的名字在機器學習領域中也經常出現。但他們本身并不算是一個機器學習算法,而是為了解決某個子問題而誕生的。可以理解他們為以上算法的子算法,用于大幅度提高訓練過程。其中的代表有:梯度下降法,主要運用在線性回歸,邏輯回歸,神經網絡,推薦算法中;牛頓法,主要運用在線性回歸中;BP算法,主要運用在神經網絡中;SMO算法,主要運用在SVM中。機器學習
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 人教PEP五年級上冊英語學期教學計劃
- 冬季瀝青路面灌縫施工工藝流程
- 高校學生學業管理中存在的問題及措施
- 高標準基本農田信息采集監理工作重點及措施
- 民用機場交通道路施工進度措施
- 小學六年級英語下冊期末復習計劃
- 醫院藥品存儲遴選制度流程
- 農場動物疫病應急預案演練計劃
- 以平衡活動教學法賦能高中英語語法教學:理論、實踐與成效探究
- 以家風家教之基鑄青少年道德之魂:影響、困境與重塑路徑
- 課題申報書:基于核心素養發展理念的小學數學跨學科主題學習設計的策略研究
- 模聯面試題及答案
- 上海市楊浦區2025屆高三語文一模質量調研試卷(含答案)
- 貴州省遵義市2024年八年級《數學》上學期期末試題與參考答案
- 隔壁拆房相鄰協議書
- GB/T 320-2025工業用合成鹽酸
- 2025(人教版)小升初數學總復習 知識點總結+專項練習(含答案)
- 山東省青島市青島2025年第五十八中學一模數學試題含答案
- 老年人誤吸的預防團體標準
- 2025年湖北恩施州檢察機關招聘雇員制檢察輔助人員40人歷年高頻重點模擬試卷提升(共500題附帶答案詳解)
- 可再生資源回收利用項目合作協議
評論
0/150
提交評論