內容大鋼
本書全面講述了Python的基礎知識和相關開發技術。全書分為三部分。共10章。第一部分為基礎篇(第1?5章),介紹Python的起源和發展、開發工具、語法基礎、控制結構、複合數據結構、函數、科學計算庫NumPy以及繪圖工具Matplotlib等內容;第二部分為提高篇(第6?7章),深入講解了機器學習典型演算法、神經網路典型演算法以及它們的Python開發實現過程;第三部分為高級篇(第8?10章),主要介紹了圖像識別和人臉識別的原理方法以及它們的Python開發實現過程。
本書以人工智慧中的機器學習和深度學習為載體,突出Python開發技術的實際應用。在編寫體例上,以問題為導向,注重知行合一,按照由簡到難、由淺入深、螺旋上升的方式設置學習內容,引導讀者循序漸進地掌握基本原理方法,並熟練運用Python。
本書可作為人工智慧、機器學習、人臉識別等應用領域工程技術人員的參考手冊,也可作為大中專院校人工智慧、大數據科學與技術、自動化、機器人工程、智能儀器儀錶、機電一體化等專業及社會培訓班有關Python課程的培訓教材。
目錄
序
前言
基礎篇
第1章 初識Python
1.1 源碼世界的來源
1.2 探索Python的起源
1.2.1 繪製Python發展歷程圖
1.2.2 訓練1:Python語言來歷
1.2.3 訓練2:探索:Python優勢
1.2.4 訓練3:區分:Python 2與Python 3
1.3 感知Python的特點
1.3.1 Python思維導圖
1.3.2 訓練1:比較「自然語言」與「編程語言」
1.3.3 訓練2:探討編譯型和解釋型語言
1.3.4 訓練3:剖析Python的缺點
1.4 搭建Python的運行環境之海龜編輯器
1.4.1 關於海龜編譯器知識
1.4.2 訓練1:初探海龜編輯器
1.4.3 訓練2:嘗試第一個海龜小程序
1.4.4 訓練3:查找編譯問題
1.5 搭建Python的運行環境之PyCharm
1.5.1 下載PyCharm
1.5.2 訓練1:進入PyCharm的新世界
1.5.3 訓練2:倉4建PyCharm小項目
1.5.4 訓練3:查找PyCharm程序問題
1.5.5 訓練4:在Mac系統安裝PyCharm
第2章 變數與數據
2.1 變數魔法
2.1.1 變數相關知識
2.1.2 訓練1:加法大作戰
2.1.3 訓練2:修改程序錯誤
2.1.4 訓練3:數據的神奇調換
2.2 數和字元串
2.2.1 數據類型
2.2.2 訓練1:初識數字
2.2.3 訓練2:初識字元串
2.2.4 訓練3:happy birthday
2.3 圖書館的神秘之書
2.3.1 佔位符和轉義字元
2.3.2 訓練1:計算BMI
2.3.3 訓練2:初識佔位符
2.3.4 訓練3:阿短的進步之旅
第3章 認識序列
3.1 list召喚編程貓家族
3.1.1 列表
3.1.2 訓練1:簡單操作列表
3.1.3 訓練2:元素的增刪
3.1.4 訓練3:組織列表
3.2 源碼世界的元組與字典
3.2.1 元組與字典
3.2.2 訓練1:操作元組
3.2.3 訓練2:建立字典
3.2.4 訓練3:使用字典
3.2.5 訓練4:遍歷字典
3.2.6 訓練5:嵌套
第4章 條件與循環
4.1 條件判斷
4.1.1 條件語句
4.1.2 訓練1:尋找編號為偶數的聚餐人員
4.1.3 訓練2:判斷生涯階段
4.1.4 訓練3:挑選食物愛好
4.2 循環語句
4.2.1 Python的循環語句
4.2.2 訓練1:列寫編程貓家族的成員名單
4.2.3 訓練2:判斷最大值
4.2.4 訓練3:協助阿短尋找偶數
4.3 運算符
4.3.1 運算符的應用
4.3.2 訓練1:核算購物的花費
4.3.3 訓練2:比較食物的價格
4.3.4 訓練3:篩選參宴的客人
第5章 函數與模塊
5.1 Python函數
5.1.1 函數的基本知識
5.1.2 訓練1:在晚宴上唱一首歌曲
5.1.3 訓練2:進一步完善程序
5.1.4 訓練3:向阿短的朋友們介紹編程貓
5.1.5 訓練4:另一種介紹編程貓的方法
5.2 Python模塊
5.2.1 返回值與函數的基本應用
5.2.2 訓練1:編程貓的姓與名
5.2.3 訓練2:分配糖果
5.2.4 訓練3:晚宴上的菜品
5.2.5 訓練4:製作蛋糕
5.3 NumPy庫函數
5.3.1 NumPy庫
5.3.2 訓練1:計算數學函數
5.3.3 訓練2:計算算術函數
5.3.4 訓練3:調用統計函數
5.3.5 訓練4:對數組進行切片處理
5.3.6 訓練5:使用NumPy進行排序
5.3.7 訓練6:用NumPy計算矩陣
5.3.8 訓練7:用NumPy計算線性代數
5.4 Matplotlib庫函數
5.4.1 Matplotlib函數庫
5.4.2 訓練1:繪製正弦波
5.4.3 訓練2:同時繪製正弦和餘弦值
5.4.4 訓練3:繪製條形圖
5.4.5 訓練4:繪製點狀圖
5.4.6 訓練5:直接將數字轉換為圖形
5.4.7 訓練6:調用figure畫圖
5.4.8 訓練7:設置圖像的坐標軸
5.4.9 訓練8:繪製餅狀
提高篇
第6章 機器學習
6.1 機器學習認知
6.1.1 機器學習相關概念
6.1.2 訓練1:安裝Python機器學習常用庫
6.1.3 訓練2:繪製方程y=2x+5
6.2 KNN演算法研習及應用
6.2.1 KNN演算法要點
6.2.2 訓練1:電影分類
6.2.3 訓練2:鳶尾花數據分類
6.2.4 訓練3:手寫數字識別
6.3 決策樹與隨機森林分析應用
6.3.1 關於決策樹和隨機森林的相關概念
6.3.2 訓練1:決策樹可視化
6.3.3 訓練2:鳶尾花分類實驗
6.3.4 訓練3:決策樹與隨機森林比較實驗
6.4 線性回歸
6.4.1 代價函數和梯度下降法
6.4.2 訓練1:梯度下降法:一元線性回歸
6.4.3 訓練2:梯度下降法:多元線性回歸
6.4.4 訓練3:sklearn:多項式回歸
第7章 神經網路
7.1 神經網路基礎
7.1.1 神經元與感知器
7.1.2 訓練1:Python實現單層感知器
7.1.3 訓練2:感知器題目實戰
7.1.4 訓練3:單層感知器解決異或問題
7.2 多層感知器
7.2.1 BP神繹網路
7.2.2 訓練1:利用Python實現簡單的三層BP神經網路
7.2.3 訓練2:利用BP神經網路實現異或問題
7.2.4 訓練3:利用TensorFlow實現BP神經網路
7.3 卷積神經網路
7.3.1 TensorFlow卷積神經網路平台搭建
7.3.2 訓練1:MNIsT手寫數字識別
7.3.3 訓練2:基於CNN的MNIST手寫數字識別
高級篇
第8章 圖像處理
8.1 圖像處理基礎
8.1.1 圖像的基本知識
8.1.2 訓練1:幫助編程貓處理像素
8.1.3 訓練2:教阿短獲取圖像屬性
8.1.4 訓練3:感興趣區域ROI的提取
8.1.5 訓練4:通道的拆分與合併
8.2 圖像的運算
8.2.1 圖像的運算和幾何變換
8.2.2 訓練1:幫助阿短實現圖像融合
8.2.3 訓練2:教會阿短圖像縮放
8.2.4 訓練3:一起學習圖像翻轉
8.2.5 訓練4:閾值分割的最終實現
第9章 人臉初識
9.1 基於級聯分類器的人臉探測
9.1.1 級聯分類器
9.1.2 訓練1:靜態圖片的人臉檢測
9.1.3 訓練2:靜態圖片的表情識別
9.2 基於LBPH的人臉識別
9.2.1 LBPH演算法
9.2.2 訓練:LBPH人臉識別
9.3 視頻處理
9.3.1 視頻處理函數
9.3.2 訓練1:視頻流人臉檢測
9.3.3 訓練2:視頻流人臉識別
第10章 人臉識別
10.1 基於HOG人臉探測演算法
10.1.1 HOG(方向梯度直方圖)
&nb