1,怎么做惡意刷單檢驗
分類問題用機器學習方法建模解決,特征有:
1)商家特征:商家歷史銷量、信用、產(chǎn)品類別、發(fā)貨快遞公司等
2)用戶行為特征:用戶信用、下單量、轉(zhuǎn)化率、下單路徑、瀏覽店鋪行為、支付賬號
3)環(huán)境特征(主要是避免機器刷單):地區(qū)、ip、手機型號等
4)異常檢測:ip地址經(jīng)常變動、經(jīng)常清空cookie信息、賬號近期交易成功率上升等
5)評論文本檢測:刷單的評論文本可能套路較為一致,計算與已標注評論文本的相似度作為特征
6)圖片相似度檢測:同理,刷單可能重復利用圖片進行評論
2,你系統(tǒng)地學過機器學習算法嗎
3,選個講下原理吧 K-Means算法及改進,遇到異常值怎么辦?評估算法的指標有哪些?
1)k-means原理
2)改進:
a. kmeans++:初始隨機點選擇盡可能遠,避免陷入局部解。方法是n+1個中心點選擇時,對于離前n個點選擇到的概率更大
b. mini batch kmeans:每次只用一個子集做重入類并找到類心(提高訓練速度)
c. ISODATA:對于難以確定k的時候,使用該方法。思路是當類下的樣本小時,剔除;類下樣本數(shù)量多時,拆分
d. kernel kmeans:kmeans用歐氏距離計算相似度,也可以使用kernel映射到高維空間再聚類
3)遇到異常值
a. 有條件的話使用密度聚類或者一些軟聚類的方式先聚類,剔除異常值。不過本來用kmeans就是為了快,這么做有些南轅北轍了
b. 局部異常因子LOF:如果點p的密度明顯小于其鄰域點的密度,那么點p可能是異常值
c. 多元高斯分布異常點檢測
d. 使用PCA或自動編碼機進行異常點檢測:使用降維后的維度作為新的特征空間,其降維結(jié)果可以認為剔除了異常值的影響(因為過程是保留使投影后方差最大的投影方向)
e. isolation forest:基本思路是建立樹模型,一個節(jié)點所在的樹深度越低,說明將其從樣本空間劃分出去越容易,因此越可能是異常值。是一種無監(jiān)督的方法,隨機選擇n個sumsampe,隨機選擇一個特征一個值。
f. winsorize:對于簡單的,可以對單一維度做上下截取
4)評估聚類算法的指標:
a. 外部法(基于有標注):Jaccard系數(shù)、純度
b. 內(nèi)部法(無標注):內(nèi)平方和WSS和外平方和BSS
c. 此外還要考慮到算法的時間空間復雜度、聚類穩(wěn)定性等
4, 數(shù)據(jù)預處理過程有哪些?
1)缺失值處理:刪、插
2)異常值處理
3)特征轉(zhuǎn)換:時間特征sin化表示
4)標準化:最大最小標準化、z標準化等
5)歸一化:對于文本或評分特征,不同樣本之間可能有整體上的差異,如a文本共20個詞,b文本30000個詞,b文本中各個維度上的頻次都很可能遠遠高于a文本
6)離散化:onehot、分箱等
5,隨機森林原理?有哪些隨機方法?
1)隨機森林原理:通過構(gòu)造多個決策樹,做bagging以提高泛化能力
2)subsample(有放回抽樣)、subfeature、低維空間投影(特征做組合,參考林軒田的《機器學習基石》
6, PCA
1)主成分分析是一種降維的方法
2)思想是將樣本從原來的特征空間轉(zhuǎn)化到新的特征空間,并且樣本在新特征空間坐標軸上的投影方差盡可能大,這樣就能涵蓋樣本最主要的信息
3)方法:
a. 特征歸一化
b. 求樣本特征的協(xié)方差矩陣A
c. 求A的特征值和特征向量,即AX=λX
d. 將特征值從大到小排列,選擇topK,對應的特征向量就是新的坐標軸
4)PCA也可以看成激活函數(shù)為線性函數(shù)的自動編碼機
7,還有一些圍繞著項目問的具體問題
8,參加過哪些活動?
9,hive?spark?sql? nlp?
1)Hive允許使用類SQL語句在hadoop集群上進行讀、寫、管理等操作
2)Spark是一種與hadoop相似的開源集群計算環(huán)境,將數(shù)據(jù)集緩存在分布式內(nèi)存中的計算平臺,每輪迭代不需要讀取磁盤的IO操作,從而答復降低了單輪迭代時間
10,XGBOOST
xgb也是一種梯度提升樹,是gbdt高效實現(xiàn),差異是:
1)gbdt優(yōu)化時只用到了一階導數(shù)信息,xgb對代價函數(shù)做了二階泰勒展開
2)xgb加入了正則項
3)xgb運行完一次迭代后,會對葉子節(jié)點的權(quán)重乘上shrinkage(縮減)系數(shù),削弱當前樹的影響,讓后面有更大的學習空間
4)支持列抽樣等特性
5)支持并行:決策樹中對特征值進行排序以選擇分割點是耗時操作,xgb訓練之前就先對數(shù)據(jù)進行排序,保存為block結(jié)構(gòu),后續(xù)迭代中重復用該結(jié)構(gòu),大大減少計算量。同時各個特征增益的計算也可以開多線程進行
6)尋找最佳分割點時,實現(xiàn)了一種近似貪心法,同時優(yōu)化了對稀疏數(shù)據(jù)、缺對稀疏數(shù)據(jù)、缺失值的處理,提高了算法效率
7)剪枝:GBDT遇到負損失時回停止分裂,是貪心算法。xgb會分裂到指定最大深度,然后再剪枝