新四季網

我的第一本算法書與算法圖解(算法工程師必讀)

2023-04-12 13:57:34 2

在工作和學習的過程中,有兩個經常困擾程式設計師的問題,一個是算法如何設計?另一個是算法如何評估?

算法的設計有簡有繁,最簡單的時候甚至可以用一些規則來兜底。但是評估方案的設計從來馬虎不得,因為任何算法都不可能不經過合理的評估就上線,未經評估就更談不上為公司創造價值和推動社會發展。

更重要的是,作為一個算法工程師,在匯報工作時,評估結果是一定要展示的內容。可以說,算法的評估方案是決定算法能否上線應用的關鍵因素之一,沒有被合理評估過的算法就是空中樓閣,或許好看,但不實用。

今天異步君推薦的這本書《機器學習算法評估實戰》,徹底解決了這兩個問題。

這本書來自美團高級算法工程宋亞統。他將自己在學習、工作中總結的評估方法分享出來,希望職場新人少走彎路。

何為機器學習算法評估?

何以需要算法評估?

過去的十年中,即網際網路浪潮的「上半場」中,在人工智慧技術和網際網路思維的驅動下,做網購的天貓和京東、做餐飲的美團、做打車的滴滴、做租房的自如……

這些網際網路公司如雨後春筍般迅猛發展,公司業務幾乎涵蓋了人們衣食住行的方方面面。其中,機器學習在各公司的業務實踐中初露鋒芒。從天貓的商品個性化推薦,到百度的語義識別,再到京東的無人配送,機器學習都發揮了不可替代的作用。

機器學習的評估體系也承擔了重要的任務,人們通過一些常規的指標,基本能夠完成對算法質量的初步判斷,從而使算法在應用中達到預期的效果。

然而,在網際網路浪潮的「下半場」中,競爭逐漸激烈、市場趨於穩定,許多公司已經有了屬於自己的一片「領地」。對於大公司,「下半場」更多地意味著「精耕細作」和「國際化」,「精耕細作」指進一步提升效率和降低成本,「國際化」則指將平臺和世界接軌,真正將自己的品牌推向世界。

而對於後入場的小公司,則意味著兩條發展路線,一條是研發領先於市場的新技術和新產品,做尖端服務,這可能難度較大;另一條就是走精細化路線,專注於某一個垂直領域,也就是大公司的業務涵蓋不到的業務場景,提供差異化服務。

由此可見,在「下半場」的競爭中,我們對機器學習算法的研發都需要更加專業化和精細化,機器學習算法的評估更是重中之重!

你知道什麼是機器學習算法評估嗎?

隨著科技的發展和普及,「機器學習」已經不再是一個高冷的技術名詞。諸葛越在《百面機器學習》一書中對機器學習的定義是這樣的:「機器學習指計算機通過觀察環境,與環境交互,在吸取信息中學習、自我更新和進步。」

我們可以大致理解為,機器學習就是計算機通過模擬人的學習方法,對一些訓練數據進行學習的過程。一旦計算機獲得了相應的「知識」,就能夠像人一樣做出智慧的推導和判斷。

而機器學習算法評估就是用科學的指標,對機器學習算法進行完整、可靠的評價,並給出有條理的、可解釋的結論的過程。

任何產業都需要一個合理的檢測機制來判斷這些產品是否合格。算法的評估就是網際網路產業的一種檢測機制,它告訴開發人員算法的可靠性和合理性等重要信息,作為算法能否上線應用的重要依據。

那麼我們為什麼需要算法評估呢?

機器學習能在短短數年間廣泛普及,與它的智能性、穩定性和可靠性是密不可分的,機器學習算法完善的評估體系正是這些優秀特性的可靠保障。一個優秀的算法在上線之前,一定要經過嚴密、周全的評估,才能在上線後發揮出令人驚嘆的「人工智慧之美」,正所謂「寶劍鋒從磨礪出,梅花香自苦寒來」。

很多從業人員,尤其是職場新人,往往把模型的訓練和算法的設計作為最重要的工作,卻忽視了算法評估的重要性。然而,在很多領域,評估體系的構建甚至要先於算法設計。

沒有可靠的評估體系,算法即便研發出來也不具備上線服務的能力,因為沒有人能保證它的可靠性。可以說,沒有好的評估體系,就沒有算法的廣泛普及。

無論是大公司還是小公司,在網際網路浪潮的「下半場」的競爭中,對機器學習算法的研發都需要更加專業化和精細化。

在機器學習算法評估的問題上,傳統領域的很多指標不一定能適應新的領域,因此在新的領域中需要新的評估指標來提供特定業務場景下的個性化服務。

而對於職場上的個體,掌握一套科學高效的評估理論,不僅可以大大提高自己的工作效率,也能更好地向上級領導展示自己的工作成果,在職場發展中取得事半功倍的效果。

亟需算法評估啊!

你真的會評估嗎?

評估體系的關鍵因素又是什麼?

算法評估是如此重要,但我想真誠地問你一句:「你真的會評估嗎?」

當然,有些從業人員會說,算法的評估不就是看算法的效果和性能嗎?這些在剛入門的時候就學過啊。

對此,我只想說算法評估並不是這麼簡單的一回事。真正地將一個算法用於工業生產並產生巨大的商業價值,只依靠這些書本上學來的「指標」是遠遠不夠的,因為在實際應用過程中,大部分指標只能反映算法的部分效果。如果不能合理地運用評估指標,不僅不能發現算法本身的問題,還可能得出錯誤的結論。

比如,當你在進行異常檢測算法的評估時,假設次品出現的概率是0.1%,如果算法把所有樣本都預測為正品,準確率雖然也能保證99.9%,但是這樣的結果對於異常檢測是沒有任何意義的,因為這樣的算法空有好看的準確率指標,卻一個次品都識別不出來。

再比如用於識別財務數據的圖像識別系統,即使在1萬張發票中只有1張把數字「8」誤讀為「6」,給使用方造成的損失也很可能是難以彌補的。

這些例子告訴我們,一個好的算法並不能只有一堆漂亮的數字指標,更關鍵的是它要符合實際的業務場景,能夠應對現實環境中各種複雜的情況。

因此,我們講算法的評估,從來不是依靠一個或幾個聽起來「高大上」的評估指標,而是要依賴一個完整的、可靠的評估體系。一句話總結,即指標不重要,實用才可靠。

制定機器學習算法評估標準可以從以下3個方面入手

(1)根據不同類型的算法制定不同的通用評估標準。比如,對於分類算法和回歸算法,需要分別使用一套評估指標進行評估。

(2)對於實現原理不同的算法,需要分別制定評估標準。比如,在評估樹模型和深度學習算法解決分類問題的效果時,除了使用分類算法的通用指標,還需要針對每一種算法定義評估指標。

(3)針對不同的業務場景制定評估標準。比如,用深度學習算法進行文本分類和路線排序,這兩種業務本質上都是用深度學習算法解決分類問題,但是文本分類業務和路線排序業務的評估指標是有很大區別的。

「車之所以能轉千裡者,以其要在三寸之轄。」我們都知道抓住關鍵對整體是有重大意義的,可以說是以一持萬。那麼評估體系的關鍵因素又是什麼?

● 實用性 算法能夠上線的最基本條件就是要切合實際業務場景,因此,評估體系首先應該能夠解釋清楚一個算法是否能夠解決實際的業務問題。

● 容錯程度 評估體系應該告訴算法設計者,這個算法在什麼情況下是一定適用的、不會出錯的;在什麼情況下不能保證準確性,需要採取其他「兜底」策略來補充。

● 性能 如果說實用性是決定算法是否有研發價值的標杆,那麼性能評估則是決定算法是否能落地實施的準繩。無論一個算法的業務效果表現多麼出色,如果性能不符合實際生產的需要,那麼它也只是紙上談兵。

● 可解釋性 算法設計是一門學科,所有的數據指標都必須具備科學的依據才能成立,得到的評估結論不能輕易被上級領導和客戶推翻。

● 表現形式 表現形式是直接決定你的算法評估結果能否被上級領導寫入PPT的關鍵因素之一。評估結果能用圖展示就不要用表,能用表展示就不要用文字,畢竟每個人都不願意花費過多時間在複雜的文字閱讀理解上。

這本書教會你什麼?

「書籍是前人的經驗。」

—拉布雷

《機器學習算法評估實戰》便是作者的經驗匯成的大成之作。機器學習算法評估就是用科學的指標,對機器學習算法的智能性、穩定性與可靠性進行完整、可靠的評價,並給出有條理的、可解釋的結論。

一個優秀的算法在上線之前,一定要經過嚴密、周全的評估,才能應對現實業務環境的複雜情況,充分發揮令人驚嘆的「人工智慧之美」。而這本書就不僅僅傳授於你機器學習算法相關的理論知識,還教會了你如何正確進行機器學習算法評估。

這本書詳細介紹機器學習算法評估的理論、方法和實踐。全書分為3個部分。

第1部分包含第1章~第3章,針對分類算法、回歸算法和聚類算法分別介紹對應的基礎理論和評估方法;

第2部分包含第4章~第8章,介紹更複雜的模型(如深度學習模型和集成樹模型)的對比與評估,並且針對它們實際應用的業務場景介紹一些特有的評估指標和評估體系;

第3部分包含第9章~第11章,總結算法評估的常用工具、技術及方法論,包括實用的可視化工具介紹,並討論機器學習算法的本質。

這本書是機器學習和人工智慧領域的專業圖書,對於具備一定基礎算法知識的讀者,是一本能夠提升實際操作能力和算法理解程度的書;

對於剛入門機器學習和深度學習的讀者,本書提供了大量的圖片和表格,儘可能用通俗易懂的方式把難以理解的知識點講解清晰,容易理解和記憶。

因此,讀者只要具備機器學習和統計學的基礎知識,本書都可以作為其提升專業技能的「不二選擇」

本書特色:

● 圖文並茂,全彩印刷,完整而系統地介紹機器學習算法評估理論;

● 配套源碼,基於業務場景評價算法上線服務的可靠性;

● 利用算法評估工具進行實踐,探索機器學習算法本質;

......

求學若渴,好書推薦!

一入機器學習深似海,算法學習深幾許?開卷有益,在這裡,我還為你精心準備三本寶書,願你與書同行。

百面機器學習 算法工程師帶你去面試》

內容簡介:

人工智慧領域正在以超乎人們想像的速度發展,本書趕在人工智慧徹底佔領世界之前完成編寫,實屬萬幸。

書中收錄了超過100道機器學習算法工程師的面試題目和解答,其中大部分源於Hulu算法研究崗位的真實場景。

本書從日常工作、生活中各種有趣的現象出發,不僅囊括了機器學習的基本知識,而且還包含了成為出眾算法工程師的相關技能,更重要的是凝聚了筆者對人工智慧領域的一顆熱忱之心,旨在培養讀者發現問題、解決問題、擴展問題的能力,建立對機器學習的熱愛,共繪人工智慧世界的宏偉藍圖。

●《機器學習的數學》

內容簡介:

本書的目標是幫助讀者全面、系統地學習機器學習所必須的數學知識。全書由8章組成,力求精準、最小地覆蓋機器學習的數學知識。

包括微積分,線性代數與矩陣論,最優化方法,概率論,資訊理論,隨機過程,以及圖論。本書從機器學習的角度講授這些數學知識,對它們在該領域的應用舉例說明,使讀者對某些抽象的數學知識和理論的實際應用有直觀、具體的認識。

本書內容緊湊,結構清晰,深入淺出,講解詳細。可用作計算機、人工智慧、電子工程、自動化、數學等相關專業的教材與教學參考書。對人工智慧領域的工程技術人員與產品研發人員,本書也有很強的參考價值。對於廣大數學與應用的數學愛好者,本書亦為適合自學的讀本。

●《人工智慧算法(卷3):深度學習和神經網絡》

內容簡介:

自人工智慧的早期階段以來,神經網絡就扮演著至關重要的角色。現在,令人興奮的新技術,例如深度學習和卷積,正在將神經網絡帶向一個全新的方向。

本書結合各種現實世界任務中的神經網絡應用,例如圖像識別和數據科學,介紹了當前的神經網絡技術,包括ReLU激活、隨機梯度下降、交叉熵、正則化、Dropout和可視化。

本書的目標讀者是那些對人工智慧感興趣,但苦於沒有良好的數學基礎的人。讀者只需要對大學代數課程有基本了解即可。本書為讀者提供配套的示例程序代碼,目前已有Java、C#和Python版本。

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了