3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
雷剛 發自 凹非寺量子位 報道 | 公眾號 QbitAI今天是開學第一天!心裡只有學習的量子位,發現Hacker News上又有高分話題,而且還跟學習有關!這次討論的主題是:想搞機器學習/AI需要怎樣的數學基礎,有什麼推薦的入門資料/課程?凡事總須研究,才會明白。看到這個話題,心裡只有學習的量子位(×2)仔細看了半夜,這些討論寫著許多字、說了許多話,不過滿篇可以分類為三個部分:中肯建議教材書籍視頻課程獨學習不如眾學習。量子位就把學后感整理如下,一起遨遊知識的海洋吧~中肯建議這部分內容的主要貢獻者包括:mindcrime、tlb、jules、rocqua、srean、leecarraher、irchans、KirinDave、wadams19、pramalin等首先多變數微積分、線性代數、概率論、資訊理論,這幾門必須基礎紮實。精通圖論也挺有用的。大部分機器學習是對數據的模型擬合。為了擬合模型,需要把一些誤差當成真實參數的函數,並對其進行最小化。最小化的演算法基於梯度下降,也就是依賴於導數,這就是一種微積分運算。如果你在做貝葉斯推理,你也需要用到微積分,因為貝葉斯定律將后驗分佈作為一個積分。搞機器學習你只需要微積分1和2,微積分3里的旋度和散度、斯托克斯定理之類的,學物理用得上,機器學習不用這些。另外,你可能還需要一些微積分4中的基本函數分析。(量子位註:此處微積分1234指的美國大學課程體系)微積分的本質之一,是反映了事物的變化,對於變化的平順性提供了一個很好的描述。一個處於最佳狀態的系統,在某個確定的點上不再增減變化。機器學習中的許多問題都是優化問題:在給定一些約束的條件下,怎樣選擇參數才能讓錯誤最小化?通常這非常困難(NP-hard),但如果你把問題設計為「平滑」,那麼就能通過微積分來獲得很好的代數解。多變數微積分也是需要的,在嘗試最小化「錯誤」時,通常會通過每次更改許多、許多參數來實現。這意味著你需要知道如何在高位空間進行平滑變換。而微積分的中的積分,用來「測量」物體大小。大部分概率是用來描述非常籠統的比例。「這塊有多大」的問題類似於「這件事發生的可能性有多大」。解決問題的辦法,就是用數量龐大的小塊集合在一起,形成一個複雜的整體。所以從根本上講,機器學習取決於如何測量一件事(積分)並且知道這件事如何變化(導數)。從某種程度上說,這兩件事就是你在微積分中學到的。我數學背景還不錯,但想要搞明白K-L散度時,還得重新研究一下。在機器學習領域,幾乎我遇到的資訊理論問題都是最小化K-L散度,這些看維基百科都能搞懂。你還得能理解具有概率輸出的模型,比方生成模型和強化學習等。如果你要閱讀學術期刊,至少下面這些知識點應該懂一點:統計學核心。你得熟悉統計學家如何處理數據,這常常用到微積分。你不需要成為解題達人,但得明白多個變數進行微分和積分的過程線性代數。一切的基礎,比統計還重要數值計算的方法。我不斷的查看資料,以搞懂大家為什麼那樣做計算理論以及相關研究。熟悉這些能讓你發現錯誤,找到改進的方向我的下一個挑戰是非參數統計。許多研究者跟我說這一領域會得到很多收穫,許多方法能極大的改進機器學習還有人覺得,機器學習中最需要數學的地方,莫過於理解反向傳播時。反向傳播幾乎都是偏導數/鏈式法則什麼的。還有很多機器學習涉及一些微積分的凸優化。但是我們得分清「應用」和「研究」之間的區別。並不是每個人都在做最前沿的研究。有人下載一個DL4J,看幾個教程,就能搭建一個基本的網路來解決問題,這個過程中也創造了價值。機器學習雖然還沒來到完全不需要關心底層細節的時間節點,但我們確實已經可以合法獲取很多現成的工具,而不需要動手推導反向傳播的方程式。講真,大多數情況下在工作中應用已知的方法,並不要求搞懂背後的數學,只需要了解基本的統計數據和概率論,能解釋結果就好了。所以,如果你只是簡單的使用別人做好的工具來解決問題,真的不需要什麼數學背景。一個大學部生就能學會漂亮的解決問題,而不需要深入研究底層的數學細節,就權當做是工程問題的最佳實踐。大多數實際工作中,並不用演算低級別的架構或公式,通常都是從已經選好的框架中,把想用的東西跳出來而已。另一方面,如果你面臨的問題不能用現成的方法搞定,這時候數學背景就派上用場了。如果你想在框架里應用一個全新或者小眾的架構,就得搞明白之後才能寫出來。在應用和研究機器學習技術之間,有很大的不同。總的來說,單純在應用這一端,並沒有太多嚴格的數學背景要求。需要多少數學,取決於你要在機器學習/AI領域扎多深。如果只是應付工作,那你走運了,現成就能用的東西原來越多了。例如DataBot、H2O、Scikit-learn、Keras(加TensorFlow)……可能唯一必備的數學技能就是統計學。無論你選擇了哪種解決方案,採用了何種自動調整和選擇的演算法,都得需要一些統計數據才能說明你的模型有效果。想進一步提升自己,還可以花更多時間學習特徵提取、數據工程,好好研究一下上面提到的幾個工具包,特別是其中的模型。如果你想研發新的技術和演算法,天空才是你的極限,不過還是得統計數據。那些已經大量使用的機器學習和AI框架,其實只是頂著一個數學的帽子,你完全可以把它們當成可靠的黑盒系統來用,沒必要理解模型的生成過程和設置。很多工具可以告訴你哪些演算法對你的數據最有意義,甚至能幫你找出最有效的那種。雖然這說起來令人沮喪,但真的已經不是非得有博士學位才能幹這行了。不過,即便你能幹的事情跟博士科學家差不多,也不意味著有人會雇你。僱主還是會看重數學、計算機科學或相關領域的博士學位。但這些可能更多出於其他方面因素的考量,而不是搞機器學習/AI的必要條件。了解數學能讓你更好的理解工作,減少愚蠢犯錯的可能。上面講到的工具,建議試試完全自動化的黑盒機器學習管道,比方說TPOT。儘早上手,以及可以推薦給你的產品經理朋友。TPOT即Tree-based Pipeline Optimization Tool,這是一個基於遺傳演算法自動選擇、優化機器學習模型和參數的工具。通常模型有非常大量的參數需要調整和優化,這類工具可以節省找到最優參數組合的時間。不過,許多機器學習從業人員對這類自動化機器學習管道非常警惕。如果沒有理解這些工具的基本統計/數學假設,可能會遇到很多坑;而這種一刀切的解決方案,也可能會給出誤導性的結果。另外使用這類工具,也讓解釋原因和結果的工作變得更加困難,一個「黑盒子」很難得到價值認同。TPOT的GitHub地址:到底應該怎麼開始學習?建議一:有兩種方法來學習機器學習/AI:1)閱讀所有資料,然後開始解決問題 2)先開始解決問題,然後根據需要學習相關的數學知識。第二種方法更好。建議二:首先在Coursera上看吳恩達機器學習和深度學習的課程。選擇你感興趣的領域和問題。接著閱讀機器學習/AI在這一領域如何應用的論文。然後動手重現你已經搞明白並且感興趣的論文。建議三:這個學習計劃我覺得非常有用,很好的列出了所需課程和時間框架,地址在此:教材書籍接下來開始分享資源。先從書籍講起。這部分內容的主要貢獻者包括:CuriouslyC、rdudekul、kgwgk、charlescearl、ChadyWady等。我認為最好從David MacKay的《Information Theory, Inference and Learning Algorithms(資訊理論、推理與學習演算法)》入手,內容可能有點老舊了,但仍然是這個領域最平易近人的書籍之一。在線版本:另一本推薦的舊書是E. T. Jaynes的《Probability Theory: the Logic of Science(概率論:科學的邏輯)》。在線版本以及Tibshirani的《Elements of Statistical Learning(統計學習元素)》。在線版本:https://web.stanford.edu/~hastie/ElemStatLearn/Andrew Gelman的《Bayesian Data Analysis(貝葉斯數據分析)》也很好。在線版本:http://hbanaszak.mjr.uw.edu.pl/TempTxt/(Chapman%20&%20Hall_CRC%20Texts%20in%20Statistical%20Science)%20Andrew%20Gelman,%20John%20B.%20Carlin,%20Hal%20S.%20Stern,%20David%20B.%20Dunson,%20Aki%20Vehtari,%20Donald%20B.%20Rubin-Bayesian%20Data%20Analysis-Chapman%20and%20Hall_CRC%20(2014).pdf想了解這個領域最新的額進展,建議閱讀Ian Goodfellow和Yoshua Bengio的《Deep Learning》。在線版本:推薦一本我大學部時候用的統計學教材:《Probability & Statistics for Engineers & Scientists》。在線版本:再推薦一些網上免費的數學參考書:在線數學教材匯總http://people.math.gatech.edu/~cain/textbooks/onlinebooks.html免費數學教材開放教材圖書館https://open.umn.edu/opentextbooks/SearchResults.aspx?subjectAreaId=7MIT在線教材https://ocw.mit.edu/courses/online-textbooks/#mathematics美國數學研究所認證教材AI是一個非常廣闊的領域,每個細分領域都有不同的數學背景要求。掌握所有的數學知識是不可能的,所以你得想清楚對什麼感興趣。同時推薦一本Russell和Norvig的好書,覆蓋了人工智慧中很多不同的主題。無論你大學部學到了什麼,這本書都可以提供了一深入了解AI的良好起點。這本書是《Artificial Intelligence: A Modern Approach》,中文版名稱《人工智慧:一種現代方法》。英文版地址在此:另外附送一份Michael I. Jordan之前開出的書單。地址在此:https://news.ycombinator.com/item?id=1055389上述在線內容都是合法的。合法的。合法的。視頻課程再來就是視頻課程匯總。主要貢獻者包括:72mena、leecarraher、mindcrime、rdrey等。YouTube以及Videolectures.net上有很多高質量的數學視頻教學內容。之前提到的David MacKay,合輯在此:Leonard教授合輯在此:Gilbert Strang合輯在此:https://www.youtube.com/results?search_query=gilbert+strang3Blue1Brown合輯在此:還有畫風清奇的Siraj Raval講人工智慧中的數學:https://www.youtube.com/watch?v=xRJCOz3AfYY&list=PL2-dafEMk2A7mu0bSksCGMJEmeddU_H4D我的建議是,先快速看一遍Jeremy Howard的講座,這裡面有很多機器學習/AI的應用案例,而且只需要一點點的數學背景就能看懂。地址在此:接下來可以去Coursera上吳恩達的新課程,比原來的課程更容易接近,但仍然會有一些方程式讓你不知所措,不過你肯定能實現出來。地址在此:老課程《機器學習》:新課程《深度學習》:再推薦一個統計學課程,德州大學奧斯汀分校統計和數據科學系Michael J. Mahometa主講的《數據分析基礎》。地址在此:https://courses.edx.org/courses/course-v1:UTAustinX+UT.7.11x+3T2016/course/小建議,在這個課程中講師使用了R語言,我覺得還是Python更好。另外,Coursera上有一系列的統計課程還不錯。不過貝葉斯統計這門課有點難,建議買一本書或者補充點其他課外資料。我推薦這本書:《Bayes』 Rule: A Tutorial Introduction to Bayesian Analysis》亞馬遜有售:OMT想搞機器學習/AI但數學不好的孩子,或者還有?快把這篇發給他。救救孩子……二零一七年九月。傳送門:肉身前往Hacker News觀摩,請點擊左下角「閱讀原文」。課外閱讀量子位在知乎上也發現一個質量很高的討論。主要是王乃岩談「如何判斷一個面試者的深度學習水平?」,賈揚清等也參與了回答……— 完 —加入社群量子位AI社群8群開始招募啦,歡迎對AI感興趣的同學,加小助手微信qbitbot2入群;此外,量子位專業細分群(自動駕駛、CV、NLP、機器學習等)正在招募,面向正在從事相關領域的工程師及研究人員。誠摯招聘量子位正在招募編輯/記者,工作地點在北京中關村。期待有才氣、有熱情的同學加入我們!相關細節,)對話界面,回復「招聘」兩個字。量子位 QbitAIվ'ᴗ' ի 追蹤AI技術和產品新動態

本文由yidianzixun提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦