我与AI:我的“机器学习”过程
如果說要論機(jī)器學(xué)習(xí)的歷史,最早可以追溯到18世紀(jì)關(guān)于最小二乘法和馬爾可夫鏈的推導(dǎo),這些構(gòu)成了機(jī)器學(xué)習(xí)的基礎(chǔ)。上世紀(jì)50年代,艾倫·圖靈關(guān)于“圖靈機(jī)”的設(shè)想以及馮·諾伊曼的計(jì)算機(jī)體系結(jié)構(gòu)的設(shè)計(jì)讓機(jī)器學(xué)習(xí)這個(gè)概念逐漸變?yōu)榱爽F(xiàn)實(shí)。從上世紀(jì)50年代末F·Rosenblatt的“Perceptron”模型一直到現(xiàn)在的各類神經(jīng)網(wǎng)絡(luò)模型,各種各樣機(jī)器學(xué)習(xí)的算法模型的大量出現(xiàn)還是科幻小說中對(duì)于智慧AI的大膽設(shè)想都證實(shí)了機(jī)器學(xué)習(xí)對(duì)于人類生活生產(chǎn)的重要價(jià)值??梢哉f,機(jī)器學(xué)習(xí)這項(xiàng)技術(shù)對(duì)于現(xiàn)在的人類社會(huì)是不可或缺的。
機(jī)器學(xué)習(xí)對(duì)于制造業(yè)或互聯(lián)網(wǎng)相關(guān)工作也十分必要,大量計(jì)算機(jī)方面的工作都需要了解Python或者機(jī)器學(xué)習(xí)相關(guān)的技術(shù)。互聯(lián)網(wǎng)+、機(jī)器學(xué)習(xí)和制造業(yè)的相關(guān)結(jié)合也是中國(guó)目前發(fā)展的重要方向??梢哉f,機(jī)器學(xué)習(xí)也是互聯(lián)網(wǎng)方面工作中不可或缺的重要知識(shí)基礎(chǔ)和未來發(fā)展方向。
對(duì)于計(jì)算機(jī)、金融、數(shù)據(jù)分析、自動(dòng)化等各種與計(jì)算機(jī)相結(jié)合的專業(yè)的同學(xué)來說,機(jī)器學(xué)習(xí)同樣也不可或缺。無(wú)論是以后發(fā)表相關(guān)論文還是各類互聯(lián)網(wǎng)+項(xiàng)目,機(jī)器學(xué)習(xí)可以說是非常重要的。任何相關(guān)專業(yè)和機(jī)器學(xué)習(xí)的有效結(jié)合可以大幅提高論文和項(xiàng)目的含金量,了解或?qū)W習(xí)機(jī)器學(xué)習(xí)相關(guān)知識(shí),如果在未來的論文或項(xiàng)目中涉及到機(jī)器學(xué)習(xí)的相關(guān)內(nèi)容和創(chuàng)新也不會(huì)感到發(fā)怵,反而能夠得心應(yīng)手,大幅提高論文和項(xiàng)目的質(zhì)量。
2.1 緣何相識(shí)“機(jī)器學(xué)習(xí)”
我是一位科班畢業(yè)的計(jì)算機(jī)學(xué)生,即將攻讀計(jì)算機(jī)方向研究生,但是慚愧地說,我在本科階段并沒有學(xué)習(xí)機(jī)器學(xué)習(xí)相關(guān)的課程,對(duì)機(jī)器學(xué)習(xí)完全沒有任何概念,一直到了大四我保研后,研究生導(dǎo)師突然讓我開始做機(jī)器學(xué)習(xí)相關(guān)的畢業(yè)設(shè)計(jì)時(shí)我才發(fā)現(xiàn)我對(duì)機(jī)器學(xué)習(xí)完全沒有任何了解。我上過類似吳恩達(dá)的機(jī)器學(xué)習(xí)相關(guān)課程,也讀過周志華的機(jī)器學(xué)習(xí)“西瓜書”,但是里面大量繁雜冗余的公式都讓我望而卻步。只能觀其表面,不理解其內(nèi)在含義,這會(huì)在以后的學(xué)習(xí)和工作中非常吃虧。
為了去理解這些公式帶來的含義,提升自己的機(jī)器學(xué)習(xí)基礎(chǔ)能力,我去找了很多相關(guān)的教材和視頻,嘗試去理解這些公式,但是完全靠自己去理解還是過于困難,沒有一個(gè)好的老師輔助去教授這些知識(shí),我還是不能理解這些復(fù)雜公式帶來的含義。印象最深刻的就是學(xué)習(xí)SVM的核函數(shù)的時(shí)候,只學(xué)過微積分、概率論和線性代數(shù)的我當(dāng)聽到特征希爾伯特空間的時(shí)候整個(gè)人都是懵的,很多公式的數(shù)學(xué)符號(hào)我也完全看不懂,但是在書中學(xué)習(xí)這些基礎(chǔ)的時(shí)候又不可避免地要學(xué)習(xí)這些公式。
為了解決機(jī)器學(xué)習(xí)老大難的問題,我決定還是去網(wǎng)絡(luò)上搜索一些機(jī)器學(xué)習(xí)相關(guān)的完備課程來輔助我學(xué)習(xí),而不是搜索單一的視頻或者書籍。這樣也是為了未來的研究生學(xué)習(xí)打下良好基礎(chǔ)。就這樣,我發(fā)現(xiàn)了一個(gè)課程:貪心AI“機(jī)器學(xué)習(xí)基礎(chǔ)”課程。
2.2 “貪心AI”為何甚好
課程設(shè)計(jì)
貪心AI的機(jī)器學(xué)習(xí)基礎(chǔ)課程分為了共計(jì)17章節(jié),從最簡(jiǎn)單的機(jī)器學(xué)習(xí)基礎(chǔ)知識(shí)、線性回歸模型,到后來的SVM,神經(jīng)網(wǎng)絡(luò),全都有非常詳細(xì)的課程設(shè)計(jì),比如對(duì)于SVM來說,就包含了包括對(duì)Support Vector的直觀理解,線性可分的支持向量機(jī)這類早期的SVM模型以及到后來的核函數(shù)的理解,特征希爾伯特空間的理解,從線性支持到非線性支持等。難度在一章中也是逐漸上升的,模型的復(fù)雜度也是從淺入深。而且在每章視頻課程之后,課程還會(huì)讓我開發(fā)一個(gè)基礎(chǔ)的機(jī)器學(xué)習(xí)算法,將課上講解的知識(shí)和公式用代碼表示出來。不僅是因?yàn)榇a表示的話就可以保證我們完全理解這個(gè)模型的公式(如果不理解的話自然也就無(wú)法寫出代碼了),可以說是知識(shí)和實(shí)踐相結(jié)合了。
我在自己學(xué)習(xí)機(jī)器學(xué)習(xí)的時(shí)候從來沒想過自己手寫一個(gè)機(jī)器學(xué)習(xí)的算法,都是利用的各類框架,例如Tensorflow、Pytorch、sklearn等。這樣雖然學(xué)習(xí)非常快,但是也只是觸及機(jī)器學(xué)習(xí)的皮毛,不能理解機(jī)器學(xué)習(xí)的內(nèi)在含義,在未來面對(duì)各種各樣的機(jī)器學(xué)習(xí)模型,尤其是這些框架所不涉及的模型時(shí),或者以后要查看每篇機(jī)器學(xué)習(xí)的論文的代碼時(shí),我也就無(wú)從下手了,只得現(xiàn)學(xué)現(xiàn)賣。但是貪心AI的課程就和我自學(xué)完全不一樣,貪心AI的課程深度和廣度兼具,而且難度設(shè)置也非常合理。我從最開始的機(jī)器學(xué)習(xí)介紹開始學(xué)習(xí),先將機(jī)器學(xué)習(xí)的概念進(jìn)行一些梳理,然后立即開始動(dòng)手開發(fā)一個(gè)AI程序,還通過身高預(yù)測(cè)體重這樣簡(jiǎn)單的案例入手機(jī)器學(xué)習(xí),非常生動(dòng)形象。第一次寫完這個(gè)程序的時(shí)候我個(gè)人覺得整個(gè)程序其實(shí)非常簡(jiǎn)單,最初級(jí)的機(jī)器學(xué)習(xí)也沒什么難的,也沒有特別的“高大上”,畢竟機(jī)器學(xué)習(xí)真正的含金量體現(xiàn)在模型和算法上,至于代碼無(wú)非也就是這些的實(shí)現(xiàn)而已。后面的章節(jié)難度逐漸提升,從我高中時(shí)代就學(xué)過的線性回歸方程開始學(xué)習(xí),然后逐步提升到比如貝葉斯算法(這也正是我研究生的研究方向之一)、隨機(jī)森林(重要,現(xiàn)在傳統(tǒng)機(jī)器學(xué)習(xí)算法中隨機(jī)森林都表現(xiàn)出極好的特性),再之后就到了深度神經(jīng)網(wǎng)絡(luò)、SVM這樣更加困難的算法。但是我覺得完全不用擔(dān)心難度的問題,因?yàn)槊空露紩?huì)配合練習(xí)題或者案例對(duì)每個(gè)章節(jié)介紹的機(jī)器學(xué)習(xí)模型進(jìn)行一個(gè)鞏固、夯實(shí)、提高的過程,這樣做能夠讓我更加牢固地理解每章教授的機(jī)器學(xué)習(xí)模型的概念、意義和使用場(chǎng)景。模型學(xué)習(xí)多了,在掌握了機(jī)器學(xué)習(xí)的基礎(chǔ)概念之后,再多的模型也就能像學(xué)習(xí)各種各樣五花八門計(jì)算機(jī)語(yǔ)言一樣卻不用擔(dān)心學(xué)不會(huì)一樣,只要能夠抓住核心概念,就算模型難度在升高,學(xué)習(xí)成本也在逐漸降低。畢竟在通過貪心AI課程學(xué)習(xí)的過程中,有關(guān)機(jī)器學(xué)習(xí)概念和基礎(chǔ)是越來越牢固的。
課程內(nèi)容
之前我在自學(xué)機(jī)器學(xué)習(xí)的時(shí)候,無(wú)論是書籍還是各類視頻資料等,老師在講解機(jī)器學(xué)習(xí)模型算法的時(shí)候我總是覺得講解的不夠仔細(xì)。老師在講解的時(shí)候,有時(shí)候前后邏輯不對(duì)或者老師跳過了一些他認(rèn)為學(xué)生理所應(yīng)當(dāng)理解的一些知識(shí)時(shí),我就不能理解模型算法公式代表的意義了(比如前面SVM中的特征希爾伯特空間,很多書中并未詳細(xì)描述意義),但是因?yàn)槭且曨l資料或者書籍資料,我不理解的時(shí)候又不能立即進(jìn)行反饋,這樣我就只能選擇跳過不理解的部分。跳過的部分多了起來,我就只能理解皮毛不知其深淺了。但是貪心AI的課程卻不一樣。不僅老師在講解的時(shí)候非常細(xì)致,講解每章內(nèi)容的時(shí)候每一個(gè)點(diǎn)都講的非常豐富,而且全程還有專業(yè)助教來解答學(xué)生的各類問題,比如我學(xué)習(xí)的線性回歸章節(jié),雖然內(nèi)容確實(shí)在整個(gè)課程中算是很簡(jiǎn)單的了,而且線性回歸本身也是高中就學(xué)習(xí)過的數(shù)學(xué)知識(shí),但是我同樣存在一些沒有理解的問題,尤其是針對(duì)多元線性回歸方面我不是很理解(高中學(xué)習(xí)的不是很深入),我就立即去詢問助教,這樣就算我真的不理解老師這堂課介紹的模型的部分細(xì)節(jié),我也能夠立即通過助教去了解,這樣就可以強(qiáng)化我所學(xué)的知識(shí)。而且每次課程結(jié)束都會(huì)有大量習(xí)題進(jìn)行練習(xí),做題的時(shí)候如果做對(duì)了自然是成就感爆棚,但是就算做錯(cuò)了,我在做題的同時(shí)也可以糾正并強(qiáng)化這節(jié)課所學(xué)的知識(shí)。這樣的話,我也算做到了理解機(jī)器學(xué)習(xí)各類模型算法的意義,而不是像自學(xué)的時(shí)候?qū)W完一個(gè)模型也就草草了事,沒有深入去理解模型的算法和適用意義。
課程師資
我自學(xué)機(jī)器學(xué)習(xí)的時(shí)候,因?yàn)槎际菑木W(wǎng)絡(luò)上搜索視頻書籍資料,就完全不能保證師資力量,各種各樣的人都有,有些教的不錯(cuò),有些人甚至他們自己都略懂皮毛。最離譜的是我還遇到過明明是兩個(gè)教同一個(gè)模型的視頻資料,但這兩個(gè)資料對(duì)這個(gè)模型的理解都完全不一樣的情況。但是貪心AI的師資力量卻非常優(yōu)秀,而且做到了統(tǒng)一。比如說李文哲老師,李文哲老師是貪心AI的創(chuàng)始人,也是貪心AI的老師之一。他本人的學(xué)術(shù)水平自然是非常之高,有多篇頂會(huì)論文發(fā)表,包括AAAI、KDD等,均可以在dblp等數(shù)據(jù)庫(kù)上查到。李老師講解的非常細(xì)致,也非常全面豐富,甚至還會(huì)舉一反三地進(jìn)行講解,明明課后已經(jīng)有大量的練習(xí)題供我們進(jìn)行練習(xí)了,但是李老師在上課的時(shí)候也能做到生動(dòng)有趣,而不是像我大學(xué)時(shí)候的很多老師一樣照著PPT念知識(shí)點(diǎn),照本宣科,讓我覺得非常痛苦,還不如自學(xué)。所以我大學(xué)時(shí)代常常翹課去工作室學(xué)習(xí),還常常被老師點(diǎn)名(不要學(xué)我)。印象很深的是李老師在教機(jī)器學(xué)習(xí)的基礎(chǔ)概念的時(shí)候,用了很多類比的方法來講解AUC和ROC,我很容易就理解了這倆是什么意思,以及為什么要用這兩個(gè)系數(shù)來評(píng)價(jià)模型優(yōu)劣性,而我自學(xué)的時(shí)候也就只能拿著這倆參數(shù)直接去用,用sklearn框架直接套用在我的模型代碼里面,沒有理解這倆表示了什么意義,而不理解這兩個(gè)參數(shù)的意義我就沒法去針對(duì)性地優(yōu)化我的機(jī)器學(xué)習(xí)模型。李老師可以說是我理想中的老師了。
課程配套設(shè)施
同時(shí)我還注意到,以前我在自學(xué)的時(shí)候,如果遇到了一個(gè)比較有趣的模型,我想去實(shí)際地嘗試去搭建這樣的一個(gè)模型,我就必須得自己在自己的電腦上去搭建環(huán)境。搭建過環(huán)境的應(yīng)該都知道這是一個(gè)非常痛苦的過程,不僅python的庫(kù)要下載(就算使用清華的鏡像源還是會(huì)經(jīng)??〝嘀叵?#xff09;,各個(gè)版本要匹配(CUDA和各種各樣的Toolkit要和Tensorflow版本對(duì)應(yīng),對(duì)應(yīng)不了還難以刪除重下),還要查看自己的顯卡和內(nèi)存是不是能夠運(yùn)行部分機(jī)器學(xué)習(xí)的模型,對(duì)于一些甚至連顯卡都沒有,只能用CPU來運(yùn)行機(jī)器學(xué)習(xí)模型的同學(xué)來說就非常痛苦了。但是我們?cè)趯W(xué)習(xí)貪心AI課程的時(shí)候,課后的實(shí)踐項(xiàng)目等等都有完整的在線環(huán)境可以讓我們?nèi)ナ褂?#xff0c;完全不用考慮內(nèi)存、顯卡等等配置的問題,更不用考慮還需要重新下載python庫(kù)的問題,節(jié)省了自己電腦的空間,更節(jié)省了自己花費(fèi)在搭建環(huán)境上的時(shí)間。上文提到的助教甚至也可以幫我查看修改我的代碼中的bug,成功修改過后也能強(qiáng)化我對(duì)模型算法的代碼記憶和對(duì)這個(gè)算法的理解。
總結(jié)
貪心AI的機(jī)器學(xué)習(xí)基礎(chǔ)課程讓我重新認(rèn)識(shí)了機(jī)器學(xué)習(xí)這個(gè)日后必備的科學(xué)技術(shù)。無(wú)論是貪心AI的課程設(shè)計(jì)、課程內(nèi)容的深度和廣度、課程所配備的各項(xiàng)設(shè)施(練習(xí)題、助教、Playground等)、還有課程的師資力量,都是非常優(yōu)秀的,我覺得在學(xué)習(xí)貪心科技課程的同時(shí),也可以搭配一些教材,比如周志華西瓜書或者吳恩達(dá)的各類機(jī)器學(xué)習(xí)相關(guān)課程等,這樣的話就可以雙管齊下,在結(jié)合老師教授的內(nèi)容的同時(shí)也可以再輔助看看書籍,這樣也可以更加深入地了解機(jī)器學(xué)習(xí),為未來學(xué)習(xí)和工作打下更堅(jiān)實(shí)的基礎(chǔ)。
總結(jié)
以上是生活随笔為你收集整理的我与AI:我的“机器学习”过程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 企业年金退休后怎么领取 是不是打到社保卡
- 下一篇: 小牛想要进大厂,距离拿百万高薪,进入AI