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