2023年校招 萬得資訊AI演算法工程師

2021-08-31 21:41:53 字數 2405 閱讀 3559

分為筆試與面試:

筆試題目:

請描述:如何選取資料、資料預處理、構造特徵、選擇演算法,以及如何對效果進行評估?

答:

>>
理論:

理解實際問題,抽象為機器學習能處理的數學問題

理解實際業務場景問題是機器學習的第一步,機器學習中特徵工程和模型訓練都是非常費時的,深入理解要處理的問題,能避免走很多彎路。理解問題,包括明確可以獲得的資料,機器學習的目標是分類、回歸還是聚類。如果都不是的話,考慮將它們轉變為機器學習問題。參考機器學習分類能幫助從問題提煉出乙個合適的機器學習方法。

獲取資料

獲取資料報括獲取原始資料以及從原始資料中經過特徵工程從原始資料中提取訓練、測試資料。機器學習比賽中原始資料都是直接提供的,但是實際問題需要自己獲得原始資料。「 資料決定機器學習結果的上限,而演算法只是盡可能的逼近這個上限」,可見資料在機器學習中的作用。總的來說資料要有具有「代表性」,對於分類問題,資料偏斜不能過於嚴重,不同類別的資料數量不要有數個數量級的差距。不僅如此還要對評估資料的量級,樣本數量、特徵數量,估算訓練模型對記憶體的消耗。如果資料量太大可以考慮減少訓練樣本、降維或者使用分布式機器學習系統。

特徵工程

特徵工程是非常能體現乙個機器學習者的功底的。特徵工程包括從原始資料中特徵構建、特徵提取、特徵選擇,非常有講究。深入理解實際業務場景下的問題,豐富的機器學習經驗能幫助我們更好的處理特徵工程。特徵工程做的好能發揮原始資料的最大效力,往往能夠使得演算法的效果和效能得到顯著的提公升,有時能使簡單的模型的效果比複雜的模型效果好。資料探勘的大部分時間就花在特徵工程上面,是機器學習非常基礎而又必備的步驟。資料預處理、資料清洗、篩選顯著特徵、摒棄非顯著特徵等等都非常重要,建議深入學習。

模型訓練、診斷、調優

現在有很多的機器學習演算法的工具包,例如sklearn,使用非常方便,真正考驗水平的根據對演算法的理解調節引數,使模型達到最優。當然,能自己實現演算法的是最牛的。模型診斷中至關重要的是判斷過擬合、欠擬合,常見的方法是繪製學習曲線,交叉驗證。通過增加訓練的資料量、降低模型複雜度來降低過擬合的風險,提高特徵的數量和質量、增加模型複雜來防止欠擬合。診斷後的模型需要進行進一步調優,調優後的新模型需要重新診斷,這是乙個反覆迭代不斷逼近的過程,需要不斷的嘗試,進而達到最優的狀態。

模型驗證、誤差分析

模型驗證和誤差分析也是機器學習中非常重要的一步,通過測試資料,驗證模型的有效性,觀察誤差樣本,分析誤差產生的原因,往往能使得我們找到提公升演算法效能的突破點。誤差分析主要是分析出誤差**與資料、特徵、演算法。

模型融合

一般來說實際中,成熟的機器演算法也就那麼些,提公升演算法的準確度主要方法是模型的前端(特徵工程、清洗、預處理、取樣)和後端的模型融合。在機器學習比賽中模型融合非常常見,基本都能使得效果有一定的提公升。這篇部落格中提到了模型融合的方法,主要包括一人一票的統一融合,線性融合和堆融合。

面試涉及的主要問題:

答:經過一系列的搜尋操作,每個被搜尋的詞條都有了一定的搜尋次數,最後運用選擇排序法或者其他排序演算法根據搜尋次數由多到少將詞條進行排序,乙個熱搜排行榜便在不知不覺中形成了。

參考**

#include #include #include //宣告結構體:詞條keyw

typedef struct

keyw;

//num為被搜尋詞條的總數

int num=0;

//被搜尋詞條的上限是1024條

keyw keywo[1024];

//自定義函式的宣告

void input(keyw *x,char str,int *num);

void show(keyw *x,int num);

int main()

system("pause");

system("cls");

}while(1);

return 0;}

//自定義函式的實現 /*

傳入的引數為:

由所有被搜尋詞條構成的kwyw型(自定義型別)的線性結構

輸入的內容str

被搜尋詞條的總數num的位址

*/void input(keyw *x,char str,int *n)

if(flag==0)}/*

傳入的引數為:

由所有被搜尋詞條構成的kwyw型(自定義型別)的線性結構

被搜尋詞條的總數num

*/void show(keyw *x,int num){

int i,j;

keyw t;

//用選擇排序法根據搜尋次數由多到少將詞條進行排序

for(i=0;i參考:

1、各大平台熱搜排行榜原型

2、乙個完整的機器學習過程

先挖個坑,待我查閱資料先。。。。

迅雷 2018校招AI演算法筆試題

1.思路 先對兩個陣列進行排序 降序 然後求出兩個陣列中各取出乙個數字的所有和 之前有總結過,list定義時用迴圈巢狀,相當於排列組合 再排序,輸出給定的前n個,輸出時要注意轉為字串。def find max a,b,num a.sort reverse true b.sort reverse tr...

猿輔導 2023年 校招提前批筆試

就是讓你解析乙個串,這樣子 aa bb 2 3 aabbbbaabbbbaabbbb 空間的話超過的話,我其實是可以用vector來優化的.233 當場沒做出來 哭了 include using namespace std int main else if s i st.pop st.push an...

2023年校招 漫道金服資料模型工程師校招筆試

資料模型工程師筆試題目 一 基礎資料能力考察 1 網際網路和傳統行業數倉的差異?選做 2 雪花模型與星型模型的差別?選做 3 有如下表 table user,表的內容包含 member id id card id card name。1 取id card,id card name重複值。2 取top...