演算法工程師的核心競爭力
人工智慧是現在最火的概念了,好多投資機構也熱衷於人工智慧的概念。關於人工智慧我自問自答了幾個問題。
1. 如果你創建一個人工智慧公司,核心競爭力是什麼?
是演算法,是數據,還是是行業認知和積累?如果是演算法,別的公司花錢請一個演算法更牛的人,是否能夠打敗你?如果是數據,那麼競對不是那麼好複製,如果是行業認知和積累,也不好複製。
2.一個演算法工程師的核心競爭力是什麼?
所謂核心競爭力,就是你相對於後來者的壁壘。
是演算法?工程?業務理解深度?
現在出現了很多機器學習框架,訓練一個模型非常簡單,那麼對於考演算法細節是否有必要?了解演算法細節可以靈活的應用機器學習框架,理解所有框架的本質,所以理解演算法有必要。 舉個例子,LR演算法在python中有sklearn包,在spark中有mllib包,還會有很多其他包,但是LR的原理是不變的,萬變不離其宗,變化的是框架,不變的是演算法原理和思想。
除了演算法,還應該考察什麼?
業務理解,是否有成為領域專家的潛力。
3.演算法工程師的本質是什麼?
演算法很難成為壁壘,因為演算法複製成本非常低。那麼能形成壁壘的就是數據和領域知識了,演算法工程師自己並不擁有數據,那麼就只剩下領域知識了。 既然領域知識很重要,那麼演算法工程師其實是選擇一個領域。數據是和業務緊密相關的,了解業務的本質就了解數據的本質,反過來說也對,了解數據本質就了解業務的本質。 演算法的學習成本很低,領域知識的學習成本很高,數據獲取成本很高。
綜上,只懂演算法不懂業務,只懂業務不懂演算法都不能成為合格的演算法工程師。一個合格的演算法工程師是能夠理解演算法,能夠熟練使用機器學習框架,能夠理解業務的本質(可以通過數據,交流和思考),解決業務問題的人。
從我在兩家公司供職的經歷來看,演算法工程師經常和運營打交道,因為運營是離業務最近的一幫人,所以這樣的設定是合理的。 對業務深入理解,能夠看清業務的本質,理解真正的目標,是演算法能夠發揮價值的基礎。
總結起來,演算法工程師的關鍵詞是:理解演算法,理解業務(領域知識),應用框架,解決問題。
推薦閱讀: