現在打開一些知名招聘網站,搜索“人工智能”后會出現很多招聘崗位,具有誘惑力的薪酬會讓人眼前一亮。以人工智能算法工程師為例,該職位少則月薪1萬、2萬,多則年薪百萬。不像其它行業占據職業高薪榜的是高級管理人才,在人工智能領域中,技術類工程師拿的是最高薪。
人工智能,機器學習,算法這些東西相比較而言是比較難學的,技術性,研究性比一般應用性的開發更難,更費腦子,學習人工智能,機器學習以及算法我認為不僅僅只看重它目前的火熱,以及薪水待遇高這些外在,要想學好這些,其實更重要的是需要興趣以及研究型的頭腦。興趣是最好的老師,如果對算法,機器學習感興趣這是最好的學習方式。
那么作為普通程序員,向人工智能領域靠攏的話,需要做哪些準備呢?
第一,復習線性代數。這非常重要,模型計算全靠它,一定要復習扎實,如果平常不用可能忘的比較多。而高數和概率只要掌握基礎就行了,比如積分和求導、各種分布、參數估計等。概率與數理統計也非常要中,因為cs229種,幾乎所有算法的推演都是從參數估計及其在概率模型中的意義起手的,參數的更新規則具有概率上的可能解釋性。
第二,入門機器學習算法。并非所有的開發者都有機器學習算法的基礎知識,那么開發者如何從零入門來學習好機器學習算法呢?跟著別人的教程來做是一個非常溫和的開始。有很多優秀的資源,可以讓你用來從零開始實現機器學習算法。也許最具權威性的是能指導你完成整個教程的書籍。從啃書本開始學習有很多好處。例如:其他人已經研究出了該算法并把它轉換成了代碼;你可以使用它作為一個用于修改和實驗的已知工作起點。
第三,嘗試用代碼實現算法。在這一步,大部分人都卡在了對算法理解不夠抽象。可以試試看是不是能把算法的每一步寫成你所熟悉的代碼的形式,不用管什么語法是否嚴密,重要的是每一步的邏輯是否清晰,是否能獨立地解釋清楚。一定寫下來自己讀一讀,如果自己讀起來覺得都有點不通,那么可能就是對算法的抽象還不夠,如果讀起來有一個大塊自己覺得似是而非,細化不下去,那么就可能是理解得還不夠深刻。
第四,評估一個機器學習模型。評估訓練出的模型是準確預測的關鍵。訓練出的模型是建立在總數據的子集上的,其被稱為訓練數據,訓練結束后該模型將被用于預測其它新數據。通過訓練集產生的模型,利用測試數據來進行模型效果的評估,評估結果以模型評估報告的形式呈現,在報告中通過AUC值、模型準確率、模型召回率等一系列評估指標將幫助判斷模型是否可行以及是否滿足業務目標。
接下來就是自己去實現完整的模型了,能做到這一點,你的工資能不翻倍?