天天看點

python樸素貝葉斯調參_面試

ML & DM

內建學習 模型融合 ensemble

EM

EM算法的目标是找出有隐性變量的機率模型的最大可能性解,它分為兩個過程E-step和M-step,E-step通過最初假設或上一步得出的模型參數得到後驗機率,M-step重新算出模型的參數,重複這個過程直到目标函數值收斂。

PageRank

使用了馬爾可夫模型,用圖模型表示各個網頁,并且網頁轉移符合馬爾可夫鍊 。簡單說來就是求Markov轉移機率矩陣,通過疊代求該矩陣的最大特征值 隻是為了收斂和穩定, 加入了阻尼因子. .

http://blog.jobbole.com/71431/

[ 轉載 ]PageRank算法簡介及Map-Reduce實作

KNN

1.優點:

1)簡單,易于了解,易于實作,無需估計參數,無需訓練。

2)作為非線性分類器,可以區分非線性因素

3)特别适合于多分類問題(multi-modal,對象具有多個類别标簽), kNN比SVM的表現要好。

2.缺點:

1)該算法在分類時有個主要的不足是,當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導緻當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本占多數。

2)該方法的另一個不足之處是計算量較大,因為對每一個待分類的文本都要計算它到全體已知樣本的距離,才能求得它的K個最近鄰點。

3)可了解性差,無法給出像決策樹那樣的規則。

4)類别評分不是規則化的。

3.改進政策:

針對以上算法的不足,算法的改進方向主要分成了分類效率和分類效果兩方面。

分類效率:事先對樣本屬性進行約簡,删除對分類結果影響較小的屬性,快速的得出待分類樣本的類别。該算法比較适用于樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域采用這種算法比較容易産生誤分。

分類效果:采用權值的方法(和該樣本距離小的鄰居權值大)來改進,

KNN樹?

決策樹(ID3與C4.5差別,剪枝),NB(推導),

LR(推導,梯度下降,牛頓法,拟牛頓法),

SVM(推導,核函數,與LR的差別),

SVM與LR的差別

兩種方法都是常見的分類算法,從目标函數來看,差別在于邏輯回歸采用的是logistical loss,svm采用的是hinge loss(折葉損失).這兩個損失函數的目的都是增加對分類影響較大的資料點的權重,減少與分類關系較小的資料點的權重.SVM的處理方法是隻考慮support vectors,也就是和分類最相關的少數點,去學習分類器.而邏輯回歸要考慮所有的資料。通過非線性映射,大大減小了離分類平面較遠的點的權重,相對提升了與分類最相關的資料點的權重.兩者的根本目的都是一樣的.此外,根據需要,兩個方法都可以增加不同的正則化項,如l1,l2等等.是以在很多實驗中,兩種算法的結果是很接近的.

但是邏輯回歸相對來說模型更簡單,好了解,實作起來,特别是大規模線性分類時比較友善.而SVM的了解和優化相對來說複雜一些.但是SVM的理論基礎更加牢固,有一套結構化風險最小化的理論基礎,雖然一般使用的人不太會去關注.還有很重要的一點,SVM轉化為對偶問題後,分類隻需要計算與少數幾個支援向量的距離,這個在進行複雜核函數計算時優勢很明顯,能夠大大簡化模型和計算

svm 更多的屬于非參數模型,而logistic regression 是參數模型,本質不同.其差別就可以參考參數模型和非參模型的差別就好了.

logic 能做的 svm能做,但可能在準确率上有問題,svm能做的logic有的做不了。

LR需要調參,而樸素貝葉斯不需要。

EnsembleLearning(RF,GBDT,XGBoost原理,差別,實作)

聚類(kmeans的原理,缺點,改進)

CF(itemCF,userCF)

文本處理(tf-idf)

word2vec

相似度/距離

其他VC維

VC維(Vapnik-Chervonenkis Dimension)的概念是為了研究學習過程一緻收斂的速度和推廣性,

由統計學理論定義的有關函數集學習性能的一個重要名額。

傳統的定義是:對一個訓示函數集,如果存在H個樣本能夠被函數集中的函數按所有可能的2的H次方種形式分開,

則稱函數集能夠把H個樣本打散;函數集的VC維就是它能打散的最大樣本數目H。

若對任意數目的樣本都有函數能将它們打散,則函數集的VC維是無窮大,

有界實函數的VC維可以通過用一定的門檻值将它轉化成訓示函數來定義。

VC維反映了函數集的學習能力,VC維越大則學習機器越複雜(容量越大),

遺憾的是,目前尚沒有通用的關于任意函數集VC維計算的理論,隻對一些特殊的函數集知道其VC維。

例如在N維空間中線性分類器和線性實函數的VC維是N+1。

EM算法

KL距離

svm 對偶

SVM裡面的對偶就是限制規劃裡面的對偶,因為SVM的求解就是限制規劃問題,最優化裡面比較簡單的是無限制規劃問題,限制規劃問題要轉化為無限制問題,一般是拉格朗日乘子法,同時整個問題需要滿足KKT條件,轉化以後就是一個先求max後求min的問題,它和先求min後求max是對偶問題,一半來說對偶問題的解就是原問題的解,不過有特殊情況,這個對SVM可以不考慮!我的了解就是這樣,希望能幫到你

關聯規則 /關聯分析 Apriori

關聯分析中的極大頻繁項集;FP增長算法

Apriori算法是一種關聯規則的基本算法,是挖掘關聯規則的頻繁項集算法,也稱“購物籃分析”算法,是“啤酒與尿布”案例的代表。

算法步驟:

1)依據支援度找出所有頻繁項集。

Apriori算法是發現頻繁項集的一種方法。Apriori算法的兩個輸入參數分别是最小支援度和資料集。該算法首先會生成所有單個元素的項集清單。接着掃描資料集來檢視哪些項集滿足最小支援度要求,那些不滿足最小支援度的集合會被去掉。然後,對剩下來的集合進行組合以生成包含兩個元素的項集。接下來,再重新掃描交易記錄,去掉不滿足最小支援度的項集。該過程重複進行直到所有項集都被去掉。為了生成所有頻繁項集,使用了遞歸的方法。

2)依據置信度産生關聯規則。

關聯分析的目标包括兩項:發現頻繁項集和發現關聯規則。首先需要找到頻繁項集,然後才能獲得關聯規則(計算關聯規則的可信度需要用到頻繁項集的支援度)。

頻繁項集(frequent item sets)是經常出現在一塊兒的物品的集合。

關聯規則(association rules)暗示兩種物品之間可能存在很強的關系。

支援度(support)被定義為資料集中包含該項集的記錄所占的比例。

可信度或置信度(confidence)是針對關聯規則來定義的。規則{尿布}➞{啤酒}的可信度被定義為”支援度({尿布,啤酒})/支援度({尿布})”,由于{尿布,啤酒}的支援度為3/5,尿布的支援度為4/5,是以”尿布➞啤酒”的可信度為3/4。這意味着對于包含”尿布”的所有記錄,我們的規則對其中75%的記錄都适用。

是經典的關聯規則資料挖掘算法。

1.優點:

1)簡單、易了解。

2)資料要求低。

2.缺點:

1)在每一步産生候選項目集時循環産生的組合過多,沒有排除不應該參與組合的元素。

2)每次計算項集的支援度時,都對資料庫中的全部記錄進行了一遍掃描比較,如果是一個大型的資料庫時,這種掃描會大大增加計算機的I/O開銷。

3.改進:

特殊到一般:先發現極大頻繁項集,其子集一定滿足:

從寬度優先到深度優先。

1)利用建立臨時資料庫的方法來提高Apriori算法的效率。

2)Fp-tree 算法。以樹形的形式來展示、表達資料的形态;可以了解為水在不同河流分支的流動過程。

3)事務資料集清單使用垂直資料分布。水準資料布局改為垂直資料布局,壓縮TID清單防止記憶體裝不下

特征提取

排序特征、離散特征、計數特征、one hot、交叉特征

特征選擇

線性分類器與非線性分類器的差別及優勢

特征比資料量還大時,選擇什麼樣的分類器

對于次元很高的特征,你是選擇線性分類器還是非線性分類器。

對于次元很低的特征,你是選擇線性分類器還是非線性分類器。

經驗風險最小化與結構風險最小化

結構風險 = 經驗風險+正則化項

什麼是過拟合?原因?怎麼解決?

優化方法BFGS推導

LDA

HMM

CRF

L1,L2正則差別,L1為什麼能保證稀疏,L1,L2哪個效果好? 正則化 範數

L1範數(L1 norm)是指向量中各個元素絕對值之和,也有個美稱叫“稀疏規則算子”(Lasso regularization)。

比如 向量A=[1,-1,3], 那麼A的L1範數為 |1|+|-1|+|3|.

簡單總結一下就是:

L1範數: 為x向量各個元素絕對值之和。

L2範數: 為x向量各個元素平方和的

Lp範數: 為x向量各個元素絕對值p次方和.

在支援向量機學習過程中,L1範數實際是一種對于成本函數求解最優的過程,是以,L1範數正則化通過向成本函數中添加L1範數,使得學習得到的結果滿足稀疏化,進而友善人類提取特征。

L1為什麼能保證稀疏: L1函數是一次的,其導數恒定不變,在零點附近導數較大導緻取得最優解時很多特征會沿着剃度下降到0,但是L2函數是二次函數,其導數在零點附近接近于0,是以梯度下降是一般不會下降到0點

L1範數可以使權值稀疏,友善特征提取。

L2範數可以防止過拟合,提升模型的泛化能力。

L1,L2哪個效果好?:看你需要幹嘛 L1 用于1)特征選擇(Feature Selection)并使得模型更好解釋,且簡化模型運輸

L2範數可以防止過拟合,提升模型的泛化能力。L2對較大的W系數有更大的懲罰(平方)是以一般泛化能力效果更好更常見。L2正則化會讓系數的取值變得平均。對于關聯特征,這意味着他們能夠獲得更相近的對應系數。還是以Y=X1+X2為例,假設X1和X2具有很強的關聯,如果用L1正則化,不論學到的模型是Y=X1+X2還是Y=2X1,懲罰都是一樣的,都是2alpha。但是對于L2來說,第一個模型的懲罰項是2alpha,但第二個模型的是4*alpha。可以看出,系數之和為常數時,各系數相等時懲罰是最小的,是以才有了L2會讓各個系數趨于相同的特點。

為什麼加上這麼一個項就可以了呢,我們先來引入奧卡姆剃刀原理:在所有可能選擇的模型中,能夠很好地解釋已知資料并且十分簡單的模型才是最好的模型,也就是應該選擇的模型。 現在,讓我們通過一張圖來看下這項是怎l2 norm 使得權值衰減,并防止某些過大的W,(用最少的w去拟合)——奧卡姆剃刀

(from prml)

python樸素貝葉斯調參_面試

Paste_Image.png

正則化項本質上是一種先驗資訊,整個最優化問題從貝葉斯觀點來看是一種貝葉斯最大後驗估計,其中正則化項對應後驗估計中的先驗資訊,損失函數對應後驗估計中的似然函數,兩者的乘積即對應貝葉斯最大後驗估計的形式,如果你将這個貝葉斯最大後驗估計的形式取對數,即進行極大似然估計,你就會發現問題立馬變成了損失函數+正則化項的最優化問題形式。

(1) 避免出現過拟合(over-fitting)。經驗風險最小化 + 正則化項 = 結構風險最小化。

(2) 從模型求解上看,正則化提供了一種唯一解的可能。光用最小二乘拟合可能出現無數組解,加個L1或L2正則化項能有唯一解。

word2vec原理,怎麼實作的,損失函數是什麼,有沒看過源碼?

把詞當做特征,那麼Word2vec就可以把特征映射到 K 維向量空間,可以為文本資料尋求更加深層次的特征表示 。其基本思想是 通過訓練将每個詞映射成 K 維實數向量(K 一般為模型中的超參數),通過詞之間的距離(比如 cosine 相似度、歐氏距離等)來判斷它們之間的語義相似度.其采用一個 三層的神經網絡 ,輸入層-隐層-輸出層。有個核心的技術是 根據詞頻用Huffman編碼 ,使得所有詞頻相似的詞隐藏層激活的内容基本一緻,出現頻率越高的詞語,他們激活的隐藏層數目越少,這樣有效的降低了計算的複雜度。這個三層神經網絡本身是 對語言模型進行模組化 ,但也同時 獲得一種單詞在向量空間上的表示 ,而這個副作用才是Word2vec的真正目标。

損失函數:softmax 交叉熵損失

python樸素貝葉斯調參_面試

這裡寫圖檔描述

python樸素貝葉斯調參_面試

這裡寫圖檔描述

(這裡問了很久,比較深入)

xgboost和gbdt差別

xgb比gbdt好的地方:

二階泰勒展開

節點分數懲罰

增益計算不同,gbdt是gini,xgb是優化推導公式

1.正則化

xgboost在代價函數裡加入了正則項,用于控制模型的複雜度。正則項裡包含了樹的葉子節點個數、每個葉子節點上輸出的score的L2模的平方和。從Bias-variance tradeoff角度來講,正則項降低了模型的variance,使學習出來的模型更加簡單,防止過拟合,這也是xgboost優于傳統GBDT的一個特性。

2.并行處理

xgboost工具支援并行。boosting不是一種串行的結構嗎?怎麼并行的?注意xgboost的并行不是tree粒度的并行,xgboost也是一次疊代完才能進行下一次疊代的(第t次疊代的代價函數裡包含了前面t-1次疊代的預測值)。xgboost的并行是在特征粒度上的。我們知道,決策樹的學習最耗時的一個步驟就是對特征的值進行排序(因為要确定最佳分割點),xgboost在訓練之前,預先對資料進行了排序,然後儲存為block結構,後面的疊代中重複地使用這個結構,大大減小計算量。這個block結構也使得并行成為了可能,在進行節點的分裂時,需要計算每個特征的增益,最終選增益最大的那個特征去做分裂,那麼各個特征的增益計算就可以開多線程進行。

3.靈活性

xgboost支援使用者自定義目标函數和評估函數,隻要目标函數二階可導就行。

4.缺失值的處理

對于特征的值有缺失的樣本,xgboost可以自動學習出它的分裂方向

5.剪枝

XGBoost 先從頂到底建立所有可以建立的子樹,再從底到頂反向進行剪枝。比起GBM,這樣不容易陷入局部最優解

6.内置交叉驗證

xgb.cv() 是不是感覺很友善

7.可以自定義目标函數評價函數,友善特殊問題

描述一下mapreduce的過程

stacking bagging boosting 介紹,與偏差方差關系

hadoop,spark,分布式計算,sql

關系型資料庫,非關系型資料庫,

目前主流的關系型資料庫有Oracle、DB2、Microsoft SQL Server、Microsoft Access、MySQL等。

非關系型資料庫有 NoSql、Cloudant。

在關系型資料庫中,導緻性能欠佳的最主要因素是多表的關聯查詢,以及複雜的資料分析類型的複雜SQL報表查詢。為了保證資料庫的ACID特性,我們必須盡量按照其要求的範式進行設計,關系型資料庫中的表都是存儲一些格式化的資料結構,每個元組字段的組成都一樣,即使不是每個元組都需要所有的字段,但資料庫會為每個元組配置設定所有的字段,這樣的結構可以便于表與表之間進行連接配接等操作,但從另一個角度來說它也是關系型資料庫性能瓶頸的一個因素。

非關系型資料庫提出另一種理念,他以鍵值對存儲,且結構不固定,每一個元組可以有不一樣的字段,每個元組可以根據需要增加一些自己的鍵值對,這樣就不會局限于固定的結構,可以減少一些時間和空間的開銷。使用這種方式,使用者可以根據需要去添加自己需要的字段,這樣,為了擷取使用者的不同資訊,不需要像關系型資料庫中,要對多表進行關聯查詢。僅需要根據id取出相應的value就可以完成查詢。但非關系型資料庫由于很少的限制,他也不能夠提供想SQL所提供的where這種對于字段屬性值情況的查詢。并且難以展現設計的完整性。他隻适合存儲一些較為簡單的資料,對于需要進行較複雜查詢的資料,SQL資料庫顯得更為合适。

僞代碼實作:LR、梯度下降、最小二乘、KNN、Kmeans;

基本知識:

監督與非監督差別;

監督:輸入的資料有明确的辨別,可建立模型做預測,多用于分類和回歸。

非監督:資料并不被特别辨別,需要建立模型得出資料的内在結構,多用于聚類。

生成模型和判别模型差別 像貝葉斯,lda 、pLSA 等就是生成模型,計算過機率分布之類的

生成模型:由資料學習聯合機率密度分布P(X,Y),求出條件機率分布P(Y|X)作為預測的模型,即生成模型P(Y|X)=P(X,Y)/P(X),再利用它分類。

判别模型:由資料直接學習決策函數y=f(x)或者條件機率分布P(Y|X)作為預測的模型。基本思想是有限樣本條件下建立判别函數,不考慮樣本的産生模型,直接研究預測模型。

典型的判别模型包括K近鄰、感覺機、決策樹、支援向量機等。

由生成模型可以得到判别模型,但由判别模型得不到生成模型。生成模型學習聯合機率分布P(X,Y),而判别模型學習條件機率分布P(Y|X)。

算法的優缺點以及相應解決方案:k-means, KNN, apriori

算法原理:LR、KNN、k-means、apriori、ID3(C45,CART)、SVM、神經網絡,協同過濾,em算法

from bryan

常見問題:

1)svm算法的原理、如何組織訓練資料、如何調節懲罰因子、如何防止過拟合、svm的泛化能力、增量學習

2)神經網絡參數相關。比如,參數的範圍?如何防止過拟合?隐藏層點的個數多了怎樣少了怎樣?什麼情況下參數是負數?

3)為什麼要用邏輯回歸?LR CTR

從訓練角度來說:首先LR的分布式優化SGD發展比較成熟,你線上訓練肯定要用到許多機器,算法要可分布。

從線上預測CTR的角度來說:LR的預測也可以在特征級别并行,因為他是一個線性模型,這有什麼好處呢?比如說你預測一次點選行為用到十億個特征,其中9億個特征可能更新很不頻繁,或者對更新不敏感,你可能為了性能要做緩存。對于LR來說,你可以把這9億個特征和權重的點乘緩存下來。這樣每次計算的時候就少了很多記憶體搬運和CPU時間消耗。如果是決策樹做這種優化就困難很多。比如說淘寶,商品的特征更新是很慢的,或者說一時半會不更新也不至于怎麼樣,那你緩存下來,使用者玩命刷淘寶首頁的時候每次實際計算的是那一億對更新比較敏感的特征的數值。

當然天下沒有免費的午餐,LR的缺點就是模型本身的表達能力很弱,需要構造非常棒的特征組合才能達到好的效果,好消息是這隻需要堆人力就好了。而且緩存的機制設計也有些複雜,需要一些toolkit+對模型和業務的了解才能把性能優化到很好。

另外gbdt 當然是好的,但點選率預估的特征需要經過一些tricky的處理後才能用到上面,也會吃掉更多的機器資源。

4)決策樹算法是按什麼來進行分類的?

5) 樸素貝葉斯公式

p(y|x)=p(x|y)p(y)/p(x) ,p(x)=∑k (y=ck) ∏P(xi|y=ck)

也即 p(x)p(y|x)=p(x|y)p(y)

實質是根據先驗機率分布 P(y) 和條件機率分布P(X|Y),學習到聯合機率分布P(X,Y) 然後得到P(Y|X) 。是一種生成模型。

期望風險最小化 f(x) = argmaxP(y=ck|X=x)

極大似然估計

學習過程 1. 先學先驗機率分布 p(y=ck) 2. 再學給定某分類ck下的條件機率p(xj=aj | y=ck)

拉普拉斯平滑

避免了0機率問題(即樣本很少時如果某個量x,在觀察樣本庫(訓練集)中沒有出現過,會導緻整個執行個體的機率結果是0),而且對于文本訓練計算整個文檔的機率如果一個詞為0會導緻整個文本機率為0,不合理!,分子和分母都分别加上一個常數,

python樸素貝葉斯調參_面試

Paste_Image.png

講em算法

7)svm中rbf核函數與高斯和函數的比較

8)說一下SVM的實作和運用過程

9)談談DNN

10)簡單說說決策樹分析

推薦系統中基于svd方法

https://zhuanlan.zhihu.com/p/25801478

特征值分解是一個提取矩陣特征很不錯的方法,但是它隻是對方陣而言的,在現實的世界中,我們看到的大部分矩陣都不是方陣,奇異值分解是一個能适用于任意的矩陣的一種分解的方法:

python樸素貝葉斯調參_面試

Paste_Image.png

python樸素貝葉斯調參_面試

Paste_Image.png

奇異值:奇異值往往對應着矩陣中隐含的重要資訊,且重要性和奇異值大小正相關。每個矩陣!都可以表示為一系列秩為1的“小矩陣”之和,而奇異值則衡量了這些“小矩陣”對于的權重。用于PCA SVD,得到三個矩陣的實體意義,并實作壓縮

對物品進行推薦,某些使用者買了某些東西,要來算出,物品跟物品之間的相識度,這是很常見的推薦問題,用 SVD 算法,在 python中numpy 的 linalg 可以計算矩陣的 SVD。分解完矩陣就可以用距離算法或者其他,可以求出相識性。

2.SVD應用于推薦系統

資料集中行代表使用者user,列代表物品item,其中的值代表使用者對物品的打分。基于SVD的優勢在于:使用者的評分資料是稀疏矩陣,可以用SVD将原始資料映射到低維空間中,然後計算物品item之間的相似度,可以節省計算資源。

整體思路:先找到使用者沒有評分的物品,然後再經過SVD“壓縮”後的低維空間中,計算未評分物品與其他物品的相似性,得到一個預測打分,再對這些物品的評分從高到低進行排序,傳回前N個物品推薦給使用者。

具體代碼如下,主要分為5部分:

第1部分:加載測試資料集;

第2部分:定義三種計算相似度的方法(餘弦、歐式、皮爾遜)

第3部分:通過計算奇異值平方和的百分比來确定将資料降到多少維才合适,傳回需要降到的次元;

第4部分:在已經降維的資料中,基于SVD得到的相似度對使用者未打分的物品進行評分預測,傳回未打分物品的預測評分值;

第5部分:産生前N個評分值高的物品,傳回物品編号以及預測評分值。

優勢在于:使用者的評分資料是稀疏矩陣,可以用SVD将資料映射到低維空間,然後計算低維空間中的item之間的相似度,對使用者未評分的item進行評分預測,最後将預測評分高的item推薦給使用者。

12)SVM有哪些優勢,(x,y,z)三個特征如何用徑向基核函數抽取第四維特征

13)userCF和ItemCF在實際當中如何使用,提供具體操作,以及它們的優勢(推薦系統)

14)如何用Logic regression建立一個廣告點選次數預測模型

15)舉一個适合采用層次分析法的例子

随機森林的學習過程

随機森林中的每一棵樹是如何學習的

随機森林學習算法中CART樹的基尼指數是什麼

27)支援向量機、圖模型、波爾茨曼機,記憶體壓縮、紅黑樹、并行度

28) 如何搭建一個推薦平台,給出具體的想法,

29) 實作一個中文輸入法

30) k-meanshift的機制,能不能用僞碼實作

31)實作最小二乘法。

經常會問到的問題,經典算法推導(加分項),原理,各個損失函數之間差別,使用場景,如何并行化,有哪些關鍵參數比如LR,SVM,RF,KNN,EM,Adaboost,PageRank,GBDT,Xgboost,HMM,DNN,推薦算法,聚類算法,等等機器學習領域的算法,這些基本都會被問到

XGB和GBDT差別與聯系也會經常問到:https://www.zhihu.com/question/41354392/answer/128008021?group_id=773629156532445184

哪些優化方法,随機梯度下降,牛頓拟牛頓原理生成模型,判别模型線性分類和非線性分類各有哪些模型SVM核技巧原理,如何選擇核函數特征選擇方法有哪些(能說出來10種以上加分)常見融合架構原理,優缺點,bagging,stacking,boosting,為什麼融合能提升效果資訊熵和基尼指數的關系(資訊熵在x=1處一階泰勒展開就是基尼指數)如何克服過拟合,欠拟合L0,L1,L2正則化(如果能推導絕對是加分項,一般人最多能畫個等高線,L0是NP問題)

模型的穩定性

越簡單越穩定

cv的方差作為穩定性評估

t檢驗 卡方檢驗

單樣本T檢驗是檢驗某個變量的總體均值和某指定值之間是否存在顯著差異。T檢驗的前提是樣本總體服從

正态分布。

卡方拟合性檢驗是檢驗單個多項分類名義型變量各分類間的實際觀測次數與理論次數之間是否一緻的問題

,其零假設是觀測次數與理論次數之間無差異。

語言

Python類繼承,記憶體管理

python 提高運作效率的一些方法

推薦系統的一些

SVD SVD++

其他

Java垃圾回收

TCP、HTTP、socket的差別

五層協定及對應層的協定,TCP/UDP差別,IP位址子網路遮罩網絡号那些會計算,TCp的擁塞控制,TCP的三次握手四次釋放,http/https的差別

八大排序(能在五分鐘内手寫,快排,歸并,堆比較常見),數組,字元串(最大子串之類的),二叉樹(二叉樹周遊,遞歸非遞歸5分鐘内手寫),圖(不太常見,深度優先廣度優先得懂)

資料挖掘在遊戲應用

408

簡述資料庫操作的步驟

建立資料庫連接配接、打開資料庫連接配接、建立資料庫指令、運作資料庫指令、儲存資料庫指令、關閉資料庫連接配接。

機率論的知識

對深度學習的了解和了解

看過的書籍

推薦系統實戰、數學之美、機器學習實戰、機器學習、統計學習方法、資料挖掘導論

課程

blog