-
1 # 劉金玉
-
2 # IT人劉俊明
首先,數學基礎是學習演算法的前提,在計算機領域演算法是解決問題的根本途徑,計算機問題說到底都是演算法問題,也可以說是數學問題。要想系統的學習演算法需要了解高等數學、線性代數、機率論以及離散數學,這幾門課程是學習演算法的基礎。
如果是做演算法實現工程師,那麼具備基礎的數學知識就能夠勝任,在一邊工作的過程中一邊補學相關的內容也是可以的,但是對於演算法設計師來說,則必須具備紮實的數學基礎。演算法實現工程師的任務是把演算法透過具體的程式語言實現出來,比如使用R或者是Python語言,目前Python語言的應用有趕超R的趨勢。現在有不少開發團隊要求演算法設計師也要同時具備演算法實現的能力,所以學習Python語言對演算法設計師來說也是有必要的。
演算法設計師的工作相對來說有一定的難度,也需要大量的經驗積累。演算法設計師做演算法設計要結合具體的場景進行,不同場景需要採用不同的演算法。另外,演算法的設計往往是基於成熟的演算法展開的,比如在機器學習領域裡面比較常見的經典演算法包括決策樹、樸素貝葉斯、Apriori演算法、kNN演算法等、Logistic迴歸演算法等。演算法的設計是一個複雜的過程,需要經過大量資料的驗證,往往也比較耗費時間。
所以,對演算法設計師來說,首先要做的事情就是掌握常規演算法(經典演算法),然後經過大量的場景驗證,在此基礎上做一些新的設計,或者是結合使用,這是演算法設計師的工作路線。演算法設計師不是演算法的套用,套用演算法並不複雜,複雜的是從場景、資料整理等多方面因素綜合分析來設計算法。所以,演算法工程師往往需要時間的錘鍊。
如果有大資料方面的問題,也可以諮詢我。
-
3 # bella~
①機器學習演算法的基礎是數學,入門AI必須掌握一些必要的數學基礎,但是並不是全部的數學知識都要學,只學工作上實際有用到的,比如是微積分、機率論、線性代數、凸最佳化等這些。
②資料分析裡需要應用到的內容也需要掌握,但不是網上所說的從0開始幫你做資料分析的那種,而是資料探勘或者說是資料科學領域相關的東西,比如要知道計算機裡面怎麼挖掘資料、相關的資料探勘工具等等
補足了以上數學和資料探勘基本知識,才可以正式進行機器學習演算法原理的學習。
③演算法方面需要掌握一些基本的框架:python、spark、mllib、scikit-learning、pytorch、TensorFlow,資料方面需要懂得HQL、numpy、pandas,如果你本身是後臺開發、app開發、資料分析、專案管理,則是一個學習演算法的一個加分項。
④最後需要對人工智慧有全域性的認知,包括機器學習、深度學習兩大模組,相關的演算法原理、推導和應用的掌握,以及最重要演算法思想。
所以我建議你真正要學習的話,可以報個班系統地學習,搭建起整個機器學習的知識體系,在這裡我推薦下菜鳥窩的機器學習工程師就業課。他們會從python基礎、資料分析、數學開始,都是從0基礎手把手教學,老師都是BAT工業界多年實踐經驗的,能讓你在最短時間入門機器學習,並且擁有持續讀paper等的自學能力,,你可以先聽聽他們的免費公開課
回覆列表
我覺得要有一定的數學基礎。最好能夠有較深的計算機基礎。但相比較而言,數學基礎更為重要。
如果說能夠懂一些計算機的程式設計,我想應該非常有利於計算機思維下對於演算法的理解。
程式設計目前最為簡單的入門語言就是VB了。如果你需要,可以百度程式設計創造城市