數學困擾大家主要有這幾個方面:
1、 機器學習需要的數學知識是不是很難,網上的公式都看不懂?
2、 很多人都說工作後就是調參,調包,不太需要用到數學吧?
3、 零基礎究竟該怎麼自學數學,學到哪個程度?
觀點:
1、數學是必須的。
數學對於機器學習來說是必備基礎,數學是內功,你要理解一個演算法的內在邏輯,沒有數學是不行的。以後跑演算法的時候,你可能就是調參、調包,不會用到數學。但是你發現效果不好的時候,如果你數學不懂,就很難作最佳化,數學是你在機器學習路上的天花板。
2、數學也不是很難。
但是,數學真的很難嗎?說實話,對於一般人來說,是有點門檻的,但沒有你想的那麼難。這裡假設你上過大學的數學課,你就具備了機器學習的數學入門門檻了,之後的數學啃一啃是可以下來的。如果說你沒有上過大學的數學,emmm,挺難的,這說明你除了跟別人付出同樣的努力之外,還要多付出一些大學數學的學習。
3、 相比於數學,實際專案能力更重要。
這句話沒錯,可是大部分人在沒接觸到實際專案的時候,就已經被擋在門外了。很多從事機器學習的你問他數學,他可能也不是很懂,可是你能咋辦。人家面試你的時候就要問你這些,問你對演算法的理解,你不會那你就過不了面試啊。
4、 學習是枯燥的,但是有辦法緩解。
在學習演算法的時候,我們會看到很多推導,學著學著就怕了,就失去興趣了,這裡有個方法可以有效緩解。我之前的系列中有本書叫做機器學習實戰,跟著上面的程式碼敲一敲,很容易出成果,你會看到在現實中的實際應用,很有成就感。
5、 數學的學習是可以“取巧”的
這裡說的取巧指的是,數學的學習是有跡可循的,因為入門階段的數學實際上就需要那些,列出來,你自己啃一下就可以了。具體的學習方法不是等你把數學都學好了再去學演算法知識。而是你在學習演算法的時候,看到你數學缺哪塊再去補哪塊,這是最高效的。當然了,在這之前你可以通讀一遍數學的基礎,對學習有個大概是更好的。
數學必備知識點
1、 線性代數
標量、向量、矩陣和張量;矩陣向量的運算;單位矩陣和逆矩陣;行列式;方差,標準差,協方差矩陣;範數;特殊型別的矩陣和向量;特徵分解以及其意義;奇異值分解及其意義
Moore-Penrose 偽逆;跡運算
2、 機率統計
機率學派和貝葉斯學派;何為隨機變數和何又為機率分佈;條件機率,聯合機率和全機率公式;邊緣機率;獨立性和條件獨立性;期望、方差、協方差和相關係數;常用機率分佈;貝葉斯及其應用;中心極限定理;極大似然估計;機率論中的獨立同分布
3、 最佳化
計算複雜性與NP問題;上溢和下溢;導數,偏導數及兩個特殊矩陣;方向導數和梯度;梯度下降法;牛頓法;仿射集,凸集和凸錐;超平面,半空間及凸集分離定理;不改變凸性的運算;凸函式及凸最佳化簡述;無約束的最佳化,等式約束最佳化,不等式約束最佳化;線性規劃中對偶理論;拉格朗日對偶理論
4、 資訊理論及其他
資訊熵;條件熵;相對熵 (KL散度);互資訊;幾種常用的距離度量;圖論;樹論
上面數學基本上就是我們所要學的數學的全部了,看上去有點嚇人是不?不要慌,沒有那麼難,一點點啃下去就可以了。
推薦資料:
資料一:機器學習王牌課程CS229課後配套數學,專門配套機器學習的。
資料二:Yoshua Bengio的《深度學習》書,網上公開的,前面有一部分是對數學的專門講解,很基礎很全面。
數學基礎篇
如果你上面三個材料看起來很吃力,或者說你的數學沒有達到大學的水平。那就是數學基本功的問題了。針對這種情況,我覺得只能把相關的大學數學書拿出來翻一翻,基本概念要弄懂,什麼是矩陣、導數等等,偷不了懶。
1、數學分析與機率論
同濟大學數學教研室,高等數學,高等教育出版社,1996
王松桂、程維虎、高旅端,機率論與數理統計,科學出版社,2000
2、矩陣和線性代數
同濟大學數學系編,工程數學線性代數(第五版),高等教育出版社2007
以上三本數學書,如果你對基礎概念忘了的話,可以選擇性看下相應的篇章。
數學困擾大家主要有這幾個方面:
1、 機器學習需要的數學知識是不是很難,網上的公式都看不懂?
2、 很多人都說工作後就是調參,調包,不太需要用到數學吧?
3、 零基礎究竟該怎麼自學數學,學到哪個程度?
觀點:
1、數學是必須的。
數學對於機器學習來說是必備基礎,數學是內功,你要理解一個演算法的內在邏輯,沒有數學是不行的。以後跑演算法的時候,你可能就是調參、調包,不會用到數學。但是你發現效果不好的時候,如果你數學不懂,就很難作最佳化,數學是你在機器學習路上的天花板。
2、數學也不是很難。
但是,數學真的很難嗎?說實話,對於一般人來說,是有點門檻的,但沒有你想的那麼難。這裡假設你上過大學的數學課,你就具備了機器學習的數學入門門檻了,之後的數學啃一啃是可以下來的。如果說你沒有上過大學的數學,emmm,挺難的,這說明你除了跟別人付出同樣的努力之外,還要多付出一些大學數學的學習。
3、 相比於數學,實際專案能力更重要。
這句話沒錯,可是大部分人在沒接觸到實際專案的時候,就已經被擋在門外了。很多從事機器學習的你問他數學,他可能也不是很懂,可是你能咋辦。人家面試你的時候就要問你這些,問你對演算法的理解,你不會那你就過不了面試啊。
4、 學習是枯燥的,但是有辦法緩解。
在學習演算法的時候,我們會看到很多推導,學著學著就怕了,就失去興趣了,這裡有個方法可以有效緩解。我之前的系列中有本書叫做機器學習實戰,跟著上面的程式碼敲一敲,很容易出成果,你會看到在現實中的實際應用,很有成就感。
5、 數學的學習是可以“取巧”的
這裡說的取巧指的是,數學的學習是有跡可循的,因為入門階段的數學實際上就需要那些,列出來,你自己啃一下就可以了。具體的學習方法不是等你把數學都學好了再去學演算法知識。而是你在學習演算法的時候,看到你數學缺哪塊再去補哪塊,這是最高效的。當然了,在這之前你可以通讀一遍數學的基礎,對學習有個大概是更好的。
數學必備知識點
1、 線性代數
標量、向量、矩陣和張量;矩陣向量的運算;單位矩陣和逆矩陣;行列式;方差,標準差,協方差矩陣;範數;特殊型別的矩陣和向量;特徵分解以及其意義;奇異值分解及其意義
Moore-Penrose 偽逆;跡運算
2、 機率統計
機率學派和貝葉斯學派;何為隨機變數和何又為機率分佈;條件機率,聯合機率和全機率公式;邊緣機率;獨立性和條件獨立性;期望、方差、協方差和相關係數;常用機率分佈;貝葉斯及其應用;中心極限定理;極大似然估計;機率論中的獨立同分布
3、 最佳化
計算複雜性與NP問題;上溢和下溢;導數,偏導數及兩個特殊矩陣;方向導數和梯度;梯度下降法;牛頓法;仿射集,凸集和凸錐;超平面,半空間及凸集分離定理;不改變凸性的運算;凸函式及凸最佳化簡述;無約束的最佳化,等式約束最佳化,不等式約束最佳化;線性規劃中對偶理論;拉格朗日對偶理論
4、 資訊理論及其他
資訊熵;條件熵;相對熵 (KL散度);互資訊;幾種常用的距離度量;圖論;樹論
上面數學基本上就是我們所要學的數學的全部了,看上去有點嚇人是不?不要慌,沒有那麼難,一點點啃下去就可以了。
推薦資料:
資料一:機器學習王牌課程CS229課後配套數學,專門配套機器學習的。
資料二:Yoshua Bengio的《深度學習》書,網上公開的,前面有一部分是對數學的專門講解,很基礎很全面。
數學基礎篇
如果你上面三個材料看起來很吃力,或者說你的數學沒有達到大學的水平。那就是數學基本功的問題了。針對這種情況,我覺得只能把相關的大學數學書拿出來翻一翻,基本概念要弄懂,什麼是矩陣、導數等等,偷不了懶。
1、數學分析與機率論
同濟大學數學教研室,高等數學,高等教育出版社,1996
王松桂、程維虎、高旅端,機率論與數理統計,科學出版社,2000
2、矩陣和線性代數
同濟大學數學系編,工程數學線性代數(第五版),高等教育出版社2007
以上三本數學書,如果你對基礎概念忘了的話,可以選擇性看下相應的篇章。