機器學習:使用OpenCV和Python進行智能圖像處理 ( 簡體 字) |
作者:[美]邁克爾·貝耶勒(Michael Beyeler) | 類別:1. -> 程式設計 -> 機器學習 2. -> 教材 -> 數位影像處理 3. -> 程式設計 -> Python |
譯者: |
出版社:機械工業出版社 | 3dWoo書號: 50217 詢問書籍請說出此書號!【缺書】 NT售價: 345 元 |
出版日:11/13/2018 |
頁數:251 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787111611516 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:本書是一本基于OpenCV和Python的機器學習實戰手冊,既詳細介紹機器學習及OpenCV相關的基礎知識,又通過具體實例展示如何使用OpenCV和Python實現各種機器學習算法,并提供大量示列代碼,可以幫助你掌握機器學習實用技巧,解決各種不同的機器學習和圖像處理問題。
全書共12章,第1章簡要介紹機器學習基礎知識,并講解如何安裝OpenCV和Python工具;第2章展示經典的機器學習處理流程及OpenCV和Python工具的使用;第3章討論監督學習算法,以及如何使用OpenCV實現這些算法;第4章討論數據表示和特征工程,并介紹OpenCV中提供的用于處理圖像數據的常見特征提取技術;第5章展示如何使用OpenCV構建決策樹進行醫療診斷;第6章討論如何使用OpenCV構建支持向量機檢測行人;第7章介紹概率論,并展示如何使用貝葉斯學習實現垃圾郵件過濾;第8章討論一些非監督學習算法;第9章詳細講解如何構建深度神經網絡來識別手寫數字;第10章討論如何高效地集成多個算法來提升性能;第11章討論如何比較不同分類器的結果,選擇合適的工具;第12章給出一些處理實際機器學習問題的提示和技巧。 |
目錄:譯者序 序 前言 審校者簡介 第1章 品味機器學習 1 1.1 初步了解機器學習 1 1.2 機器學習可以解決的事情 3 1.3 初步了解 Python 4 1.4 初步了解 OpenCV 4 1.5 安裝 5 1.5.1 獲取本書最新的代碼 5 1.5.2 掌握 Python Anaconda 6 1.5.3 在 conda 環境中安裝OpenCV 8 1.5.4 驗證安裝結果 9 1.5.5 一睹 OpenCV ML 模塊 11 1.6 總結 11 第2章 使用 OpenCV 和 Python處理數據 12 2.1 理解機器學習流程 12 2.2 使用 OpenCV 和 Python 處理數據 14 2.2.1 創建一個新的 IPython 或 Jupyter 會話 15 2.2.2 使用 Python 的 NumPy包處理數據 16 2.2.3 在 Python 中載入外部數據集 20 2.2.4 使用 Matplotlib 進行數據可視化 21 2.2.5 使用C++ 中 OpenCV 的 TrainData 容器處理數據 26 2.3 總結 27 第3章 監督學習的第一步 28 3.1 理解監督學習 28 3.1.1 了解 OpenCV 中的監督學習 29 3.1.2 使用評分函數評估模型性能 30 3.2 使用分類模型預測類別 35 3.2.1 理解 k-NN 算法 37 3.2.2 使用 OpenCV實現 k-NN 37 3.3 使用回歸模型預測連續結果 43 3.3.1 理解線性回歸 43 3.3.2 使用線性回歸預測波士頓房價 44 3.3.3 應用 Lasso 回歸和ridge 回歸 48 3.4 使用邏輯回歸對鳶尾花種類進行分類 48 3.5 總結 53 第4 數據表示與特征工程 54 4.1 理解特征工程 54 4.2 數據預處理 55 4.2.1 特征標準化 56 4.2.2 特征歸一化 57 4.2.3 特征縮放到一定的范圍 57 4.2.4 特征二值化 58 4.2.5 缺失數據處理 58 4.3 理解降維 59 4.3.1 在OpenCV 中實現主成分分析 61 4.3.2 實現獨立成分分析 64 4.3.3 實現非負矩陣分解 65 4.4 類別變量表示 66 4.5 文本特征表示 68 4.6 圖像表示 69 4.6.1 使用色彩空間 69 4.6.2 圖像角點檢測 71 4.6.3 使用尺度不變特征變換 72 4.6.4 使用加速健壯特征 74 4.7 總結 75 第5章 使用決策樹進行醫療診斷 76 5.1 理解決策樹 76 5.1.1 構建第一個決策樹 79 5.1.2 可視化訓練得到的決策樹 85 5.1.3 深入了解決策樹的內部工作機制 87 5.1.4 特征重要性評分 88 5.1.5 理解決策規則 89 5.1.6 控制決策樹的復雜度 90 5.2 使用決策樹進行乳腺癌的診斷 90 5.2.1 載入數據集 91 5.2.2 構建決策樹 92 5.3 使用決策樹進行回歸 96 5.4 總結 99 第6章 使用支持向量機檢測行人 100 6.1 理解線性支持向量機 100 6.1.1 學習最優決策邊界 101 6.1.2 實現我們的第一個支持向量機 102 6.2 處理非線性決策邊界 107 6.2.1 理解核機制 108 6.2.2 認識我們的核 109 6.2.3 實現非線性支持向量機 109 6.3 自然環境下的行人檢測 110 6.3.1 獲取數據集 111 6.3.2 初窺方向梯度直方圖 113 6.3.3 生成負樣本 114 6.3.4 實現支持向量機 116 6.3.5 模型自舉 116 6.3.6 在更大的圖像中檢測行人 118 6.3.7 進一步優化模型 120 6.4 總結 121 第7章 使用貝葉斯學習實現垃圾郵件過濾 122 7.1 理解貝葉斯推斷 122 7.1.1 概率論的短暫之旅 123 7.1.2 理解貝葉斯定理 124 7.1.3 理解樸素貝葉斯分類器 126 7.2 實現第一個貝葉斯分類器 127 7.2.1 創建一個練習數據集 127 7.2.2 使用一個正態貝葉斯分類器對數據分類 128 7.2.3 使用一個樸素貝葉斯分類器對數據分類 131 7.2.4 條件概率的可視化 132 7.3 使用樸素貝葉斯分類器對郵件分類 134 7.3.1 載入數據集 134 7.3.2 使用Pandas構建數據矩陣 136 7.3.3 數據預處理 137 7.3.4 訓練正態貝葉斯分類器 138 7.3.5 使用完整的數據集進行訓練 139 7.3.6 使用n-gram提升結果 139 7.3.7 使用TD-IDF提升結果 140 7.4 總結 141 第8章 使用非監督學習發現隱藏結構 142 8.1 理解非監督學習 142 8.2 理解k均值聚類 143 8.3 理解期望最大化 145 8.3.1 實現期望最大化解決方案 146 8.3.2 了解期望最大化的局限 148 8.4 使用k均值壓縮色彩空間 154 8.4.1 真彩色調色板的可視化 154 8.4.2 使用k均值減少調色板 157 8.5 使用k均值對手寫數字分類 159 8.5.1 載入數據集 159 8.5.2 運行k均值 159 8.6 把聚類組織成層次樹 161 8.6.1 理解層次聚類 161 8.6.2 實現凝聚層次聚類 162 8.7 總結 163 第9章 使用深度學習對手寫數字分類 164 9.1 理解McCulloch-Pitts神經元 164 9.2 理解感知器 167 9.3 實現第一個感知器 169 9.3.1 生成練習數據集 170 9.3.2 使用數據擬合感知器 171 9.3.3 評估感知器分類器 171 9.3.4 把感知器應用到線性不可分的數據上 173 9.4 理解多層感知器 174 9.4.1 理解梯度下降 175 9.4.2 使用反向傳播訓練多層感知器 178 9.4.3 在OpenCV中實現多層感知器 179 9.5 了解深度學習 183 9.6 手寫數字分類 186 9.6.1 載入MNIST數據集 187 9.6.2 MNIST數據集預處理 188 9.6.3 使用OpenCV訓練一個MLP 189 9.6.4 使用Keras訓練一個深度神經網絡 190 9.7 總結 192 第10章 組合不同算法為一個整體 193 10.1 理解集成方法 193 10.1.1 理解平均集成 195 10.1.2 理解提升集成 197 10.1.3 理解堆疊集成 200 10.2 組合決策樹為隨機森林 200 10.2.1 理解決策樹的不足 200 10.2.2 實現第一個隨機森林 204 10.2.3 使用scikit-learn實現一個隨機森林 205 10.2.4 實現極端隨機樹 206 10.3 使用隨機森林進行人臉識別 208 10.3.1 載入數據集 208 10.3.2 預處理數據集 209 10.3.3 訓練和測試隨機森林 210 10.4 實現AdaBoost 212 10.4.1 使用OpenCV實現AdaBoost 212 10.4.2 使用scikit-learn實現AdaBoost 213 10.5 組合不同模型為一個投票分類器 214 10.5.1 理解不同的投票機制 214 10.5.2 實現一個投票分類器 215 10.6 總結 217 第11章 通過超參數調優選擇合適的模型 218 11.1 評估一個模型 218 11.1.1 評估模型錯誤的方法 219 11.1.2 評估模型正確的方法 220 11.1.3 選擇最好的模型 221 11.2 理解交叉驗證 223 11.2.1 使用OpenCV手動實現交叉驗證 225 11.2.2 使用scikit-learn進行k折交叉驗證 226 11.2.3 實現留一法交叉驗證 227 11.3 使用自舉評估魯棒性 228 11.4 評估結果的重要性 230 11.4.1 實現T檢驗 230 11.4.2 實現配對卡方檢驗 232 11.5 使用網格搜索進行超參數調優 233 11.5.1 實現一個簡單的網格搜索 234 11.5.2 理解驗證集的價值 235 11.5.3 網格搜索結合交叉驗證 236 11.5.4 網格搜索結合嵌套交叉驗證 238 11.6 使用不同評估指標來對模型評分 239 11.6.1 選擇正確的分類指標 239 11.6.2 選擇正確的回歸指標 240 11.7 鏈接算法形成一個管道 240 11.7.1 用 scikit-learn 實現管道 241 11.7.2 在網格搜索中使用管道 242 11.8 總結 243 第12章 綜合 244 12.1 著手處理一個機器學習問題 244 12.2 構建自己的估計器 245 12.2.1 使用C++編寫自己的基于OpenCV的分類器 245 12.2.2 使用Python 編寫自己的基于scikit-learn的分類器 247 12.3 今后的方向 249 12.4 總結 251 |
序: |