你們好,我是chris,入行前5年在一家上市遊戲公司作算法,從數據挖掘算法在業務線落地開始,涉及機器學習、深度學習,後來逐步負責整個算法團隊建設。
python
如今在阿里,也是負責算法方面的工做,涉及到的領域涵蓋CV、NLP、架構等,業務線也擴展到廣告、運營、客服、風控等各個方面。linux
爲何算法崗難招到人?程序員
在外行人眼中,算法工程師可能拿到最近某大神新發的Paper,或者本身鑽研理論推公式產出理論成果,經過並行編程實現其支持大規模數據訓練,而後戰勝現有模型,ctr提高200%,收入提升200%,年薪百萬。然而實際狀況是:面試
特做爲算法部門負責人,我曾經面試過不少候選人,通常我一般從邏輯思惟、基礎算法與數據結構、數學、深度學習、表達能力和工程經驗等幾個方面考察。算法
我發現其實不少人只是自認爲懂得算法,刷了一遍西瓜書就敢出來面試了,另外有數理基礎的應屆生,算法掌握得也不錯,但實際3年可能寫了不到1000行代碼,實操能力極差。編程
在面試了好幾個簡歷優秀的年輕人後,我驚訝得發現原來不少初學者對數據挖掘/算法工程師實際上的工做流都不是很瞭解,致使職業技能誤差。這就是爲何,企業收到的簡歷愈來愈多,但公司實際可用的就那麼一兩個,並且開價超預算50%,忍痛簽下還可能被同行挖走了。centos
那麼算法崗位具體的工做流程是怎樣的?安全
咱們先來用一個小型NLP項目流程來舉例,讓你們瞭解機器學習項目的大的環境:網絡
1.瞭解需求,獲取數據。與產品和運營開會,瞭解需求,而後提取公司積累大量的數據和本身網上下載、爬取的數據。
2.數據預處理。數據處理大概會佔到整個50%-70%的工做量,經過數據洗清、分詞、詞性標註、去停用詞四個大的方面來完成語料的預處理工做。
3.特徵工程。作完語料預處理以後,接下來須要考慮如何把分詞以後的字和詞語表示成計算機可以計算的類型。把中文分詞的字符串轉換成數字,有兩種經常使用的表示模型分別是詞袋模型和詞向量。
4.特徵選擇。構造好的特徵向量,是要選擇合適的、表達能力強的特徵。特徵選擇是一個頗有挑戰的過程,更多的依賴於經驗和專業知識,而且有不少現成的算法來進行特徵的選擇。
5.模型訓練。對於不一樣的應用需求,咱們使用不一樣的模型,傳統的有監督和無監督等機器學習模型,如 KNN、SVM、Naive Bayes、決策樹、GBDT、K-means 等模型;深度學習模型好比 CNN、RNN、LSTM、 Seq2Seq、FastText、TextCNN 等。
6.評價指標。訓練好的模型,上線以前要對模型進行必要的評估,目的讓模型對語料具有較好的泛化能力。
7.模型上線應用。模型線上應用,線下訓練模型,而後將模型作線上部署,發佈成接口服務以供業務系統使用。
以上流程從業務流程來看,機器學習項目基本就是瞭解業務需求 ->調研業界方案 -> 查看是否適用 -> 上線效果。不難發現,在對待具體業務上,算法工程師如何經過「實踐」提高本身的機器學習水平,以及如何經過機器學習/深度學習實際應用來改善企業的業務等級和營收能力相當重要。數據結構
我常常說算法只是工具,重要的是在正確的行業和產品認知上,實現業務目標。
因此有人恐慌算法工程師會被本身的算法替代,這是極其好笑的。機器能夠作的雖然不少,可是沒法代替人對數據的理解,這是算法工程師存在的價值。而Deep Learning雖然在某種程度上代替人提取特徵,可是它最多隻能解決特徵變換問題,仍然處理不了數據清洗和預處理中須要用到領域知識的狀況。
在個人經歷裏,我傾向於算法工程師是技術+產品經理爲一體的綜合型人才。
而對於跨專業的學生/從業者來講,跨界反而是優點,不是障礙。特別是若是你做爲自己是一個其餘行業(物理,工程,化學,醫學,農業,衛星地圖識別,網絡安全領域,社會科學)的普通程序員,在本行業有比較深的理論和實驗背景,能接觸到海量數據,那麼你徹底能夠作一些創新性和交叉性的工做,這就是人工智能+的人才。
如今有不少的機器學習課程和教科書,它們大都是關於如何從零開始製造烤箱,而不是如何烹飪和創新配方。這種學習路徑不只僅難度大,並且90%學習者沒有在一個方向上深刻,不具有核心能力,也不符合企業的人才觀。
工業界最好的AI入門訓練營
爲了能讓更多初學者瞭解機器學習/數據分析/數據挖掘等崗位的工做流程,找到入門的切入點,
我特意邀請了兩位人工智能不一樣領域的專家,一位BAT的數據挖掘工程師@熊貓醬,一位計算機視覺方向的專家@Angela,還有我阿里高級算法工程師@Chris,以自身具體的工做流爲核心,舉辦連續四場人工智能入門分享會。
分別從各自擅長的領域:python數據分析、機器學習理論、機器學習數學、算法工做流,以咱們在大廠具體工做流逆向指導理論學習,規劃學習路線,是不可多得的入門級課程,旨在爲廣大的AI愛好者和跨行學習者提供堅實的基礎
本次分享會將爲你解答如下疑問:
我適不適合學習人工智能?我是醫學生,如今AI醫療就業狀況怎麼樣?數據分析/數據挖掘/算法工程師的區別及能力模型?算法工程師對算法須要理解到何種程度?模型選擇和參數調優技術,是不是通用的?深度學習算法的應用場景……(~你的全部疑惑,在這裏將所有解決!)
千萬不要在本該快速成長的時候錯過機會。參加本期訓練營,一線導師將盡心爲你在線解答疑問,更有同伴一塊兒相互監督鼓勵!本期更是免費幫你分析具體職業進階方向!
學習資料
機器學習從入門到實戰視頻課程
另外,前500名成功報名這門課程的同窗,均可以得到由這份由上海北大、清華、交大等名校導師以及大廠一線工程師聯合組寫價值1388元的《機器學習從入門到實戰視頻課程》,包含python基礎、數據分析、大數據、機器學習、實戰等五大類目的精華乾貨視頻,課件和源碼都能下載,如下是目錄。
《機器學習從入門到實戰視頻課程》
——五大章節,63講
1、Linux與python編程基礎
1. vmware虛擬機的安裝
2. centos6.9操做系統的安裝
3. linux基本命令使用
4. python介紹
5. python安裝
6. python環境安裝
7. 第一個python程序
8. pycharm(Python開發神器)的使用
9. 變量、整型、浮點型、字符串類型
10. 空值、布爾值、列表、元組、字典、集合
11. if條件語句、input函數
12. 循環語句
13. 函數介紹、函數的定義、函數的調用、函數的參數
14. 函數的返回值
15. 全局變量和局部變量
16. 學生管理系統框架
17. 學生管理系統的增長和查看模塊的編寫
18. 學生管理系統的修改和刪除、家庭做業
2、Python數據分析
19. Python數據科學入門
20. Python經常使用庫介紹
21. 數據分析環境搭建
22. Numpy數據類型和索引的處理
23. NumpyAPI和矩陣運算
24. Numpy高級特性和通用函數
25. Panda概述和Serise
26. Pandas_DataFrame精講
27. DataFrame和Series的索引
3、大數據與數據處理
28. 大數據是什麼
29. 大數據,人工智能,機器學習三者的關係
30. 數據量與高併發(高併發必定是表明數據量大嗎?)
31. hadoop精講:HDFS簡介,架構組成,實操演練
32. hadoop精講:Mapreduce簡介,Wordcount實例,框架流程
33. spark簡介,環境搭建,集羣安裝,實例演示
4、機器學習入門
34. 機器學習簡介
35. 機器學習開發環境
36. 機器學習IDE介紹
37. 機器學習基礎理論與哲理
38. 機器學習算法分類
39. 機器學習常見任務
40. 數據清洗
41. 數據標準化
42. Python與Sklearn數據標準化實踐
43. 機器學習中的類似性度量
44. KNN算法
45. 案例:基於 KNN (sklearn)的鳶尾花卉數據分類
46. 案例:基於 KNN(python)的鳶尾花卉數據分類
47. 一元線性迴歸
48. 多元線性迴歸
49. 多項式迴歸
50. sklearn線性迴歸實踐
51. python線性迴歸實踐
52. 案例:基於線性迴歸的廣告收益分析實戰
53. 邏輯迴歸分類算法
54. 二分類分類器處理多分類問題
55. 案例:基於邏輯迴歸(sklearn)的鳶尾花卉數據分類
56. 案例:基於邏輯迴歸(python)的鳶尾花卉數據分類
5、機器學習5大實戰
57. 前言
58. 準備工做
59. 高端又通常的詞雲
60. DCgan人臉圖片生成
61. 股票價格預測
62. Tensorflow物體檢測
63. 天馬行空的Deep Dream
固然任何資料都只是輔助,分享會最重要的是能跟着老師們一塊兒動手實操,學習一線開發的人工智能思惟,瞭解大廠具體工做流,邁出人工智能的最堅實的一步!