入門機器學習到底需要多少數學知識

還記得上個月的時候,準備學習機器學習的知識,想著線性回歸模型較簡單一些,那就從它開始吧。可是仔細一看裡面的知識包括矩陣、極大似然函數、求導等方面的知識,這些知識也只是大學的時候學習的,現在也早已還給了老師。於是開始搜索入門機器學習需要哪些數學知識,應該怎麼去學,搜索的結果表明,概率論統計、線性代數、高等數學這些知識都是需要的。可是自己真的要花很長時間一點點的把這幾本書給學完嗎?

我當時就在想,如果僅僅把這幾本書簡單學習一下,沒有一個月估計也是不行的,再說一點點的看,也看不下去啊。所以,那有沒有最少的必要知識,能讓自己入門機器學習呢?於是開始尋找,有沒有人總結了這方面的知識,並且把知識講的容易理解,還能夠把知識串起來呢?這個還真有,想到原來考研老師在我們學校講考研基礎課程的時候,像線性代數這樣的課程用了一天的時間就把知識大概串了一遍。於是,我就找到了他的視頻,也送給大家。張宇老師的考研數學視頻,這份視頻包含了考研各個階段的視頻,裡面包含概率統計、線性代數、高等數學,大家看完基礎篇所補充的數學知識差不多也夠了。好了,這篇文章的主題也就結束了,下面的是我在學習時走的一些彎路。

近幾天我學習一些機器學習知識的感受。

我最大的感受是,機器學習演算法真的讓人看不懂啊,這種看不懂並不是因為數學知識太過於複雜,而是因為好多概念都特別陌生,比如拿一篇演算法的文章來看,看到第二段的時候,第一段的內容已經都忘記了;有時候就會糾結某一個推導公式怎麼來的呢,想了半天就是想不出來,其實在文章中作者已經鋪墊過,只是自己不熟悉文章總是忽略掉重點信息。想想看,對於不熟悉的知識,也是在所難免的,所以自己在學習某一種演算法時,就先找一篇關於這種演算法的通俗介紹,心裡有個大概印象,知道這個演算法是幹什麼用的,然後再開始學習這種演算法的原理,碰到不理解的就回頭重新看文章。

自己學習時犯得錯誤

剛開始的時候,自己犯了一個錯誤就是,一旦看不懂,就想者搜索關於這個演算法能夠看懂的文章,可到最後搜了一些文章還是看不懂,但自己不死心啊,就開始找視頻,找到後快進著看視頻,想找到能夠解決自己疑問的那一段,就這樣把一套視頻給快進完了還是沒有解決疑問。然後一個下午的時間過去了,自己也陷入了深深的自責之中。所以,希望和我一樣是剛開始學習機器學習演算法的朋友們,在學習的時候,一定要有耐心,很多看不懂的東西,其實認真多看幾遍就好了。我學習的時候,為了防止遺漏信息而看不懂文章,都是一邊看一邊在抄寫文章。有一點大家也應該注意一下,有好多人寫的文章是沒有經過深思熟慮的,看的時候應注意甄別,所以為了保險可以選擇一本權威的書來學習,其他為輔助。書本,我看的是,李航老師的《統計學習方法》,還有一位博客園作者寫的挺好的,推薦給大家(劉建平Pinard)

學習時,要不要買課或報班的問題

在網上看到了好多數據分析或者數據挖掘的課程,但仔細看課程大綱,大多是學習Python的一些基礎知識,numpy、matplotlib、pandas這三個包的用法,然後就開始講kaggle上找的一些比賽,教給大家是如何調用機器學慣用的scikit-learn這個包。其實,這樣的課程大家都是可以自己學習的,如果是機器學習演算法之類的課程,根據費用大家可以考慮一下,因為這類知識還沒有太普及。

好了,大家一起加油啊!

推薦閱讀:

遠的數據分析之路
用SQL實現 excel常用操作(附一些面試原題)
如何寫出一篇讓人滿意的數據分析報告?

TAG:数据挖掘 | 数据分析 | 转行 |