把一些相關(guān)的知識點總結(jié)一下。這個比長二階差分方程定義,感興趣的挑自己相關(guān)的那部分看。
都是一些基礎(chǔ)知識,面相關(guān)崗位問到的比較多。
?。ɑ卮饡r對算法要有一定的見解,最好不要照書上的背)
?。ㄒ唬?機器學習方面
SVM
1、 支撐平面---和支持向量相交的平面二階差分方程定義;;;分割平面---支撐平面中間的平面(最優(yōu)分類平面)
2、 SVM不是定義損失,而是定義支持向量之間的距離à目標函數(shù)看PPT13~17頁
3、 正則化參數(shù)對支持向量數(shù)的影響
LR
1、 LR的形式:h(x)=g(f(x));其中x為原始數(shù)據(jù);f(x)為線性/非線性回歸得到的值,也叫判定邊界;g()為Sigmoid函數(shù),最終h(x)輸出范圍為(0,1)
LR對樣本分布敏感。
***LR和樸素貝葉斯(NB)的區(qū)別?
LR是loss最優(yōu)化求出的,NB是統(tǒng)計跳過loss最優(yōu),直接得出權(quán)重
NB比LR多二階差分方程定義了一個條件獨立假設(shè)
一個是判別模型(LR),一個是生成模型(NB)
1、 判別模型和生成模型???
2、 機器學習中,LR和SVM有什么區(qū)別?à
兩者都可以處理非線性問題;LR和SVM最初都是針對二分類問題的。
SVM最大化間隔平面、LR極大似然估計;SVM只能輸出類別,不能給出分類概率
兩者loss function不同;LR的可解釋性更強;SVM自帶有約束的正則化
2、LR為什么用sigmoid函數(shù),這個函數(shù)有什么優(yōu)點和缺點?為什么不用其他函數(shù)?(sigmoid是伯努利分布的指數(shù)族形式)
Logistic Regression 只能用于二分類,而sigmoid對于所有的輸入,得到的輸出接近0或1
Sigmoid存在的問題:梯度消失、其輸出不是關(guān)于原點中心對稱的(訓(xùn)練數(shù)據(jù)不關(guān)于原點對稱時,收斂速度非常慢à輸入中心對稱,得到的輸出中心對稱時,收斂速度會非??欤?、計算耗時
Tanh激活函數(shù)存在的問題:梯 度消失、計算耗時,但是其輸出是中心對稱的
ReLU:其輸出不關(guān)于原點對稱;反向傳播時,輸入神經(jīng)元小于0時,會有梯度消失問題;當x=0時,該點梯度不存在(未定義);
ReLu失活(dead RELU)原因:權(quán)重初始化不當、初始學習率設(shè)置的非常大
Maxout:根據(jù)設(shè)置的k值,相應(yīng)的增大了神經(jīng)元的參數(shù)個數(shù)
Xavier權(quán)重初始化方法:對每個神經(jīng)元的輸入開根號
3、 SVM原問題和對偶問題關(guān)系?
SVM對偶問題的獲得方法:將原問題的目標函數(shù)L和約束條件構(gòu)造拉格朗日函數(shù),再對L中原參數(shù)和lambda、miu分別求導(dǎo),并且三種導(dǎo)數(shù)都等于0;再將等于0的三個導(dǎo)數(shù)帶入原目標函數(shù)中,即可獲得對偶問題的目標函數(shù)
關(guān)系:原問題的最大值相對于對偶問題的最小值
4、 KKT(Karysh-Kuhn-Tucker)條件有哪些,完整描述?
KKT條件是思考如何把約束優(yōu)化轉(zhuǎn)化為無約束優(yōu)化à進而求約束條件的極值點
下面兩個思考題的答案都是在需要優(yōu)化的目標為凸函數(shù)(凸優(yōu)化)的情況下。
問題一:當一個優(yōu)化問題是凸優(yōu)化問題時,可以直接用KKT條件求解。
5、 凸優(yōu)化(可行域為約束條件組成的區(qū)域)
5、 SVM的過程?Boost算法?
6、 決策樹過擬合哪些方法,前后剪枝
決策樹對訓(xùn)練屬性有很好的分類能力;但對位置的測試數(shù)據(jù)未必有好的分類能力,泛化能力弱,即發(fā)生過擬合。
防止過擬合的方法:剪枝(把一些相關(guān)的屬性歸為一個大類,減少決策樹的分叉);隨機森林
7、 L1正則為什么可以把系數(shù)壓縮成0,坐標回歸的具體實現(xiàn)細節(jié)?
L1正則化可以實現(xiàn)稀疏(即截斷),使訓(xùn)練得到的權(quán)重為0;
l1正則會產(chǎn)生稀疏解,即不相關(guān)的的特征對應(yīng)的權(quán)重為0,就相當于降低了維度。但是l1的求解復(fù)雜度要高于l2,并且l1更為流行
正則化就是對loss進行懲罰(加了正則化項之后,使loss不可能為0,lambda越大懲罰越大-->lambda較小時,約束小,可能仍存在過擬合;太大時,使loss值集中于正則化的值上)
正則化使用方法:L1/L2/L1+L2
8、 LR在特征較多時可以進行怎樣的優(yōu)化?-->L1正則有特征選擇的作用
如果是離線的話,L1正則可以有稀疏解,batch大點應(yīng)該也有幫助,在線的解決思路有ftrl,rds,robots,還有阿里的mlr。當然還可以用gbdt,fm,ffm做一些特性選擇和組合應(yīng)該也有效果。
9、 機器學習里面的聚類和分類模型有哪些?
分類:LR、SVM、KNN、決策樹、RandomForest、GBDT
回歸:non-Linear regression、SVR(支持向量回歸-->可用線性或高斯核(RBF))、隨機森林
聚類:Kmeans、層次聚類、GMM(高斯混合模型)、譜聚類
10、 聚類算法(可以作為監(jiān)督學習中稀疏特征的處理):Kmeans、層次聚類、GMM(高斯混合模型)
聚類算法唯一用到的信息是樣本和樣本之間的相似度。
評判聚類效果準則:高類間距,低類內(nèi)距;高類內(nèi)相似度,低類間相似度。
相似度與距離負相關(guān)。
圖像之間的距離的度量是對每個像素操作,最后獲得距離
Kmeans和GMM需要制定類別K
A、Kmeans算法:對于已有的未標記的樣本,同時給定結(jié)果聚類的個數(shù)K;目標是把比較接近的樣本歸為一類,總共得到k個cluster
Kmeans中初始k個中心點(Kmeans對中心點的選取比較敏感)的選取方法:a、隨機選取k個初始的樣本中心點(b、直接選取k個樣本點),然后計算每個樣本到k個選定的樣本中心點的距離;再比較待聚類樣本到初始樣本點的距離,將待聚類的樣本指定為距離較近的各個類別(離哪個近,就歸為哪一類);最后重新計算聚類中心:;重復(fù)迭代。
Kmeans收斂狀態(tài):
?。?)聚類中心不再變化(2)每個樣本到對應(yīng)聚類中心的距離之和不再有很大的變化
損失函數(shù)àloss function后面的||xn-uk||^2表示采用歐式距離作為距離度量:
Kmeans可以用于圖像分割;
Kmeans的缺點:對初始樣本點的選取敏感;對異常點(如:一個遠離大多數(shù)點的孤立的點)的免疫不好;對團狀數(shù)據(jù)點效果較好,對帶狀效果不好;
Kmeans與Kmeans++初始化的區(qū)別:Kmeans初始樣本點的選取是隨機選取的;Kmeans++是選取最遠的k個點作為初始樣本點
A、 層次聚類
有兩種層次聚類--)bottom-up(從多個類聚成一個類-->每次都是合并最相似的兩個類)、up-bottom(一個類到多個類-->每次都剔除最不相似的類);層次距離是一種樹狀結(jié)構(gòu)
Kmeans與層次聚類對比:
C、高斯混合模型à由單高斯模型線性加權(quán)組合
初始參數(shù):樣本點屬于各個高斯函數(shù)的概率,以及每個高斯函數(shù)的均值和方差(參數(shù)都是隨機給定)
GMM求解過程àEM算法求解
E-step(由已知的均值和方差估算在該參數(shù)下的樣本點的分布)和M-step(由樣本點的分布再求均值和方差)是EM算法。
à這和EM求解的過程一樣
Kmeans是硬聚類(每個樣本只能屬于某一類);而GMM對于每個樣本點,都有屬于每個類的概率。
GMM優(yōu)勢:多個分布的組合、速度快(EM算法求解)、最大數(shù)據(jù)似然概率
GMM劣勢:對初始化值敏感,容易陷入局部最優(yōu)、需指定k個高斯分布;對非凸分布數(shù)據(jù)集效果不好。
11、 kmeans的分類過程,用kmeans的數(shù)據(jù)有什么樣的分布(高斯分布),loss函數(shù)是啥?
見問題“9”
12、 邏輯斯特回歸和線性回歸的損失函數(shù)?
13、 正則化為什么能防止過擬合?(https://www.zhihu.com/question/20700829)
過擬合表現(xiàn)在訓(xùn)練數(shù)據(jù)上的誤差非常小,而在測試數(shù)據(jù)上誤差反而增大。其原因一般是模型過于復(fù)雜,過分得去擬合數(shù)據(jù)的噪聲. 正則化則是對模型參數(shù)添加先驗,使得模型復(fù)雜度較小,對于噪聲的輸入擾動相對較小。
正則化時,相當于是給模型參數(shù)w 添加了一個協(xié)方差為1/lambda 的零均值高斯分布先驗。對于lambda =0,也就是不添加正則化約束,則相當于參數(shù)的高斯先驗分布有著無窮大的協(xié)方差,那么這個先驗約束則會非常弱,模型為了擬合所有的訓(xùn)練數(shù)據(jù),w可以變得任意大不穩(wěn)定。lambda越大,表明先驗的高斯協(xié)方差越小,模型約穩(wěn)定,相對的variance(方差)也越小。
10、關(guān)鍵詞
1、訓(xùn)練集測試集驗證集劃分方式
https://www.zhihu.com/question/26588665/answer/33490049
2、TPR(Recall)、FPR、ROC 、AUC(與準確率和召回率有關(guān))
https://blog.csdn.net/feiyang2010jin/article/details/50547365
3、坐標軸下降法->用來解決loss function對參數(shù)不可導(dǎo)時(此時梯度下降算法不再有效),求取參數(shù)更新量的方法
坐標軸下降法和梯度下降法具有同樣的思想,都是沿著某個方向不斷迭代,但是梯度下降法是沿著當前點的負梯度方向進行參數(shù)更新,而坐標軸下降法是沿著坐標軸的方向。
https://blog.csdn.net/ymmxz/article/details/69396222
lasso(Least absolute shrinkage and selection operator)
坐標軸下降法和最小角回歸法(https://blog.csdn.net/bbbeoy/article/details/72523540)都是求解Lasso回歸的方法。
4、批量梯度下降算法BGD,小批量梯度下降法MBGD,隨機梯度下降算法SGD的比較
https://blog.csdn.net/yMMxz/article/details/69371926
5、學習率褪火 (衰減)-->沒學習多少次都會將學習率減少(lr/decay_rate)
6、多分類問題轉(zhuǎn)二分類方法-->組合多個二分類器來實現(xiàn)多分類器,方法如下:
a.一對多法(one-versus-rest,簡稱OVR SVMs)。訓(xùn)練時依次把某個類別的樣本歸為一類,其他剩余的樣本歸為另一類,這樣k個類別的樣本就構(gòu)造出了k個SVM。分類時將未知樣本分類為具有最大分類函數(shù)值的那類。
b.一對一法(one-versus-one,簡稱OVO SVMs或者pairwise)。其做法是在任意兩類樣本之間設(shè)計一個SVM,因此k個類別的樣本就需要設(shè)計k(k-1)/2個SVM。當對一個未知樣本進行分類時,最后得 票最多的類別即為該未知樣本的類別。
c.層次支持向量機(H-SVMs)。層次分類法首先將所有類別分成兩個子類,再將子類進一步劃分成兩個次級子類,如此循環(huán),直到得到一個單獨的類別為止。
說明:LR的多分類也可以用上面的方法。
https://blog.sina.com.cn/s/blog_4af0fab001010ybp.html
https://blog.sina.com.cn/s/blog_4c98b96001009b8d.html
1、 跳出局部極小值方法
-->優(yōu)化方法,如momentum updata、Adam等;調(diào)整學習率
4、顯著性檢驗
5、線性回歸、廣義線性回歸
7、最小二乘誤差及其概率解釋
9、LDA(二類、多類)
11、類別不平衡解決方法:欠采樣、過采樣、閾值移動
12、模型融合方法:bagging、隨機森林、ADABOOST、 Gradient Boosting Tree
前面兩種是綜合多個模型的結(jié)果;后面兩個是重復(fù)訓(xùn)練
Bagging-->模型融合(隨機森林也屬于模型融合);有兩種方法(bagging對樸素貝葉斯沒什么用,因為NB太穩(wěn)定,提升不大)
ADABOOST(boosting一類的算法)的步驟-->重復(fù)迭代和訓(xùn)練;每次分配給錯的樣本更高的權(quán)重;最簡單的分類器(如:線性分類器的二分類)疊加
ADABOOST分類過程詳細解釋如下:先用一個簡單的分類器將樣本分成兩類;為分錯的樣本分配更高的權(quán)重(初始權(quán)重設(shè)為1/N即可,N為樣本數(shù));重復(fù)上次兩個過程(再次分類,并為錯誤的樣本設(shè)置更高的權(quán)重);最后將所有樣本數(shù)據(jù)正確分類后,將各個分類器疊加。
Gradient Boosting Tree:和Adaboost的思路類似,解決回歸問題。
14、 決策樹、隨機森林、GBDT、XGBOOST
A、決策樹(有監(jiān)督學習):
建立決策樹的關(guān)鍵,即在當前狀態(tài)下選擇哪個屬性作為分類依據(jù)。根據(jù)不同的目標函數(shù),建立決策樹主要有一下三種方法:ID3、C4.5、CART
B、Bootstraping:不需要外界幫助,僅依靠自身力量讓自己變得更好。
C、隨機森林(bagging+決策樹):
Bootstrap采樣:有放回的重復(fù)抽樣
D、Adaboost:
教程第11節(jié) 決策樹隨機森林……pdf –p37
E、 GBDT—梯度下降決策樹(有監(jiān)督學習)
15、 熵 信息增益(ID3算法)、信息增益率(C4.5算法)、基尼系數(shù)(CART)
教程第11節(jié) 決策樹隨機森林……pdf -p10
16、 投票機制
1)一票否決(一致表決)、2)少數(shù)服從多數(shù)、3)有效多數(shù)(加權(quán))
16、數(shù)值優(yōu)化理論:梯度下降、牛頓、共軛梯度
牛頓法(dk為更新量)-->引入了二階偏導(dǎo)(Hessian矩陣)-->求解無約束優(yōu)化(迭代的初始值一般是隨機選取的)
缺點:不能保證Hessian矩陣(二階偏導(dǎo)組成的矩陣)一定可逆
17、SVM、SVR、軟間隔SVM、SMO
18、SVM核函數(shù)
核函數(shù)主要是將線性不可分的數(shù)據(jù)映射到高位空間再進行分類
核函數(shù)的種類:
高斯核是用的最多的核函數(shù)à對訓(xùn)練數(shù)據(jù)分類效果最好
高斯核的缺點:容易過擬合,需要更多的樣本、泛化能力弱
19、距離方法:閔科夫斯基 、VDM、馬氏距離
20、K-means、KNN、LVQ、DBSCAN、譜聚類
21、降維方法:LDA、PCA、SVD
22、特征選擇方法:總體分為過濾型、包裹型、嵌入型(à基于模型的;如:正則化)
Relief、LVW、正則化(L1/L2)
特征選擇的原因:特征存在冗余(特征相關(guān)度太高)、摻雜了噪聲(特征對預(yù)測結(jié)果有負影響)
L1正則化是截斷效應(yīng)(實現(xiàn)稀疏,把不相關(guān)的特征的系數(shù)變成0);L2正則化是縮放效應(yīng),使最后得到的參數(shù)很小
25、交叉熵?KL散度(也叫KL距離)?
25、最大熵模型、EM(Expectation Maximization)算法
最大熵模型的求解可以轉(zhuǎn)化為對偶問題的極大化;
26、特征-->數(shù)據(jù)中抽取出來的對結(jié)果預(yù)測有用的信息
特征工程-->使用專業(yè)背景知識和技巧處理數(shù)據(jù),使得特征能在機器學習算法上發(fā)揮很好的作用的過程。
27、交叉驗證
K折交叉驗證(K-flod cross validation)
https://www.cnblogs.com/boat-lee/p/5503036.html
將訓(xùn)練集分成K份;依次將第i(i=k,…,1)折作為交叉驗證集,其余k-1折(除第i折外)作為測試集;總共進行k次,每進行完一次訓(xùn)練,都用test data去測試,得到k個準確率;最后取k個準確率的均值作為最后結(jié)果。
28、過擬合和欠擬合
欠擬合(under fitting):參數(shù)過少,不足以表達數(shù)據(jù)的特征
過擬合(over fitting):參數(shù)過多,過渡擬合數(shù)據(jù),泛化能力差(訓(xùn)練時的準確率很好,但測試的時候就很差)
欠擬合解決方法:找更多的特征;減小正則化系數(shù)
(二)深度學習方面
1、MLP的BP過程?delta的意義?每一層節(jié)點的殘差?
2、max pool層怎么做的?
3、caffe架構(gòu)?caffe如何構(gòu)建網(wǎng)絡(luò)?
4、去卷積過程(轉(zhuǎn)置卷積)?https://blog.csdn.net/fate_fjh/article/details/52882134
5、單個神經(jīng)元是否線性可分(模式識別的概念,是否能用用線性函數(shù)將樣本分類)?
是否線性可分是對于樣本集的;線性可分是數(shù)據(jù)集合的性質(zhì),和分類器沒啥關(guān)系。
可以通過線性函數(shù)分類的即為線性可分
6、深度學習模型的發(fā)展?深度學習的評價標準?
7、強化學習應(yīng)用場景和方法?adaboost和cascade adaboost?損失函數(shù)有哪些?分類回歸聚類的區(qū)別與聯(lián)系?目標檢測的三種方法?
8、目標檢測常用的網(wǎng)絡(luò),RCNN, SPP, Fast RCNN, Faster RCNN的區(qū)別?
9、隨機梯度下降,標準梯度?softmax公式?信息熵公式?
10、SVM和softmax的區(qū)別?
Svm具有附加穩(wěn)定性,當樣例滿足邊界條件時,該樣例不會影響損失函數(shù);而softmax將考慮所有的樣例
11、訓(xùn)練時,mini-batch與GPU的內(nèi)存匹配-->訓(xùn)練網(wǎng)絡(luò)時的mini batch是由GPU的內(nèi)存決定的。
12、正則化:正則化表現(xiàn)的是對高維度W的懲罰力度,當正則化系數(shù)(lambda)很大時,使w變的非常小,最終的結(jié)果是函數(shù)變得非常平滑。正則化系數(shù)(lambda)越小,擬合程度越高,效果越好。
13、batch normalization中g(shù)amma和beta初始化為1和0,然后在訓(xùn)練中優(yōu)化他們
BN可以減少dropout(可以不要dropout)
14、當訓(xùn)練到最后,loss值很大,但精度在上升?-->說明loss變化很小,需要增大學習率
梯度爆炸(loss發(fā)散,出現(xiàn)nan)-->學習率很大,需要減小學習率
15、如果loss開始一直不變,但是從某點開始下降的原因à因為初始值選定的不好,錯誤的初始值會讓梯度一開始接近0。
16、優(yōu)化策略的比較:
https://www.cnblogs.com/denny402/p/5074212.html
SGD-->Momentum updata-->Nesterov Momentum updata-->AdaGrad update--> RMSProp update-->Adam update
以上都是一階優(yōu)化方法,對于二階優(yōu)化方法(BFGS和L-BFGS),二階優(yōu)化方法不需要學習率這個參數(shù),可以直接對目標進行優(yōu)化。
SGD:根據(jù)梯度直接更新w
Momentum updata:不是通過計算得到的梯度直接更新w,而是增加一個變量V(定義為速度),改變了和梯度直接相關(guān),再用V更新w
Nesterov Momentum updata:更新方式
AdaGrad update:每個參數(shù)自適應(yīng)學習速率的方法(因為參數(shù)空間的每一維都有自己的學習速率,它會根據(jù)梯度的規(guī)模的大小動態(tài)變化)
長時間訓(xùn)練時,AdaGrad算法會發(fā)生什么?-->根據(jù)更新公式,不斷有正數(shù)加到cache中,更新步長會逐漸衰減到0,最后完全停止學習。
1e-7:平滑因子,防止除數(shù)變成0
RMSProp update:解決了AdaGrad中會停止更新的問題
Adam update:
adagrad記錄的是梯度的二階矩,并按指數(shù)和形式表示
Momentum的作用:穩(wěn)定梯度的方向
17、模型集成
先單獨訓(xùn)練多個不同的模型;在訓(xùn)練時,將每個模型的結(jié)果取平均值即可。-->可提升精度
缺點是必須單獨訓(xùn)練不同的模型
18、Cross entropy loss 和sigmod Cross entropy loss的區(qū)別?
https://blog.csdn.net/u012235274/article/details/51361290
看博文里寫的就沒啥區(qū)別
SmoothL1Loss
優(yōu)勢:smoothL1Loss在接近0的時候,看起來像二次函數(shù)
SoftMaxWithLoss
19、沒有隱藏層的神經(jīng)網(wǎng)絡(luò)是線性的,只能處理線性可分的問題(線性可分問題從二維角度看,即分界線是一條直線,多維就是存在線性超平面將其分類)。
20、卷積神經(jīng)網(wǎng)絡(luò)中,在沒有zero-padding的情況下,當輸入為7*7,filter為3*3,stride為3是,這里的stride是不允許這樣設(shè)置的,因為這樣的話輸出就是2.333*2.333(不是整數(shù)),所以zero-padding避免了這種情況的發(fā)生
Zero-padding的另一種作者用,就是避免圖像在卷積神經(jīng)網(wǎng)絡(luò)中向前傳播時,圖像提取出來的特征越來越小,zero-padding可以保證圖像的尺寸。
21、定位和檢測的區(qū)別:
區(qū)別在于要找的目標的數(shù)量;
對于定位,圖像中只有一個或一種對象,用框標出對象的位置
對于檢測,圖像中有多個目標或多種對象。
23、數(shù)據(jù)不足時:
數(shù)據(jù)增強、transfer learning(fine-tuning:根據(jù)數(shù)據(jù)集的大小,訓(xùn)練網(wǎng)絡(luò)的最后一層或者最后幾層)、修改網(wǎng)絡(luò)
Fine-tuning:固定網(wǎng)絡(luò),即為學習率為0、需要訓(xùn)練的層的學習率比較高(原來訓(xùn)練好的網(wǎng)絡(luò)的學習率的十分之一)、當預(yù)訓(xùn)練的層(中間層)需要改變時,學習率很小(如原學習率的一百分之一)
24、goolenet和resnet中用到的結(jié)構(gòu)(瓶頸結(jié)構(gòu) bottlenecks:輸入輸出相同)
1x1的卷積層相當于全連接層-->遍歷所有像素
3x3的卷積可以替換成1x3和3x1的不對稱卷積(inception v3)-->減少參數(shù)
25、CNN中 卷積的實現(xiàn)
傅里葉變換可以用于大卷積核的運算
im2col(主要的):
caffe和torch不支持使用16位計算。
26、WindowDataLayer(窗口數(shù)據(jù)),用于檢測,可以讀取hdf5數(shù)據(jù)。
27、Caffe中的交叉驗證?
定義兩個prototxt文件(訓(xùn)練階段和測試階段),train_val.prototxt和deploy.prototxt;后者用于測試集中,測試階段的train_val.prototxt用于驗證。
28、其他框架?
Torch-->C和Lua語言寫的,Torch中主要的是Tensors類
TensorFlow-->pip安裝,TensorBoard為可視化工具 ,支持多GPU,支持分布式訓(xùn)練(多機),支持RNN
Theano、MxNet、
29、語義分割(Semantic Segmentation)和實例分割(Instance Segmentation)
語義分割-->操作像素,標記每個像素所屬的標簽à不關(guān)心具體的類,同一類目標標記為相同的像素
實例分割à 輸出類別同時標記像素(同時檢測并分割)-->關(guān)心目標的類,不同目標標記為不同的像素(同一類中的目標也標記為不同 的像素)
分割時使用全卷積網(wǎng)絡(luò)(以filter為1*1的卷積層替換fc層,操作每個像素)可以得到所有像素的標簽,而不用先將圖像分成許多小塊,再通過卷積為塊 的中心像素分類(這樣就很耗時)
30、反卷積(卷積轉(zhuǎn)置)
31、Spatial Transformer Networks(空間變換網(wǎng)絡(luò))
32、無監(jiān)督學習
聚類等、PCA(線性的)
自動編碼器(Auto encoder)、Generative Adversarial Networks(GAN)
?。ㄈ﹫D像方面
1、opencv遍歷像素的方式?
2、LBP原理?
3、HOG特征計算過程,還有介紹一個應(yīng)用HOG特征的應(yīng)用?
4、opencv里面mat有哪些構(gòu)造函數(shù)?
5、如何將buffer類型轉(zhuǎn)化為mat類型?
6、opencv如何讀取png格式的圖片?(我貌似記得opencv不能讀取png格式的圖片,好像每種格式圖片的表頭不一樣,需要轉(zhuǎn)化,給他說了半天他,他也沒明白)
7、opencv如何讀取內(nèi)存圖片?
8、opencv里面有哪些庫?
9、用過opencv里面哪些函數(shù)?(我順帶回答了一下canny,HR又問opencv里面有c-a-n-n-y有這幾個字母的函數(shù)嗎,尷尬。。。又問我如何自己寫canny邊緣檢測算法)
10、opencv里面為啥是bgr存儲圖片而不是人們常聽的rgb?
12、二階差分方程定義你說opencv里面的HOG+SVM效果很差?他就直接來了句為啥很差?差了就不改了?差了就要換其他方法?、
13、講講HOG特征?他在dpm里面怎么設(shè)計的,二階差分方程定義你改過嗎?HOG能檢測邊緣嗎?里面的核函數(shù)是啥?那hog檢測邊緣和canny有啥區(qū)別?
13、如何求一張圖片的均值?(考慮了溢出和分塊求解,貌似不滿意。。?;仡^看看積分圖里面如何解決溢出的。)
14、如何寫程序?qū)D像放大縮小?(我回答的插值,不太對。。。比如放大兩倍可以插值,那放大1.1倍呢,)-->放大1.1倍也可以插值
15、如何遍歷一遍求一張圖片的方差?(回答的是采用積分圖,并讓我推導(dǎo)這樣為啥可行。這個問題以前幫同學解決過。。。)
(四)編程方面(C++/Python)
1、 全排列
2、 矩陣求最長連續(xù)遞增的路徑長度?à
329. Longest Increasing Path in a Matrix https://leetcode.com/problems/longest-increasing-path-in-a-matrix/discuss/
3、vector和list的區(qū)別?
4、c里面有哪些內(nèi)存申請方法?
5、虛函數(shù)和純虛函數(shù)的區(qū)別?
6、重載、覆蓋、重寫的區(qū)別?
7、用過C++11嗎?用過里面的哪些?
8、有哪些類型轉(zhuǎn)換函數(shù)?以及用在哪些場景?
9、用過GCC嗎?會linux嗎?
10、堆和棧的區(qū)別?
11、Python中定義類的私有變量?在變量前面加雙下劃線“__”,如:__x,則為私有變量
11、請描述指針數(shù)組和數(shù)組指針的區(qū)別
指針數(shù)組:array of pointers,即用于存儲指針的數(shù)組,也就是數(shù)組元素都是指針
數(shù)組指針:a pointer to an array,即指向數(shù)組的指針
還要注意的是他們用法的區(qū)別,下面舉例說明。
int* a[4] 指針數(shù)組
表示:數(shù)組a中的元素都為int型指針
元素表示:*a[i] *(a[i])是一樣的,因為[]優(yōu)先級高于*
int (*a)[4] 數(shù)組指針
表示:指向數(shù)組a的指針 元素表示:(*a)[i]
(五)開放性問題
1、最后問面試官的問題
?。?)我以后的面試要注意哪些問題,提點建議?或為了更好地勝任這個崗位,我還需要補充哪些技能? 入職后是否有產(chǎn)品培訓(xùn)和技能培訓(xùn)?
?。?)當感覺還可以時,就問公司培訓(xùn)制度,晉升機制,以及自己來了應(yīng)該做什么,當感覺沒戲時,就問,你給我一些關(guān)于職業(yè)的建議吧,以及怎么提升自己
3、 HR面試(自己總結(jié)的)
?。?) 期望薪資
(2) 你理想的工作是什么樣的?
?。?) 關(guān)于你以后的工作打算,你有什么想法?
(4) 職業(yè)規(guī)劃
?。?) 做項目時遇到的困難及解決方法?
?。?)做科研辛苦嗎?
?。?) 對公司的看法?為什么應(yīng)聘我們公司?
?。?) 你在同齡人中處于什么檔次 和大牛的差距在哪?
?。?) 你跟同齡人相比有什么優(yōu)勢?
?。?) 你除了我們公司,還投了哪些公司?
說幾個
(10) BAT之外,你最最想去的是哪家公司,為什么?
?。?1) 如果我們給你發(fā)offer,你還會繼續(xù)秋招么?
?。?2) 【跨專業(yè)】本科+研究生在本專業(yè)學了多年,為什么沒在本行業(yè)求職?
?。?3) 【家離企業(yè)所在地較遠】為什么想來xx地方工作,父母支持么?
?。?4) 【對象】如果對象和你在意向工作地發(fā)生分歧,你怎么處理?
(15) 優(yōu)缺點?
(16) 介紹你一次最失敗的一次經(jīng)歷?
?。?7) 介紹你一次最成功的一次經(jīng)歷?
?。?8) 這份工作你有想過會面對哪些困難嗎?
?。?9) 如果你發(fā)現(xiàn)上司做錯了,你將怎么辦?
(19)你覺得大學生活使你收獲了什么?
?。?0)你對加班的看法?
?。?1)當公司給出的待遇偏低不足以吸引到優(yōu)秀人才的時候,你該怎么去招聘?
這些知識點都是我自己總結(jié)的,包括HR面的問題。
輕 松 一 刻
評論列表
還沒有評論,快來說點什么吧~