配套代碼及彩色圖表獲取方式:
1、微信關注“華章計算機”
2、在後台回復關鍵詞:68137
本書是使用Python進行機器學習和深度學習的全面指南。它既可以用作清晰的分步教程,也可以作為構建機器學習系統時常用的參考手冊。本書包含清晰的解釋、圖表和工作示例,全面深入地介紹了機器學習的基本技術,並且給出了機器學習背後的原理,使你可以自己建立模型和應用程序。第3版結合TensorFlow 2和scikit-learn的新版本進行了更新,涵蓋強化學習和生成對抗網絡(GAN)這兩種先進的機器學習技術。
機器學習將改變你解決問題的思路,並讓你看到如何釋放數據的力量來解決問題。無論你是Python機器學習的初學者還是想加深自己對前沿發展的了解,本書都是你不可或缺的好幫手。
本書第3版結合Tensor Flow2和scikit-learn的最新版本進行了更新,其範圍進行了擴展,以涵蓋強化學習和生成對抗網絡(GAN)這兩種最先進的機器學習技術。與同類書相比,本書除了介紹如何用Python和基於Python的機器學習軟件庫進行實踐外,還討論了機器學習概念的必要細節,同時對機器學習算法的工作原理、使用方法以及如何避免掉入常見的陷阱提供了直觀且翔實的解釋,是Python機器學習入門必讀之作。書中涵蓋了眾多高效Python庫,包括scikit-learn、Keras和TensorFlow等,系統性地梳理和分析了各種經典算法,並通過Python語言以具體代碼示例的方式深入淺出地介紹了各種算法的應用,還給出了從情感分析到神經網絡的一些實踐技巧,這些內容能使讀者快速解決自己和團隊面臨的一些重要問題。
塞巴斯蒂安·拉施卡(Sebastian Raschka)
威斯康星大學麥迪遜分校統計學副教授,專注於機器學習和深度學習研究。他擁有密歇根州立大學的博士學位,在計算生物學領域提出了幾種新的計算方法,曾被科技博客Analytics Vidhya評為GitHub上極具影響力的數據科學家之一。他在Python編程方面擁有多年經驗,同時還多次參加數據科學應用與機器學習領域的研討會。
瓦希德·米爾賈利利(Vahid Mirjalili)
擁有密歇根州立大學機械工程博士學位,從事大規模分子結構計算模擬方法的研究。他曾加入密歇根州立大學的iPRoBe實驗室,致力於把機器學習應用到計算機視覺和生物統計學領域。之後,他加入3M,利用自己的經驗,把新的機器學習和深度學習技術應用於解決各種實際問題。
◆ 譯者簡介 ◆
陳斌(Chuck Chen)
NETSTARS首席技術官。 1989年獲得吉林大學碩士學位;1992年任新加坡航空公司高級系統分析師;1999年投身於矽谷互聯網技術發展浪潮,曾任日立美國系統集成總監、Abacus首席架構師和Nokia美國首席工程師;2008年任eBay資深架構師,負責移動應用的架構設計;2014年出任易寶支付首席技術官;2016年開始擔任CTO聯盟聯席主席、互聯網技術百人會理事長。豐富的海外經歷,多年的架構經驗,深諳移動互聯網對傳統行業的影響;2020年投身NETSTARS,擔任CTO,全力推動移動互聯網技術,引領行業的變革。
“《Python機器學習(原書第3版)》是一本非常有用的書,對於機器學習初學者和有經驗的讀者,通過實例、Python代碼和大量關於高級問題的參考文獻,全面而係統地闡釋了機器學習的理論和實踐。”
——Alex Martelli, Python軟件基金會會士, Python Cookbook and Python in a Nutshell的合著者
“ 這本書是Python機器學習入門教程。Raschka和Mirjalili將困難的概念分解成外行人可以很容易理解的語言,同時將這些例子放在現實世界的上下文中。本書是對你機器學習庫的有益補充! ”
——Kirk Borne博士, Booz Allen Hamilton首席數據科學家和執行顧問,Ten Signs of Data Science Maturity合著者
“ 《Python機器學習(原書第3版)》是一本非常實用並易於上手實踐的書,從理論到實踐,對機器學習領域進行了全面介紹。對於任何希望成為機器學習專家的從業者,我強烈推薦這本書。這是一本非常優秀的書!”
——Sebastian Thrun, Kitty Hawk公司CEO, Udacity的董事長和聯合創始人
“過去幾年,我一直在約翰·霍普金斯大學凱瑞商學院(Johns Hopkins Carey Business School)教授‘大數據機器學習人工智能’(Big Data Machine Learning AI),從那時起就開始使用Sebastian Raschka和Vahid Mirjalili撰寫的這本書。我給他們的新版打了滿分,因為它讓機器學習易於理解。這本書是向初學者講授令人驚嘆的人工智能藝術的必備圖書,我強烈推薦!"
——Jim Kyung-Soo Liew博士, 約翰霍普金斯大學凱瑞商學院副教授
譯者序
人工智能的研究從20世紀40年代就已經開始,在近80年的發展中經歷了數次大起大落。自從2016年AlphaGo戰勝頂尖的人類圍棋選手之後,人工智能再一次進入人們的視野,成為當今的熱門話題。各大互聯網公司都投入了大量的資源來研究和開發自動駕駛、人臉識別、語音識別和機器翻譯等技術。人們甚至已經開始擔憂人工智能可能帶來的各種影響。人工智能的最新發展可以說是“古樹發新枝”,到底是什麼原因使沉寂多年的人工智能技術煥發了青春的活力呢?
首先,移動互聯網的飛速發展產生了海量的數據,使我們有機會更加深入地認識社會、探索世界、掌握規律。其次,大數據技術為我們提供了有力的技術手段,使我們可以面對瞬息萬變的市場,有效地存儲和處理海量數據。再次,計算技術特別是GPU的廣泛應用使算力有了大幅度的提升,以前需要幾天的運算如今只需要幾分鐘或幾秒鐘,這為人工智能和機器學習的普及與應用提供了計算基礎。在這幾項技術發展的基礎之上,深度學習技術終於破繭而出,成為引領人工智能發展的重要力量。
本書英文版在美國出版後備受歡迎,究其原因,除了機器學習是所有技術人員關注的焦點以外,還在於本書系統性地梳理和分析了機器學習的各種經典算法,最為重要的是,作者通過Python語言以具體代碼示例深入淺出地介紹了各種算法的應用方法。如果你想了解機器學習並掌握機器學習的具體技術,那就請翻開本書,通過一個又一個案例領略機器學習的風采。所以這本書既是一本初步了解機器學習的啟蒙讀物,也是一本讓你從初學者變成AI專家的教練示範材料。
毋庸置疑,人工智能(AI)、區塊鏈(BlockChain)、雲計算(Cloud)、大數據(Big Data)、萬物互聯(IoE)這五項技術(簡寫為ABCDE)已經成為計算機和互聯網技術未來發展的五大核心動力。特別是人工智能技術,它將是繼蒸汽機、電力、計算機、互聯網之後的又一股重要的革命性力量。之前的幾次革命解放的是我們的四肢,而人工智能解放的將是我們的頭腦。
通過新聞和社交媒體的報導,你可能已經了解到,機器學習已成為當代最激動人心的技術之一。像谷歌、Facebook、蘋果、亞馬遜和IBM這樣的大公司基於各自的考慮,已經在機器學習的研究和應用方面投入了巨資。機器學習似乎已經成為我們這個時代的流行詞,但這絕不是曇花一現。這個激動人心的領域為我們開啟了許多新的可能性,已經成為我們日常生活中不可或缺的一部分。智能手機的語音助手、為客戶推薦合適的產品、防止信用卡欺詐、過濾垃圾郵件,以及檢測和診斷疾病等都是明證,類似的應用層出不窮。
機器學習入門
如果有志從事機器學習方面的工作,想更好地解決問題或開展機器學習方面的研究,那麼本書就是為你而備。然而,對新手而言,機器學習背後的理論、概念可能艱深晦澀,但近幾年已經出版了許多機器學習方面的著作,這有助於大家通過研發強大的機器學習算法走上機器學習之路。
理論與實踐相結合
通過實際的機器學習應用示例來接觸實際代碼是深入該領域的好方法。此外,具體的示例也有助於通過把所學的材料直接付諸行動來闡明寬泛的概念。然而請記住,更強大的力量意味著更重大的責任!
除了提供使用Python編程語言和基於Python的機器學習庫進行機器學習的實踐經驗之外,本書還將介紹機器學習算法背後的數學概念,這些對成功地應用機器學習至關重要。因此,本書與一般純粹的實踐手冊有所不同,書中不僅會對有關機器學習概念的必要細節進行討論,而且還將對機器學習算法的工作原理、使用方法,以及如何避免最常見的陷阱(最為重要)做出直觀且翔實的解釋。
為什麼要選擇Python
在深入機器學習領域之前,請先回答一個最重要的問題:“為什麼要選擇Python?”答案很簡單:Python功能強大且易於取得。 Python已經成為數據科學最常用的編程語言,因為它不僅可以讓我們忘記編程的冗長乏味,而且為我們提供了可以把想法落地、把概念直接付諸行動的環境。
探索機器學習領域
如果在谷歌專業網站以“機器學習”作為關鍵詞進行搜索,可能會找到325萬個出版物。當然,我們無法對過去60年來所出現的各種不同算法和應用逐一進行考證。然而,本書將開啟一個激動人心的旅程,它將涵蓋所有重要的主題和概念,讓你在這些領域能夠捷足先登。如果你發現本書所提供的知識還不足以解渴,那麼沒關係,你還可以利用本書所引用的其他有價值的許多資源來追踪該領域的重要突破。
我們認為,對機器學習的研究可以幫助我們成為更好的科學家、思想家和問題解決者。本書將與你分享這些知識。要獲得知識就要學習,關鍵在於保持熱情,實踐出真知。
前面的路或許崎嶇不平,有些主題可能頗具挑戰性,但希望你能抓住這個機會,更多地思考本書所帶來的回報。請記住,我們將共同踏上這段旅程,幫助你掌握許多強大的武器,讓你以數據驅動的方式來解決最棘手的問題。
本書的目標讀者
如果你已經詳細研究了機器學習方面的理論,那麼本書可以教你如何把知識付諸實踐。如果你以前使用過機器學習技術,想要更加深入地了解其工作原理,那麼本書也是為你而寫的。
如果你是機器學習領域的新手,那麼不必擔心,你更有理由為閱讀本書而感到興奮!我保證機器學習將會改變你解決問題的思路,並讓你看到如何通過釋放數據的力量來解決問題。如果你想了解如何開始用Python來回答有關數據方面的關鍵問題,那麼請閱讀本書。無論是想從零開始,還是想擴展自己已有的數據科學知識,本書都是必不可少且不可忽視的資源。
本書內容
第1章介紹用於解決不同問題的主要機器學習子領域。另外,還將討論創建典型的機器學習模型構建流水線的基本步驟,從而形成貫穿後續各章的脈絡。
第2章追溯機器學習的起源,介紹二元感知分類器和自適應線性神經元。還會簡單介紹模式分類的基本原理,同時關注算法優化和機器學習的交互。
第3章描述機器學習的基本分類算法,並使用最流行、最全面的開源機器學習軟件庫之一scikit-learn提供實際示例。
第4章討論如何解決未處理數據集中最常見的問題,如數據缺失。也會討論用來識別數據集中信息量最大的特徵的幾種方法,並教你如何處理不同類型的變量以作為機器學習算法的適當輸入。
第5章描述在減少數據集中特徵數量的同時保留大部分有用和具有可識別性信息的基本技術。討論基於主成分分析的標準降維方法,並將其與監督學習和非線性變換技術進行比較。
第6章討論在預測模型的性能評價中該做什麼和不該做什麼。此外,還將討論模型評估的不同度量以及優化機器學習算法的技術。
第7章介紹有效結合多種學習算法的不同概念。講解如何構建專家小組來克服個別學習者的弱點,從而產生更準確、更可靠的預測。
第8章討論將文本數據轉換為對機器學習算法有意義的表達方式的基本步驟,以根據文本內容預測人們的意見。
第9章繼續使用第8章中的預測模型,並介紹使用嵌入式機器學習模型開發Web應用的基本步驟。
第10章討論根據目標變量和響應變量之間的線性關係建模,從而進行連續預測的基本技術。在介紹不同的線性模型之後,還將討論多項式回歸和基於樹的建模方法。
第11章將焦點轉移到機器學習的其他子領域,即無監督學習。用來自三個基本聚類家族的算法來尋找一組擁有一定程度相似性的對象。
第12章擴展基於梯度的優化概念,該概念在第2章中介紹過。還將介紹如何基於常見的反向傳播算法在Python中構建強大的多層神經網絡。
第13章基於第12章的知識,為更有效地訓練神經網絡提供實用指南。該章的重點是TensorFlow 2.0,這是一個開源的Python 軟件庫,它允許我們充分利用現代的多核圖形處理器(GPU),通過對用戶友好的Keras API,採用相同的構件來構建深度神經網絡。
第14章接著第13章的內容更詳細地介紹TensorFlow 2.0更高級的概念和功能。 TensorFlow是一個龐大且複雜的軟件庫,該章將逐步探討一些概念,例如將代碼編譯成靜態圖形以加快執行速度並定義可訓練的模型參數。此外,該章還會提供用TensorFlow的Keras API以及TensorFlow的預製估計器訓練深度神經網絡的其他實踐經驗。
第15章介紹卷積神經網絡(CNN)。 CNN代表一種特定類型的深度神經網絡體系結構,特別適合用於圖像數據集。由於CNN的性能優於傳統方法,因此現在已被廣泛用於計算機視覺中,在各種圖像識別任務方面獲得了非常優秀的結果。在該章中,你將學習如何將捲積層用作圖像分類的強大的特徵提取器。
第16章介紹深度學習的另外一種常用的神經網絡體系結構,它特別適合處理文本序列數據和時間序列數據。作為熱身練習, 在該章中,我們應用不同的循環神經網絡來預測電影評論的情感。然後將學習神經網絡如何從書中提取信息,以生成全新的文本。
第 17 章介紹一種常用的神經網絡對抗訓練機制,可用於生成逼真的新圖像。該章首先簡要地介紹自動編碼器,這是一種可用於數據壓縮的特定類型的神經網絡體系結構。然後展示如何將自動編碼器的解碼器部分與第二個神經網絡相結合,以區分真實圖像和合成圖像。通過讓兩個神經網絡在對抗性訓練中相互競爭的方法,實現用於生成新的手寫數字的生成對抗網絡。最後,在介紹生成對抗網絡的基本概念之後,介紹諸如Wasserstein距離指標等可以提高對抗性訓練穩定性的方法。
第18章討論常用於訓練機器人和其他自主系統的機器學習子類別。該章首先介紹強化學習 (RL) 的基礎知識,讓你熟悉智能體與環境的交互、強化學習系統的獎勵過程,以及從經驗中學習的概念。涵蓋基於模型和無模型兩大類強化學習。在介紹完基本算法(如基於蒙特卡羅和基於時間距離的學習)之後,我們將動手實現並訓練一個可以使用Q學習算法在網格世界環境裡導航的智能體。最後,該章將介紹深度Q學習算法,這是使用深度神經網絡的Q學習的變體。
閱讀本書需要的材料
要執行本書的示例代碼,需要在macOS、Linux或者Microsoft Windows操作系統上安裝Python 3.7.0或更新的版本。本書將持續使用包括SciPy、NumPy、scikit-learn、Matplotlib和pandas在內的Python的科學計算軟件庫。
第1章將為設置Python環境及其核心庫提供指令和有用的提示。我們將逐漸添加更多的軟件庫,另外也會在不同的章節中分別提供相應的安裝指令,例如第8章的自然語言處理NLTK庫、第9章的Flask 網絡框架庫,以及從第13章到第18章用於在GPU上高效訓練神經網絡的TensorFlow。
下載示例代碼及彩色圖像
本書的示例代碼及彩色圖像可以從http://www.packtpub.com通過個人賬號下載,也可以訪問華章圖書官網http://www.hzbook.com,通過註冊並登錄個人賬號下載。
你也可以從GitHub網址https://github.com/rasbt/python-machine-learning-book-3rd-edition下載全部的示例代碼。
本書所有代碼也以Jupyter Notebook的格式提供,這可以在本書第1章的代碼文件夾中找到簡明的指令,其具體位置為https://github.com/rasbt/python-machine-learning-book-3rd-edition/tree/master/ch01#pythonjupyter-notebook。想要了解更多有關Jupyter Notebook用戶界面的信息,請參考https://jupyter-notebook.readthedocs.io/en/stable/ 網站上的官方文檔。
儘管我們推薦使用Jupyter Notebook 來執行代碼,但是所有的代碼示例仍然會以Python腳本(例如ch02/ch02.py)和Jupyter Notebook(例如ch02/ch02.ipynb)兩種格式提供。另外,推薦閱讀每章附帶的README.md文件,以了解更多的信息和更新情況(例如https://github.com/rasbt/python-machine-learning-book-3rd-edition/blob/master/ch01/README.md)。
我們也把本書中用到的彩色圖像截屏或者圖表以PDF文件格式提供給讀者。彩色圖像有助於讀者更好地理解輸出中的變化。可以從網站https://static.packt-cdn.com/downloads/9781789955750_ColorImages.pdf下載該文件。
約定
新的術語和重要的詞用粗體顯示。在這樣的提示後會顯示警告或重要註釋。
在這樣的提示後會顯示提示和竅門。
延伸閱讀
如果你正在考慮從事機器學習工作,或者只想跟上該領域的最新進展,我們向你推薦機器學習領域以下領先專家的著作。
●Geoffrey Hinton(http://www.cs.toronto.edu/~hinton/)
●Andrew Ng(http://www.andrewng.org/)
●Yann LeCun(http://yann.lecun.com)
●Juergen Schmidhuber(http://people.idsia.ch/~juergen/)
●Yoshua Bengio(http://www.iro.umontreal.ca/~bengioy/yoshua_en/)
僅舉幾例!最後,你可以從下面這些網站了解作者們所擅長的內容:
https://sebastianraschka.com
http://vahidmirjalili.com.
如果對本書有任何疑問或者需要一些有關機器學習的提示,歡迎與我們聯繫。
大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。
特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。
無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。
為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。
若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。