機(jī)器學(xué)習(xí)算法實(shí)習(xí)面經(jīng)(阿里一面+GrowingIO兩面)

阿里天貓一面

今天早上突然接到了阿里的面試電話,真的是十分驚悚羽莺。实昨。本來(lái)想約20分鐘以后(回宿舍準(zhǔn)備好開卷設(shè)備),但是小哥說(shuō)過(guò)一會(huì)他要開會(huì)禽翼,所以就這樣硬著頭皮開始了阿里一面屠橄。

先是一個(gè)簡(jiǎn)單的自我介紹族跛;

1.然后介紹了項(xiàng)目的框架和主要?jiǎng)?chuàng)新點(diǎn)闰挡;

2.說(shuō)一下隨機(jī)森林和Adaboost,以及區(qū)別

3.說(shuō)一下GBDT和Adaboost礁哄,以及區(qū)別

4.你用到了LDA說(shuō)一下LDA的原理

5.對(duì)于PCA长酗,會(huì)有第一主成分、第二主成分桐绒,怎么為什么第一主成分是第一夺脾,原因是什么?

6.PCA的主成分是怎么得到的

小哥說(shuō)他們推薦主要會(huì)基于圖片之類的茉继、所以可能深度學(xué)習(xí)用的多

我問(wèn)小哥那是不是一定要求會(huì)深度學(xué)習(xí)才行啊

小哥說(shuō)咧叭,你不會(huì)可以學(xué)么。烁竭。菲茬。這樣我這邊先給你過(guò),看下一面吧,這還有一段時(shí)間你先學(xué)學(xué)婉弹,關(guān)于深度學(xué)習(xí)睬魂、圖像、推薦相關(guān)的內(nèi)容镀赌。

然后我又確定了一下地點(diǎn)是否在杭州氯哮,就結(jié)束了我與阿里的第一次接觸,可以說(shuō)是很刺激了商佛。


GIO機(jī)器學(xué)習(xí)工程師(實(shí)習(xí))一面

這次小哥先加了我的微信喉钢,然后通過(guò)微信語(yǔ)音進(jìn)行了面試。小哥先進(jìn)行了一下自我介紹(話說(shuō)這還是第一次有面試官作自我介紹給我)威彰,并且介紹了一下公司的情況出牧,目前所做的東西是什么棒假。

然后讓我也進(jìn)行了一個(gè)簡(jiǎn)短的自我介紹中贝,其中簡(jiǎn)單涉及了一些學(xué)業(yè)情況,學(xué)術(shù)研究和本科的實(shí)習(xí)镀首。

1.還是先問(wèn)了簡(jiǎn)歷里面寫的科研項(xiàng)目豹缀,問(wèn)了其中我所做的幾個(gè)創(chuàng)新點(diǎn)伯复,以及哪一部分出了論文,

然后就是我balabala的講了半天的我做的東西邢笙,(小哥好像覺(jué)得還可以)

2.其中小哥還給我提了一個(gè)意見啸如,在我短期興趣的計(jì)算中,是否可以使用時(shí)間隊(duì)列來(lái)做氮惯,他曾經(jīng)看過(guò)的一篇YouTube發(fā)表的論文中叮雳,就有使用時(shí)間隊(duì)列來(lái)做短期興趣的方法,這個(gè)我覺(jué)得可以學(xué)習(xí)一下妇汗。

~~~~~~~~~~~~分割一下~~~~~~~~~~

這里有個(gè)背景要說(shuō)帘不,

我在投了這個(gè)公司以后,收了一份takehome test面試題杨箭,是給了一些關(guān)于電商購(gòu)買記錄的數(shù)據(jù)寞焙,要給出一個(gè)模型,可以識(shí)別出電商詐騙的購(gòu)買記錄互婿。

這個(gè)東西只給了48小時(shí)的時(shí)間來(lái)完成捣郊,所以做的很匆忙,因?yàn)檫@兩天有搜狐和好未來(lái)的面試慈参,以及華為和美團(tuán)的筆試23333333呛牲。所以完成的其實(shí)不是很好,本來(lái)以為不會(huì)有下文了驮配,沒(méi)想到周五開學(xué)術(shù)討論會(huì)的時(shí)候接到了HR的電話娘扩。

~~~~~~~~~~~~我分割完了~~~~~~~~~~

3.然后小哥開始問(wèn)了我是如何完成這個(gè)任務(wù)的尊勿。

首先講了如何進(jìn)行特征處理,和特征離散化畜侦,以及為什么要這么做元扔,

之后說(shuō)了都使用了什么樣的機(jī)器學(xué)習(xí)模型去跑,結(jié)果如何旋膳,性能如何(使用了邏輯回歸澎语,SVM-Liblinear,樸素貝葉斯验懊,kNN擅羞,決策樹,隨機(jī)森林义图,GDBT和xgboost减俏。其中GDBT和xgboost的效果相當(dāng),達(dá)到了恐怖的99.3%的準(zhǔn)確率)碱工。

4.當(dāng)我們要求準(zhǔn)確率很高娃承,但是不在意召回率的時(shí)候,可以怎樣處理怕篷。

我當(dāng)時(shí)有點(diǎn)蒙啊历筝,就說(shuō)了可以提高對(duì)負(fù)樣本的懲罰。廊谓。梳猪。小哥提示我,比如xgboost你可以提高閾值罢舯浴(哇春弥,這方法好,我好笨叠荠。匿沛。。這竟然沒(méi)想到)蝙叛。

5.繼續(xù)俺祠,那么閾值如何確定呢

可以公给。借帘。。一點(diǎn)點(diǎn)試試啊

小哥告訴我淌铐,這道也是個(gè)辦法肺然,但是你沒(méi)辦法得到一個(gè)特別合適的值啊,告訴我可以用Auc然后找個(gè)合適的值(看來(lái)這個(gè)AUC的用途還要在挖掘一下腿准,這個(gè)東西原來(lái)還有其他的用途)

6.xgboost际起,說(shuō)一下原理拾碌,步長(zhǎng)如何設(shè)定

從GDBT原理講起,xgboost是其加強(qiáng)版街望,說(shuō)了xgboost相比于GDBT的改進(jìn)與不同校翔,包括基學(xué)習(xí)器的選擇,二階泰勒展開以及原因灾前,行列抽樣防症,關(guān)于樹復(fù)雜度的正則項(xiàng),并行實(shí)現(xiàn)方法哎甲。

步長(zhǎng)的話 Python的xgboost 庫(kù)里面有一個(gè)參數(shù)可以調(diào)整蔫敲,常用范圍為0.01~0.2(還好我下午剛看過(guò)這地方。炭玫。)

接下來(lái)就到了奈嘿,每次都有的“你還有什么問(wèn)題么”的環(huán)節(jié)了。吞加。我問(wèn)了下公司的規(guī)模與環(huán)境裙犹,推薦相關(guān)的部分是具體做什么的,公司產(chǎn)品的具體嵌入方法衔憨。

然后小哥還問(wèn)了我的實(shí)習(xí)時(shí)間伯诬,畢業(yè)時(shí)間,是否已經(jīng)有offer巫财。

總結(jié)一下就是盗似,用過(guò)的東西一定要搞清楚,從原理到使用到優(yōu)缺點(diǎn)到類似方法的對(duì)比到調(diào)參等細(xì)節(jié)平项。


GIO機(jī)器學(xué)習(xí)工程師(實(shí)習(xí))二面

這次的二面問(wèn)的問(wèn)題都很open赫舒,都是一些如何讓我的推薦系統(tǒng)可以更好的應(yīng)用于大數(shù)據(jù)的實(shí)際場(chǎng)景當(dāng)中去的問(wèn)題。這次的面試官是該公司的機(jī)器學(xué)習(xí)總監(jiān)闽瓢,曾經(jīng)是多個(gè)互聯(lián)網(wǎng)公司推薦系統(tǒng)的負(fù)責(zé)人(了解到的有當(dāng)當(dāng)接癌、58等)。第一次面對(duì)這種大牛還是很緊張的扣讼。

首先是一個(gè)1分鐘的簡(jiǎn)短的自我介紹缺猛。

還是聊項(xiàng)目,說(shuō)了一下我推薦系統(tǒng)中的創(chuàng)新點(diǎn)椭符,以及系統(tǒng)架構(gòu)和實(shí)現(xiàn)荔燎。

然后開始針對(duì)我們系統(tǒng)提出一系列的問(wèn)題:

1.你的用戶的興趣特征有哪些,如何獲得和使用這些特征進(jìn)行推薦销钝?

命名實(shí)體有咨、關(guān)鍵字VSM傳統(tǒng)向量空間、主題分布蒸健。 使用經(jīng)典的Rocchio方法座享,對(duì)用戶興趣進(jìn)行建模婉商,分為正向樣本和負(fù)向樣本,對(duì)于正向樣本(也就是看過(guò)的新聞)以一定權(quán)重加入到用戶興趣模型中去(這個(gè)權(quán)重是可以通過(guò)我的算法算出一個(gè)具體值的)渣叛;對(duì)于負(fù)向樣本丈秩,以一定權(quán)重減到用戶興趣模型中去。

在推薦時(shí)淳衙,對(duì)于基于內(nèi)容的部分癣籽,使用用戶的興趣向量與新聞的特征向量,在三個(gè)不同層面(主題滤祖,實(shí)體筷狼,關(guān)鍵字)上做余弦相似度,然后以一定的權(quán)值加權(quán)求和得到用戶對(duì)于該新聞的興趣值匠童。

對(duì)于協(xié)同過(guò)濾的部分埂材,使用用戶喜好的相似性(計(jì)算用戶興趣的余弦相似度,方法同上)和瀏覽記錄的相似性的和來(lái)判斷用戶間的相似程度汤求。使用這二者結(jié)合的模式俏险,可以一定程度上降低協(xié)同過(guò)濾的冷啟動(dòng)現(xiàn)象。

2.你的新聞備選集是什么扬绪,這樣做是否是要遍歷所有新聞來(lái)進(jìn)行匹配呢竖独?

在我的場(chǎng)景下,由于新聞量不是很多挤牛,所以備選集就是當(dāng)天的所有新聞(大概200~300條)莹痢。所以目前是逐個(gè)進(jìn)行匹配的。但是這種方法在大數(shù)據(jù)的場(chǎng)景下是不合理的墓赴。所以我對(duì)此也有一些方案和想法竞膳。首先可以將新聞進(jìn)行聚類(根據(jù)時(shí)效性如果推薦的是近兩天的新聞,那就每?jī)商斓男侣勥M(jìn)行一次聚類)诫硕,這種聚類時(shí)分層次的坦辟。

1.首先使用主題分布進(jìn)行聚類,將新聞劃分為多個(gè)大的簇章办,這樣每個(gè)簇都是主題分布比較接近的新聞锉走,稱這個(gè)大簇為主題簇。

2.然后對(duì)于每個(gè)簇中藕届,可以使用命名實(shí)體和關(guān)鍵詞挪蹭,進(jìn)行第二次聚類,這樣每個(gè)主題簇中的小簇就代表了內(nèi)容相近的新聞翰舌。

這樣我們?cè)谕扑]時(shí)嚣潜,可以先匹配主題偏好前k個(gè)的主題簇冬骚,然后按照偏好比例從主題簇中挑選新聞椅贱。

在每個(gè)主題簇中懂算,若我們要選擇n個(gè)新聞,那么我們就可以選擇相似度前n的小簇庇麦,在每個(gè)小簇中選擇相似度最高的新聞(或者隨機(jī)游走也不是不行)计技。這樣就可以減少很大的計(jì)算量。

3.那要使用哪種聚類算法呢山橄?

快的話就k-means吧

4.k-means中的k如何確定呢垮媒?

一般根據(jù)經(jīng)驗(yàn)來(lái)確定一個(gè)范圍,然后在范圍中一個(gè)一個(gè)試吧航棱。根據(jù)每個(gè)簇中的聚集程度來(lái)判斷當(dāng)前的k值是否合理睡雇。

這個(gè)回答的不是很好。饮醇。它抱。。其實(shí)應(yīng)該這樣:

關(guān)于k-means的k的確定方法

1.計(jì)算所有點(diǎn)到對(duì)應(yīng)的類中心的距離均值朴艰,k值越大距離均值就越小观蓄,但是隨著k的增大,距離均值的變化幅度也會(huì)越來(lái)越小祠墅,就如下圖侮穿,可以在變化幅度小于某一閾值時(shí),確定該k值為最優(yōu)解毁嗦。

5.除了k-means亲茅,還可以用什么聚類方法,或者你還熟悉什么聚類方法狗准。如何應(yīng)用在你的場(chǎng)景中呢芯急?

比較熟悉的還有層次聚類,層次聚類相較于k-means的優(yōu)點(diǎn)就是不用指定k的個(gè)數(shù)驶俊,但是會(huì)比k-means慢一些娶耍。

(區(qū)別還應(yīng)該拓展一些)

層次聚類的聚類結(jié)果是一個(gè)樹型結(jié)構(gòu)(如下),那么根據(jù)層次聚類的結(jié)果就可以直接得到大小簇的關(guān)系了饼酿,就不需要多次聚類了榕酒。

6.那么使用了層次聚類的話,你又如何判斷聚成多少類合適呢故俐?

還是根據(jù)類內(nèi)的緊密程度想鹰?

Ps:屁,這樣一點(diǎn)都不好药版,是我層次聚類學(xué)習(xí)的太少了辑舷,事實(shí)上如上圖,層次聚類是一個(gè)從下到上合并的過(guò)程槽片,每次合并都會(huì)有一個(gè)合并的距離閾值何缓,我們可以設(shè)定一個(gè)合理的距離閾值來(lái)決定聚為多少類肢础。那么問(wèn)題又來(lái)了,這個(gè)閾值如何確定呢碌廓?

其實(shí)這里的思想倒是又和確定k-means中的k差不多了传轰,如下圖,剛開始合并的時(shí)候谷婆,每次距離的變化都是比較小的慨蛙,但當(dāng)我們一次次合并的時(shí)候,一般會(huì)有一個(gè)突變或者變化比較明顯的地方纪挎,那么我們可以繪制下圖根據(jù)圖中的變化來(lái)確定這個(gè)閾值為多少比較合理期贫,也就是確定了聚為多少類比較合理。

7.好异袄,那么我還想繼續(xù)提高推薦的效率唯灵,可以怎么做?

可以降維隙轻。埠帕。

8.不,我要求在不損失準(zhǔn)確性的前提下玖绿,不可以加機(jī)器敛瓷,單純的從算法上面解決這個(gè)問(wèn)題。

啊斑匪∧抛眩可以在計(jì)算用戶興趣向量與新聞相似度的時(shí)候,只保留用戶的興趣部分中與這篇新聞?dòng)嘘P(guān)的內(nèi)容蚀瘸,也就是做個(gè)交集狡蝶,然后在計(jì)算,可以提高計(jì)算效率贮勃。

9.還有呢

啊贪惹。。在協(xié)同過(guò)濾的時(shí)候需要找到用戶的鄰居節(jié)點(diǎn)寂嘉,這時(shí)候可以離線對(duì)用戶進(jìn)行聚類奏瞬,隔一段時(shí)間更新一次,這樣在尋找鄰居節(jié)點(diǎn)的時(shí)候只需要泉孩,尋找同一個(gè)簇內(nèi)的用戶硼端,這樣可以節(jié)省時(shí)間。

10.還有呢

啊寓搬。珍昨。。(我想我想,想到翻白眼傲偷洹)可以在簇內(nèi)對(duì)新聞進(jìn)行排序兔毙。。然后二分搜索這樣

11.高維特征你怎么排序呢骆撇?

把相似的放一起

12.那也不是排序啊

啊瞒御。父叙。神郊。是(翻白眼思考2分鐘),抱歉現(xiàn)在沒(méi)有別的好的想法了趾唱。

Ps:其實(shí)這時(shí)候可以跟前面的層次聚類結(jié)合起來(lái)涌乳,層次聚類的結(jié)果的那棵樹,就可以當(dāng)成一顆搜索樹甜癞,用來(lái)搜索最合適的小簇夕晓。這是我第二天早上醒來(lái)的時(shí)候想到的。悠咱。蒸辆。。

13.接下來(lái)談?wù)勚白龅膖ake home test析既,你這個(gè)類躬贡、這個(gè)類都是干什么的,說(shuō)一下職能眼坏。

實(shí)體類結(jié)構(gòu)拂玻、數(shù)據(jù)管理和處理工具、訓(xùn)練和結(jié)果

14.我們來(lái)分析一下你這個(gè)類宰译,其中的構(gòu)造函數(shù)中存在一些問(wèn)題檐蚜,有些變量不應(yīng)該在這里面,因?yàn)檫@些不是使用初始化的入?yún)?lái)構(gòu)造的沿侈。而是你在這里聲明并賦值為0的闯第,這樣會(huì)造成邏輯混亂,可讀性差缀拭。乡括。balbala。所以是不是應(yīng)該放在其他位置來(lái)維護(hù)和初始化比較合理呢智厌。哎呀這個(gè)問(wèn)題好像有些超綱诲泌。。沒(méi)事這個(gè)你可以注意一下铣鹏。

好敷扫。。啊 對(duì) 。葵第。绘迁。啊 我知道了,確實(shí)這樣不太好卒密。(確實(shí)沒(méi)有注意這方面的問(wèn)題缀台,平時(shí)編代碼還是太隨便了)

15.你是怎么處理和使用這些所給的特征的。

像不能直接使用的變量處理為對(duì)該情景有意義的表現(xiàn)形式哮奇。然后離散化膛腐。

16.我看到你瀏覽器類型這個(gè)變量,使用if else來(lái)判斷時(shí)那種然后添加0或1的鼎俘,那么當(dāng)我的瀏覽器的種類不確定的情況下哲身,你要怎么處理。

單獨(dú)維護(hù)一個(gè)瀏覽器類型的數(shù)組贸伐,當(dāng)有新的就添加一個(gè)勘天。所有的實(shí)例都參照這個(gè)數(shù)組來(lái)構(gòu)建瀏覽器類型的特征值。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末捉邢,一起剝皮案震驚了整個(gè)濱河市脯丝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌伏伐,老刑警劉巖宠进,帶你破解...
    沈念sama閱讀 211,123評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異秘案,居然都是意外死亡砰苍,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,031評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門阱高,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)赚导,“玉大人,你說(shuō)我怎么就攤上這事赤惊『鹁桑” “怎么了?”我有些...
    開封第一講書人閱讀 156,723評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵未舟,是天一觀的道長(zhǎng)圈暗。 經(jīng)常有香客問(wèn)我,道長(zhǎng)裕膀,這世上最難降的妖魔是什么员串? 我笑而不...
    開封第一講書人閱讀 56,357評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮昼扛,結(jié)果婚禮上寸齐,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好渺鹦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,412評(píng)論 5 384
  • 文/花漫 我一把揭開白布扰法。 她就那樣靜靜地躺著,像睡著了一般毅厚。 火紅的嫁衣襯著肌膚如雪塞颁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,760評(píng)論 1 289
  • 那天吸耿,我揣著相機(jī)與錄音祠锣,去河邊找鬼。 笑死珍语,一個(gè)胖子當(dāng)著我的面吹牛锤岸,可吹牛的內(nèi)容都是我干的竖幔。 我是一名探鬼主播板乙,決...
    沈念sama閱讀 38,904評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼拳氢!你這毒婦竟也來(lái)了募逞?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,672評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤馋评,失蹤者是張志新(化名)和其女友劉穎放接,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體留特,經(jīng)...
    沈念sama閱讀 44,118評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡纠脾,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,456評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了蜕青。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片苟蹈。...
    茶點(diǎn)故事閱讀 38,599評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖右核,靈堂內(nèi)的尸體忽然破棺而出慧脱,到底是詐尸還是另有隱情,我是刑警寧澤贺喝,帶...
    沈念sama閱讀 34,264評(píng)論 4 328
  • 正文 年R本政府宣布菱鸥,位于F島的核電站,受9級(jí)特大地震影響躏鱼,放射性物質(zhì)發(fā)生泄漏氮采。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,857評(píng)論 3 312
  • 文/蒙蒙 一染苛、第九天 我趴在偏房一處隱蔽的房頂上張望鹊漠。 院中可真熱鬧,春花似錦、人聲如沸贸呢。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,731評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)楞陷。三九已至怔鳖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間固蛾,已是汗流浹背结执。 一陣腳步聲響...
    開封第一講書人閱讀 31,956評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留艾凯,地道東北人献幔。 一個(gè)月前我還...
    沈念sama閱讀 46,286評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像趾诗,于是被迫代替她去往敵國(guó)和親蜡感。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,465評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容