如何從0開始自學機器學習?

人工智慧大師之路

如何從0開始自學機器學習?

如何從0開始自學機器學習? skills 600 400

自學機器學習容易嗎?

大家都知道,現在網路這麼發達,其中不乏許多有用的資訊、資源,

讓任何能使用網路的人都可以只用極低成本接受教育。

只要有心想學基本上或多或少都可以從網路上得到一些好東西,

而且隨著自己程度的提升也都會有相對應的資訊可以持續精進自己。

這些都是自學的好處,也讓自學看起來不是件難事。

然而,現在的自己該學什麼? 又有哪些要學? 那哪裡有我要學的東西?

這些問題都只能靠自己解決,如果對這些都沒有方向的話常常陷入迷茫、甚至放棄。

所以,如何發現真正適合現階段的自己學習的好東西將是自學成功的關鍵

 

如何從0開始自學機器學習? learn

 

自學的3個重要心態建立

 

思考自己自學的初衷

 

在想做任何事之前,先問自己為什麼要這麼做?

你的答案是否為一個堅定的理由?

如果這個基本的想法沒有在一開始就建立好的話往往會在不久後遇到困難後輕易地就放棄了,

及早釐清自己的Why不僅可以幫助自己在遭遇挫折時重新站起來,

還能提升學習積極性、確保自己有明確的方向,好處多多。

 

要學的東西永遠學不完

 

既然東西永遠學不完,所以乾脆不學了?

當然不是,意思是,更應該終身學習,持續地鞭策自己,將自學養成習慣。

當你完成了一項階段性任務,可以放鬆休息一下,但要記得回來,

畢竟人生是一場馬拉松,成功仰賴的是長期累積正確的習慣

 

主動學習

 

常常我們會碰到的狀況是,在還不知道學習那件事對自己有什麼用、自己學完後可以拿來做什麼的時候就學了。

例如,對機器學習而言,線性代數扮演著一個重要的角色,

大多數的人很可能因為原本就是數學或資工背景所以在大學就學過了,

但當時的他們可能並不知道學這個有什麼用,

而是後來等到他們對這方面有興趣、開始從事這方面的研究時才知道原來那是重要的基礎。

但當時所學的東西大部分可能早已忘記了,於是還得把該補的補回來。

 

這種就是被動學習,而被動學習最大的缺點就是缺乏學習動力,所以其實也很難學得多好,

即使學過了也不夠深,如果你問他,恐怕也不太敢說自己學過。

所以,如果想要避免這種情況就必須在學之前就清楚地了解自己為什麼要學,

如此一來,自己就會在第一次學習時就認真看待、並且把精力聚焦在對自己更重要的地方,不會迷失焦點。

 

我的建議是,真正搞清楚自己缺什麼東西、什麼東西對你才是重要的,等到搞清楚了的時候再去學就是主動學習,

主動學習動機強、積極性高,即使遇到挫折也會有必須克服它的意志,自然學習效率與成果會比較好。

 

想自學?先學會使用google吧!

 

如何從0開始自學機器學習? google

 

很多人可能會覺得,這麼簡單的事還需要說嗎?

但這裡指的學會不是指打幾個關鍵字跑出搜尋結果就算,而是你透過搜尋真正找到解答你問題的東西

我認為這其實是一個沒什麼人教卻異常重要的能力,因為你需要做出一連串對的決定才算是真正完成這件事。

而這個能力不僅對自學有幫助,還關係到一個人如何最大化地利用網路資源解決日常生活中的各種問題,

所以是一種很實用的能力。這項能力愈強,就像裝有超級大腦,

能解決的問題就會比沒有這項能力的人多出許多,你也就能做到許多人做不到的事。

 

一旦你精熟了這項能力,你就會發現很多人卡在某個問題的原因其實就只是因為他們不會運用google的力量

所以照理講根本可以馬上被解決的事情卻因為沒能找到解答而被困住那麼久。

此時,如果你很會使用google的話,那些問題在你眼裡就根本不算什麼難事,

但卻能困住他們這麼久,不覺得很為他們感到可惜嗎?

 

舉例來說,常常我們會遇到生活中的一些大大小小的問題,

你不知道要問誰、或者說你周遭的人也沒有人會,這個時候你該怎麼辦呢?

你當然可以在google打上幾個你認為對的關鍵字,隨便打開前幾個頁面瀏覽,

結果發現都是一些相關卻不是真正對你有用的資訊、不同的關鍵字測試了很久也什麼都找不到,

甚至後來才發現自己根本找錯東西。

 

但,此時你可能會想,有沒有什麼流程或技巧可以大幅提升自己成功的機率呢?

那很巧的,以下文章就是為你準備的,整個流程大致可以分為以下三個步驟。

 

正確的關鍵字

 

這是相當關鍵的第一步,如果在這裡就錯了,就和答案漸行漸遠了。

這一關考驗的是如何將你內心問題的相關概念收斂為幾個那方面的關鍵字

關鍵字必須直指核心,其中同樣重要的點是你要知道大家都用什麼名稱來稱呼那件事,

只用自己認為的概念搜尋很容易找不到東西,原因是很可能就只有你會這樣搜尋。

下關鍵字時不是直接以一個很口語的問句搜尋、或是把關鍵字全部黏在一起搜尋,

而是最好用空格將這些關鍵字分開,試著把問句換成幾個核心的概念以空格分開搜尋。

一旦練習久了你對正確關鍵字的敏感度也會提升,整個流程也會進行得更快。

 

大海撈針

 

如果關鍵字對了,這一步就專注於判斷搜尋結果介面中哪些可能是你要的並把它們都點開成新分頁

值得注意的是在這一關你不需要馬上就把它們一個一個點開來仔細觀看,而是只要把那些你覺得有用的文章開著就好。

之所以這麼做的原因是這樣你才能分辨出為什麼你找不到你要的結果

到底是因為你不會從搜尋結果介面判斷內容,還是不會從各種文章內容中出過濾出你要的資訊,

而你也可以藉此訓練提升自己從標題判斷內容的精確度。

 

過濾資訊

 

最後這關應該是最費時的一個階段,

因為你得一個一個去確認、考驗你如何從龐大的資訊量中找到那顆渺小的寶石和細心

在過程中,你一定會遇到一堆標題黨,第二步裡面的許多網站可能都沒有符合你心目中的答案,

但此時如果第二步你有盡可能地把所有高機率的結果都搜刮進來,

就比較不會發生在第二關的新分頁全部都沒有你要的答案這種窘境。

 

自學機器學習的資源都藏在哪裡?

 

自學機器學習

 

各框架、套件的Document

 

熱門套件有很多,舉凡pandas, keras等等。這邊只是舉其中一個例子來說,

scikit-learn可以說是機器學習的百寶箱,

有時試著探索裡面的功能會發現原來很多你想要的功能都有人幫你寫好了,

你只需要了解一下具體怎麼操作就可以,而且也寫得滿詳細、易懂的。

當然,你不需要試圖搞懂裡面每個功能,

因為如心態建立的第二點所說的,東西永遠學不完,

把它當成一本工具書,先從自己有興趣的主題或是很常被使用的部分下手,

甚至先記錄起來,等到自己以後接觸到相關的部分再拿來參考即可。

 

kaggle

 

kaggle最大的機器學習競賽平台

裡面不只有許多公開資料,還有許多大神分享的Notebook,

可以簡單地透過搜尋你想了解的相關主題就輕鬆獲取許多寶貴的經驗與技巧。

像我就曾在上面找到許多幫助我debug或套用的範例程式碼,解決了不少問題,學習價值極高。

 

GitHub

 

GitHub就是全世界開放原始碼的集散地,重要性無需多言了。

裡面的資源直接滿出來,

不只可以找到許多好心的人幫你做好的套件、以及許多前人做過的project、機器學習論文的實現都有,

善用搜尋就能找到你要的東西。

 

Medium

 

Medium的性質比較不一樣,裡面比較多的是教學文、論文或理論的解釋文,

當然也有相關的許多Project及討論。

Towards Data Science版裡面有很多實用操作教學,其他版也有滿多不錯的高質量文章,

缺點就是有些文章如果不是付費會員的話超過一個月的額度會不給看,

不過我發現用無痕模式開啟或把網址傳到手機的safari瀏覽器就可以暫時解除這個缺點了!

 

Analytics Vidhya

 

Analytics Vidhya有時也會有一些不錯的實用操作教學,和Medium同質性比較高。

我覺得裡面滿多文章講得都很淺顯易懂、不少文章都會逐行解釋code,

我認為非常適合剛開始學的新手,如果Medium查不到的話可以來這邊找找看。

 

Stack Overflow

 

Stack Overflow就是你debug最大的避風港

很多時候你以為自己查不到那個bug,但大多數的情況下只要善用關鍵字都能查到,

再次印證上面所說的,知道如何正確地使用google很重要

 

ArXiv

 

ArXiv就是論文的集散地,對初學者來說可能會比較吃力。

不過,對進修來說可以說是最營養的食物了,

覺得太硬的話先看一些自己有興趣的主題,看不懂就多看幾次,有助於了解做研究的脈絡以及關注最近的潮流。

如果有想做的專題,先在上面調查看看別人是怎麼做的是很重要的一步,也可以累積自己的靈感,

不僅可以發現自己沒想到的點子也能不知不覺做完探索相關研究的部分。

 

知乎

 

知乎,少數的中文資源,乾貨極多、話題面向也很廣。

比較特別的是有一些學習地圖的文章可以做為自學路上的參考指引。

裡面也不少英翻中的有名文章,對於不擅於看英文的人是個福音

 

CSDN

 

CSDN,一樣是少數的中文資源,

裡面連很多Document細節的地方都有討論串、還有一些Document翻譯,

對於不擅於看英文的人是個福音

 

結論

 

你了解高效自學機器學習的秘密了嗎?

 

這篇文章揭露了一般人不太會討論但卻無比重要的話題、也分享了許多線上資源提供自學者參考

希望你能藉由這篇文章在剛開始的時候就建立正確的原則,

這麼做可以幫助你少走許多彎路、高效自學,並達成你心中的目標。

 

Call To Action

 

歡迎任何能使我或是這篇文章改進的意見,所以如果有問題或想法都歡迎在下面告訴我喔 !

另外,如果你覺得這篇文章有幫助到你、很符合你的需求的話,記得幫我拍手以及分享喔 !

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *