0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣才算成為一名合格的算法工程師

工程師人生 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:工程師吳畏 ? 2018-10-16 11:08 ? 次閱讀

一,Q&A部分:

1.一個(gè)特征分析的例子。。。(聽(tīng)不懂)

2. 還是一個(gè)機(jī)器學(xué)習(xí)的例子,(聽(tīng)不懂)大致,降低復(fù)雜度。

3. 傳統(tǒng)算法合格的標(biāo)準(zhǔn),Leetcode(簡(jiǎn)單,中等毫無(wú)壓力,hard難度有一定時(shí)間思考可以解決)

4. Machine Learning算法基礎(chǔ),數(shù)學(xué)基礎(chǔ)(統(tǒng)計(jì)學(xué),微積分,線性代數(shù),離散數(shù)學(xué))

5. 數(shù)據(jù)挖掘相關(guān)的競(jìng)賽

ACM沒(méi)太大幫助,僅僅針對(duì)傳統(tǒng)算法, 針對(duì)數(shù)據(jù)挖掘的競(jìng)賽:Kagle, KDD數(shù)據(jù)挖掘)

6. 算法工程師需要博士么?

live主只有本科學(xué)歷,和基礎(chǔ)知識(shí)。

(碩士比較有必要 因?yàn)槊嬖嚱Y(jié)果好于本科,也就是認(rèn)可度較高)

7. 高維空間xxx相關(guān)的問(wèn)題(還是聽(tīng)不懂)

8. 基礎(chǔ)爛的人,如何學(xué)習(xí)算法?

(花時(shí)間去補(bǔ)基礎(chǔ),鍛煉自己獨(dú)立學(xué)習(xí)獨(dú)立解決問(wèn)題的能力)

9. 數(shù)據(jù)挖掘要學(xué)spark?

Live主認(rèn)為python足夠。

10. 合格的算法工程師需要的數(shù)學(xué)基礎(chǔ)?

后續(xù)另外一個(gè)部分介紹

11. 怎樣練習(xí)算法?指?jìng)鹘y(tǒng)的算法和數(shù)據(jù)結(jié)構(gòu)

1)以模塊化形式 針對(duì)訓(xùn)練。例如學(xué)習(xí)圖輪,相對(duì)于刷圖論相關(guān)的題目

學(xué)習(xí)動(dòng)態(tài)規(guī)劃,刷動(dòng)態(tài)規(guī)劃相關(guān)的題目。

(根據(jù)模塊學(xué)習(xí)和訓(xùn)練)

2)leetcode 隨機(jī)刷題。自己想方案來(lái)解決

(根據(jù)實(shí)際問(wèn)題選擇算法解決問(wèn)題)

12. 有一定高數(shù)基礎(chǔ)和機(jī)器學(xué)習(xí)的基礎(chǔ)概念,如何實(shí)際訓(xùn)練

Kaggle 和KDD 訓(xùn)練,

嘗試寫爬蟲自己挖掘數(shù)據(jù)進(jìn)行研究。

13. 應(yīng)用數(shù)學(xué)/統(tǒng)計(jì)專業(yè)如何轉(zhuǎn)型算法

1)學(xué)習(xí)寫代碼。例如python

2)穩(wěn)固統(tǒng)計(jì)學(xué),并學(xué)習(xí)機(jī)器學(xué)習(xí)相關(guān)的知識(shí)。

14. 數(shù)據(jù)挖掘工程師,有必要深入研究傳統(tǒng)算法,例如算法導(dǎo)論么?

還是重點(diǎn)關(guān)注學(xué)習(xí),統(tǒng)計(jì)等算法呢?

作者認(rèn)為沒(méi)有必要。

傳統(tǒng)算法(算法導(dǎo)論)偏向系統(tǒng)工程方面。

數(shù)據(jù)挖掘便向統(tǒng)計(jì)方面。

15. 本科生非ACMER 需要什么程度才算算法合格?

作者前面說(shuō)的Leetcode初級(jí),中級(jí)無(wú)壓力。高級(jí)題花時(shí)間能研究出來(lái)。

16. 算法工程師和數(shù)據(jù) data scientist的區(qū)別

在中小企業(yè)是不做區(qū)分的。

很大的公司中會(huì)有區(qū)別。

例如算法工程師提供更底層的模塊

數(shù)據(jù)挖掘工程師更偏向于業(yè)務(wù)。

17. 算法工程師的編程能力要達(dá)到什么水平?

如果不做系統(tǒng)級(jí)的開(kāi)發(fā)對(duì)編程能力要求并不高。

系統(tǒng)開(kāi)發(fā),比如分布式計(jì)算,并行計(jì)算。對(duì)編程要求就高很多。

18. 傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)和算法是否對(duì)于機(jī)器學(xué)習(xí)有必要?體現(xiàn)在什么地方?

類比參加高考的數(shù)理化訓(xùn)練。訓(xùn)練思維的方式,思考方式和基礎(chǔ)。

傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)算法接觸大量計(jì)算機(jī)的解決問(wèn)題的思維。

機(jī)器學(xué)習(xí)中會(huì)用到傳統(tǒng)數(shù)據(jù)結(jié)構(gòu)算法,例如圖論,動(dòng)態(tài)規(guī)劃。

字典樹(shù),自動(dòng)機(jī)等等。

---------------------------

二,正文大綱:

如何成為當(dāng)下合格的算法工程師

1. 定義算法工程師

2. 所需內(nèi)功和外公

3. 不可替代性和成長(zhǎng)性

4. 如何快速成長(zhǎng)

5. 算法崗面經(jīng)

6. 量化合格的標(biāo)準(zhǔn)

1. 什么是算法工程師:

從個(gè)大招聘網(wǎng)站的算法崗JD開(kāi)始

主流應(yīng)用:音頻,視頻,圖,像數(shù)據(jù)挖掘,搜索

技術(shù)核心:機(jī)器學(xué)習(xí)

未來(lái):人工智能

(live主認(rèn)為機(jī)器學(xué)習(xí)未必是實(shí)現(xiàn)人工智能的唯一方式,

萬(wàn)一有人腦的API,那么機(jī)器學(xué)習(xí)熱潮可能會(huì)退去)

live主分析了一份阿里的JD

涵蓋了主流機(jī)器學(xué)習(xí)的應(yīng)用和方向

C/C++要求。上手python java快。也能造輪子

(同時(shí)說(shuō)明部門老大技術(shù)應(yīng)該很牛,有可能上升的空間就較小)

分析一份百度的JD

C/C++要求,分布式計(jì)算,自然語(yǔ)言處理。JD描述看似簡(jiǎn)單

往往需要講出自己非常牛的項(xiàng)目經(jīng)歷。

詞云圖:廣告(DSP

java/C++/Python

數(shù)學(xué)

碩士

2. 內(nèi)功和外功

1)內(nèi)功

統(tǒng)計(jì)學(xué)

線性代數(shù)

微積分

算法和數(shù)據(jù)結(jié)構(gòu)

機(jī)器學(xué)習(xí)模型

特征工程

自然語(yǔ)言處理

分布式計(jì)算

。..

2) 外功

C/C++/java

Pyton/R/Matlab

Hadoop/Hive

Spark/Mlib

/Mahout/Tensorflow/Caff

SASS/SPSS

Weka/Stat

MySQL/HBase/MongoDB

。..

live主認(rèn)為高效的方法是先學(xué)會(huì)如何用,然后在學(xué)習(xí)如何用好。

也就是先學(xué)習(xí)外功,再慢慢彌補(bǔ)內(nèi)功。

如果只專注內(nèi)功而忽略外功,很容易成為理論家,而不會(huì)實(shí)際應(yīng)用。

數(shù)學(xué)基礎(chǔ):

機(jī)器學(xué)習(xí),統(tǒng)計(jì)學(xué)習(xí)符號(hào),能夠看懂技術(shù)書籍上的推導(dǎo)證明

參考學(xué)習(xí)路線圖。

(1,2,3,4,5)完成5條路線可以勝任大部分的應(yīng)用。

3. 算法工程師不可代替性

1)非增刪改查開(kāi)發(fā)接口等體力活

2)大腦價(jià)值大于代碼價(jià)值

3)技術(shù)業(yè)務(wù)兩手抓,容易成為項(xiàng)目核心

4)行業(yè)熱點(diǎn),不懂技術(shù)的老板也知道大數(shù)據(jù)重要

5)如何量化不可代替性,工作交接時(shí)間長(zhǎng)

成長(zhǎng)性高

待遇高,5年以后薪資成長(zhǎng)迅猛

有機(jī)會(huì)接觸到更多IT大牛

大多數(shù)ACM獲獎(jiǎng)的應(yīng)屆生選擇算法崗位

挑戰(zhàn)性極強(qiáng),工作難度大

會(huì)隨著大數(shù)據(jù)熱潮變得搶手

4. 如何快速成長(zhǎng)

1)從外功入手,兼顧內(nèi)功修煉

《集體智慧編程》+《統(tǒng)計(jì)基本方法》

所見(jiàn)即所得,有實(shí)際反饋。

2)這是工科,不是理科,因此需要更多實(shí)際項(xiàng)目的訓(xùn)練

LeetCode + Kaggle

需要更多練習(xí),接近實(shí)際的練習(xí)。

leetcode訓(xùn)練傳統(tǒng)算法

Kaggle數(shù)據(jù)挖掘競(jìng)賽(特征工程,大于學(xué)習(xí)模型本身的重要性)

3) 訓(xùn)練自己快速閱讀paper的能力

ICML NIPS AAAI CVPR等

機(jī)器學(xué)習(xí)相關(guān)的期刊的名稱。

比如深度學(xué)習(xí),可以通過(guò)期刊了解到新等模型體系,可以有針對(duì)性的做一些學(xué)習(xí)。

5.算法崗面經(jīng)

C/C++

1.白板編程:反轉(zhuǎn)二叉樹(shù),單鏈表中刪除特定值的節(jié)點(diǎn)。

2.Vector空間的增長(zhǎng)方式,容器是否線程安全,map的時(shí)間空間復(fù)雜度,allocator原理,string內(nèi)存分配。

3.父類和子類中構(gòu)造函數(shù)以及析構(gòu)函數(shù)調(diào)用順序

4.引用和指針的區(qū)別,右值引用的特點(diǎn)以及應(yīng)用場(chǎng)景(移動(dòng)構(gòu)造函數(shù)),性能提升原因

5.解釋深拷貝和淺拷貝并說(shuō)明應(yīng)用場(chǎng)景 (自定義拷貝構(gòu)造函數(shù))

6.C++的優(yōu)勢(shì)與劣勢(shì),如何看待C++中繁多的特性

C++11 和C++14標(biāo)準(zhǔn)

算法與數(shù)據(jù)結(jié)構(gòu)

1. 分治,快排思想:求第k大數(shù)(中位數(shù))

2. 堆,優(yōu)先隊(duì)列:找出出現(xiàn)最多的top100個(gè)值

3. 動(dòng)態(tài)規(guī)劃:數(shù)字金字塔,求兩個(gè)字符串的編輯舉例,最長(zhǎng)不下降子序列

4. 并查集:求好友圈個(gè)數(shù),注意路徑壓縮優(yōu)化

5. 線段樹(shù),樹(shù)狀數(shù)組: 區(qū)間更新和查詢

6. KMP,AC自動(dòng)機(jī):海量字符串檢索比較

Python

1. 數(shù)據(jù)分析:numpy,scipy,sklearn, pandas, matplotlib

2. 爬蟲: requests, urllib, scrpay, beautifulsoup, selenium, 中文編碼

3. 白板編程:重新實(shí)現(xiàn)filter, map, reduce, 反轉(zhuǎn)二叉樹(shù)

4. Python的優(yōu)勢(shì)與劣勢(shì),分析為何GIL帶來(lái)影響。如何解決

如果是初入門可以看廖雪峰的博客進(jìn)行學(xué)習(xí),否則看官方文檔。

統(tǒng)計(jì)學(xué):

1. 量化統(tǒng)計(jì)模型結(jié)果好壞(準(zhǔn)確,召回,ROC,AUC, F1-Measure)

2. 樣本于理論推測(cè)的偏差:卡方檢驗(yàn) X^2 = sigma ((A-T)^2/T)

3. 比較兩個(gè)變量波動(dòng)性 變異系數(shù) CV = sigma(x) / E(x) = STD(x) / AVG(x)

4. 正態(tài)分布N(u, keshi^2) 如何檢驗(yàn)正態(tài)分布

閱讀課本。

數(shù)據(jù)挖掘:

1. 介紹Logistics Regression, Random Forest, GBDT并分析其優(yōu)缺點(diǎn)

2. 闡述L1和L2正則項(xiàng)并做比較

3. 如何解決推薦系統(tǒng)冷啟動(dòng)問(wèn)題

*4. 特征工程:可用性評(píng)估,采樣,無(wú)量綱化, PCA/LDA, 衍生變量

5. 各個(gè)模型的損失函,數(shù)牛頓學(xué)習(xí)法,SGD如何訓(xùn)練

6. 如何生產(chǎn)標(biāo)簽并構(gòu)造用戶畫像(word2vec, kmeans, LDA, TF-IDF)

【live主認(rèn)為特征工程是最重要的】

量化合格標(biāo)準(zhǔn)

語(yǔ)言:C++/Java/Python

能使用擅長(zhǎng)的語(yǔ)言造輪子,寫爬蟲,數(shù)據(jù)分析和挖掘

算法和數(shù)據(jù)結(jié)構(gòu):以獨(dú)立完成Leetcode為佳

(poj, zoj訓(xùn)練)

統(tǒng)計(jì):熟悉基本統(tǒng)計(jì)方,法要有自己完整的統(tǒng)計(jì)體系。

指標(biāo)分析-》提出猜想-》驗(yàn)證-》結(jié)論-》模型

機(jī)器學(xué)習(xí):熟悉常見(jiàn)模型和特征工程方法

同樣要有自己完整的特征工程體系,對(duì)模型優(yōu)劣有基礎(chǔ)認(rèn)識(shí),

以純手工實(shí)現(xiàn)邏輯回歸為佳

一些學(xué)習(xí)資料

美團(tuán)點(diǎn)評(píng)技術(shù) - 《機(jī)器學(xué)習(xí)中的數(shù)據(jù)清洗與特征處理綜述》 http://tech.meituan.com/machinelearning-data-feature-process.html

使 sklearn做特征 程 http://blog.csdn.net/xw_classmate/article/details/51331787

Max Kuhn / Kjell Johnson - Applied Predictive Modeling

Trevor Hastie / Robert Tibshirani / Jerome Friedman - Elements of Statistical Learning

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 工程師
    +關(guān)注

    關(guān)注

    59

    文章

    1571

    瀏覽量

    68574
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4623

    瀏覽量

    93102
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    為什么嵌入式驅(qū)動(dòng)開(kāi)發(fā)工程師可以拿高薪?

    技術(shù)領(lǐng)域具有不可替代的地位。 成為一名優(yōu)秀的嵌入式驅(qū)動(dòng)工程師只需要深耕以下幾點(diǎn): 1)堅(jiān)實(shí)的技術(shù)基礎(chǔ): 首先,需要有堅(jiān)實(shí)的基礎(chǔ),包括計(jì)算機(jī)組成原理、微處理器與微控制器架構(gòu)以及電路設(shè)計(jì)與硬件接口知識(shí)
    發(fā)表于 01-07 16:56

    GpuGeek云平臺(tái)正式上線,專注AI算法工程師需求

    近日,備受矚目的Gpugeek云平臺(tái)于1月6日正式亮相并投入使用。該平臺(tái)是個(gè)專為算法工程師量身打造的AI基礎(chǔ)設(shè)施平臺(tái),致力于為用戶提供全方位、站式的GPU
    的頭像 發(fā)表于 01-07 10:40 ?129次閱讀

    圖像算法工程師的利器——SpeedDP深度學(xué)習(xí)算法開(kāi)發(fā)平臺(tái)

    隨著人工智能的興起,AI工程師特別是基于圖像的算法工程師日益成為炙手可熱的香餑餑。特別是在些行業(yè)市場(chǎng)例如工業(yè)領(lǐng)域等行業(yè)領(lǐng)域,需要根據(jù)具體場(chǎng)
    的頭像 發(fā)表于 11-08 01:06 ?345次閱讀
    圖像<b class='flag-5'>算法</b><b class='flag-5'>工程師</b>的利器——SpeedDP深度學(xué)習(xí)<b class='flag-5'>算法</b>開(kāi)發(fā)平臺(tái)

    FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?

    ,共同進(jìn)步。 歡迎加入FPGA技術(shù)微信交流群14群! 交流問(wèn)題() Q:FPGA中的FPGA算法工程師、FPGA邏輯工程師、FPGA原型驗(yàn)證工程師
    發(fā)表于 09-23 18:26

    嵌入式軟件工程師如何提升自己?

    嵌入式軟件工程師如何提升自己? 作為一名嵌入式軟件工程師,在這個(gè)充滿機(jī)遇和挑戰(zhàn)的領(lǐng)域里,如何提升自己顯得非常重要,它決定了你未來(lái)的發(fā)展方向和成就。接下來(lái),我們起探討
    發(fā)表于 06-12 11:20

    M16連接器14芯怎樣合格

      德索工程師說(shuō)道M16連接器14芯作為種高性能的電氣連接器件,其合格性不僅關(guān)乎產(chǎn)品的基本性能,還涉及到其在實(shí)際應(yīng)用中的穩(wěn)定性和可靠性。以下從多個(gè)方面詳細(xì)闡述M16連接器14芯的合格
    的頭像 發(fā)表于 06-07 17:47 ?912次閱讀
    M16連接器14芯<b class='flag-5'>怎樣</b><b class='flag-5'>才</b><b class='flag-5'>算</b><b class='flag-5'>合格</b>的

    索尼誠(chéng)邀軟件工程師參與PS免費(fèi)手游平臺(tái)設(shè)計(jì)

    據(jù)悉,近日,澳大利亞知名媒體TweakTown發(fā)現(xiàn),索尼互動(dòng)娛樂(lè)正在為其旗下的PlayStation Studios Mobile招募一名資深的軟件工程師,負(fù)責(zé)設(shè)計(jì)PlayStation的免費(fèi)手機(jī)游戲平臺(tái)。
    的頭像 發(fā)表于 05-23 17:08 ?746次閱讀

    個(gè)電源工程師的成長(zhǎng)路徑

    即將走馬上任電源工程師這個(gè)崗位,請(qǐng)問(wèn)各位大佬,這個(gè)崗位的職業(yè)路徑般是怎樣的?
    發(fā)表于 04-08 14:19

    如何成為一名嵌入式C語(yǔ)言高手?

    如何成為一名嵌入式C語(yǔ)言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語(yǔ)言則是嵌入式系統(tǒng)開(kāi)發(fā)中最常用的編程語(yǔ)言之成為一名嵌入式C語(yǔ)言高手
    發(fā)表于 04-07 16:03

    如何成為一名嵌入式C語(yǔ)言高手?

    如何成為一名嵌入式C語(yǔ)言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語(yǔ)言則是嵌入式系統(tǒng)開(kāi)發(fā)中最常用的編程語(yǔ)言之。成為一名嵌入式C語(yǔ)言高手
    發(fā)表于 03-25 14:12

    單片機(jī)如何通過(guò)代碼控制硬件:一名工程師的分享

    今天跟大家聊聊單片機(jī)是怎樣通過(guò)代碼來(lái)操控硬件的。作為一名單片機(jī)工程師,我們平時(shí)的工作就像是給單片機(jī)編寫“指令集”,讓它按照我們的意圖去驅(qū)動(dòng)各種硬件設(shè)備。
    的頭像 發(fā)表于 03-06 14:46 ?1564次閱讀
    單片機(jī)如何通過(guò)代碼控制硬件:<b class='flag-5'>一名</b><b class='flag-5'>工程師</b>的分享

    優(yōu)秀電源工程師需要哪些必備技能?

    就帶大家細(xì)數(shù)下優(yōu)秀電源工程師具備的那些技能。、新手必備課程成為一名電源高手需要扎實(shí)的理論基礎(chǔ),涉及電路原理、語(yǔ)言編程和控制理論等多個(gè)學(xué)科
    發(fā)表于 01-29 11:29