機器學習算法

機器學習模型概念

LR : 事件發(fā)生的對數(shù)幾率是輸入的線性函數(shù)

優(yōu)點:

1)實現(xiàn)簡單陨界,廣泛的應用于工業(yè)問題上炕横;

2)計算代價不高钧忽,LR在時間和內(nèi)存需求上相當高效胚泌。?

3)LR對于數(shù)據(jù)中小噪聲的魯棒性很好省咨,并且不會受到輕微的多重共線性的特別影響。(嚴重的多重共線性則可以使用邏輯回歸結合L2正則化來解決玷室,但是若要得到一個簡約模型零蓉,L2正則化并不是最好的選擇,因為它建立的模型涵蓋了全部的特征穷缤。)?

4)LR分類器適用數(shù)據(jù)類型:數(shù)值型和標稱型數(shù)據(jù)敌蜂。??

5)LR能以概率輸出,權重可解釋性強津肛,越大越重要章喉。

?缺點:1)當特征空間很大時,邏輯回歸的性能不是很好;容易欠擬合秸脱,分類精度不高落包。

2)數(shù)據(jù)特征有缺失或者特征空間很大時表現(xiàn)效果并不好。

推廣:多分類摊唇,softmax函數(shù)

LR與線性回歸

邏輯回歸(對數(shù)幾率回歸)也被稱為廣義線性回歸模型 咐蝇。線性回歸做分類考慮了所有樣本點到分類決策面的距離,導致兩類數(shù)據(jù)分布不均勻時將誤差非常大巷查;LR和SVM克服了這個缺點有序,其中LR將所有數(shù)據(jù)采用sigmod函數(shù)進行了非線性映射,使得遠離分類決策面的數(shù)據(jù)作用減弱吮便;SVM直接去掉了遠離分類決策面的數(shù)據(jù)笔呀,只考慮支持向量的影響。? ??

LR與SVM

都是線性分類器髓需、監(jiān)督學習算法许师、判別模型。1)思想不同僚匆。邏輯回歸基于概率理論微渠,假設樣本為正樣本的概率可以用sigmoid函數(shù)(S型函數(shù))來表示,然后通過極大似然估計的方法估計出參數(shù)的值咧擂。? 支持向量機基于幾何間隔最大化原理逞盆,認為存在最大幾何間隔的分類面為最優(yōu)分類面。2) 對數(shù)據(jù)和參數(shù)的敏感程度不同松申。SVM考慮分類邊界線附近的樣本(決定分類超平面的樣本)云芦。在支持向量外添加或減少任何樣本點對分類決策面沒有任何影響;? LR受所有數(shù)據(jù)點的影響贸桶。直接依賴數(shù)據(jù)分布舅逸,每個樣本點都會影響決策面的結果。如果訓練數(shù)據(jù)不同類別嚴重不平衡皇筛,則一般需要先對數(shù)據(jù)做平衡處理琉历,讓不同類別的樣本盡量平衡。3)數(shù)據(jù)要求不同水醋。SVM依賴數(shù)據(jù)表達的距離測度旗笔,所以需要對數(shù)據(jù)先做 normalization;LR不受其影響拄踪。4)細節(jié)上蝇恶,SVM自帶L2正則,LR需要手動添加正則項5) 處理非線性問題惶桐。SVM通過對少部分支持向量使用核函數(shù)是實現(xiàn)艘包,LR也可以利用核函數(shù)的猛,但是需要作用在所有數(shù)據(jù)上,計算更復雜想虎。

為什么選用對數(shù)極大似然函數(shù)作為優(yōu)化目標卦尊,用平方損失有什么問題。

其中最重要的一點就是為什么取-log函數(shù)為損失函數(shù)舌厨,損失函數(shù)的本質(zhì)就是岂却,如果我們預測對了,能夠不懲罰裙椭,如果預測錯誤躏哩,會導致?lián)p失函數(shù)變得很大,也就是懲罰較大揉燃,而-log函數(shù)在【0扫尺,1】之間正好符合這一點,另外還有一點需要說明炊汤,LR是一種廣義的線性回歸模型正驻,平方損失函數(shù)的話,對于Sigmoid函數(shù)求導計算抢腐,無法保證是凸函數(shù)姑曙,在優(yōu)化的過程中,求得的解有可能是局部最小迈倍,不是全局的最優(yōu)值伤靠。其二:取完對數(shù)之后,對我們的后續(xù)求導比較方便啼染。如果根據(jù)似然函數(shù)宴合,直接計算,有兩點缺點:(1)不利于后續(xù)的求導迹鹅,(2)似然函數(shù)的計算會導致下溢出卦洽。

SVM

SVM基于最大間隔法,分為線性可分支持向量機徒欣、線性支持向量機逐样、非線性支持向量機蜗字。

線性可分支持向量機通過硬間隔最大化打肝,線性支持向量機通過軟間隔最大化,非線性支持向量機通過核技巧和軟間隔最大化挪捕。高準確率粗梭,為避免過擬合提供了很好的理論保證,而且就算數(shù)據(jù)在原特征空間線性不可分级零,只要給個合適的核函數(shù)断医,它就能運行得很好滞乙。在動輒超高維的文本分類問題中特別受歡迎〖停可惜內(nèi)存消耗大斩启,難以解釋,運行和調(diào)參也有些煩人醉锅,而隨機森林卻剛好避開了這些缺點兔簇,比較實用。

其優(yōu)點:1)可以解決高維問題硬耍,即大型特征空間垄琐; 2)無需依賴整個數(shù)據(jù),最優(yōu)平面僅依賴支持向量经柴;3)SVM優(yōu)化自帶L2正則項狸窘;4)SVM能處理非線性問題,通過核函數(shù)策略坯认。計算量小翻擒。

缺點:1)SVM基于數(shù)據(jù)距離,所以需要對數(shù)據(jù)先做 normalization鹃操。2)無法給出概率結果韭寸。3)當觀測樣本很多時,效率并不是很高荆隘;一個可行的解決辦法是模仿隨機森林恩伺,對數(shù)據(jù)分解,訓練多個模型椰拒,然后求平均秘案,時間復雜度降低p倍妄痪,分多少份,降多少倍對非線性問題沒有通用解決方案,有時候很難找到一個合適的核函數(shù)辉川;

核技巧:通過將數(shù)據(jù)映射到高維空間,來解決在原始空間中線性不可分的問題荔棉。高斯核:會將原始空間映射為無窮維空間,具有相當高的靈活性脊框,也是使用最廣泛的核函數(shù)之一。線性核首先文本數(shù)據(jù)沉御。?對缺失數(shù)據(jù)敏感昭灵;對于核的選擇也是有技巧的(libsvm中自帶了四種核函數(shù):線性核伐谈、多項式核试疙、RBF以及sigmoid核):第一,如果樣本數(shù)量小于特征數(shù)非春,那么就沒必要選擇非線性核缓屠,簡單的使用線性核就可以了;第二储耐,如果樣本數(shù)量大于特征數(shù)目滨溉,這時可以使用非線性核什湘,將樣本映射到更高維度晦攒,一般可以得到更好的結果;第三哟旗,如果樣本數(shù)目和特征數(shù)目相等栋操,該情況可以使用非線性核,原理和第二種一樣矾芙。對于第一種情況,也可以先對數(shù)據(jù)進行降維拂铡,然后使用非線性核葱绒,這也是一種方法。

解釋核函數(shù)留瞳,給了張紙讓畫圖解釋高維映射

- 為什么要把原問題轉換為對偶問題拒迅?因為原問題是凸二次規(guī)劃問題她倘,轉換為對偶問題更加高效硬梁。

- 為什么求解對偶問題更加高效胞得?因為只用求解alpha系數(shù),而alpha系數(shù)只有支持向量才非0跃巡,其他全部為0.

- alpha系數(shù)有多少個牧愁?樣本點的個數(shù)

KNN

KNN即最近鄰算法,其主要過程為:1. 計算訓練樣本和測試樣本中每個樣本點的距離(常見的距離度量有歐式距離兔朦,馬氏距離等)磨确; 2. 對上面所有的距離值進行排序乏奥; 3. 選前k個最小距離的樣本; 4. 根據(jù)這k個樣本的標簽進行投票邓了,得到最后的分類類別盏檐;?如何選擇一個最佳的K值,這取決于數(shù)據(jù)驶悟。一般情況下,在分類時較大的K值能夠減小噪聲的影響硫豆。但會使類別之間的界限變得模糊笼呆。一個較好的K值可通過各種啟發(fā)式技術來獲取诗赌,比如汗茄,交叉驗證洪碳。

KNN算法的優(yōu)點:理論成熟,思想簡單瞳腌,既可以用來做分類也可以用來做回歸嫂侍;可用于非線性分類挑宠;訓練時間復雜度為O(n);對數(shù)據(jù)沒有假設亿汞,準確度高,對outlier不敏感揪阿;

缺點:? 1)數(shù)據(jù)儲存量大(需要儲存訓練集中所有的樣本)南捂;2.在預測時計算量大(需要計算到所有樣本點的距離)3.容易對維度災難敏感

討論有關維度爆炸的問題

應用k-近鄰算法的一個實踐問題是溺健,實例間的距離是根據(jù)實例的所有屬性計算的。這與那些只選擇全部實例屬性的一個子集方法不同鞭缭,例如決策樹學習系統(tǒng)岭辣。 如果每個實例由20個屬性描述,但是這些屬性中僅僅2個屬性與它的分類有關沦童,這種情況偷遗,兩個相關屬性一致的實例可能在這個20維空間實例中相距很遠,結果就是這些不相關屬性會導致近鄰間距離被支配氏豌。這種由于存在很多不相關屬性所導致的難題,有時被稱為維度災難般妙。

解決方法:
比較簡單,就是計算距離的時候霹陡,對屬性加權。這樣就會減小不相關屬性的影響烹棉。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 另一種方法是:從實例空間中完全消除最不相關屬性浆洗,等效認為是對某個屬性設置縮放因子為0伏社。

PCA摘昌、LDA

①數(shù)據(jù)在低維下更容易處理聪黎、更容易使用;②相關特征锦秒,特別是重要特征更能在數(shù)據(jù)中明確的顯示出來旅择;如果只有兩維或者三維的話砌左,更便于可視化展示汇歹;③去除數(shù)據(jù)噪聲④降低算法開銷

標準差和方差一般是用來描述一維數(shù)據(jù)的,協(xié)方差就是一種用來度量兩個隨機變量關系的統(tǒng)計量产弹。求出協(xié)方差矩陣的特征值及特征向量之后痰哨,按照特征值由大到小進行排列胶果,這將給出成分的重要性級別早抠。

決策樹決策樹處理連續(xù)值的方法撬讽;連續(xù)值處理:二分法(C4.5)ID3和C4.5的優(yōu)缺點蕊连,樹的融合(RF和GBDT)?

優(yōu)點:1)決策樹自身的優(yōu)點計算簡單,易于理解游昼,可解釋性強甘苍。決策樹模型可以可視化,非常直觀應用范圍廣烘豌,可用于分類和回歸载庭,而且非常容易做多類別的分類能夠處理數(shù)值型和連續(xù)的樣本特征;2)訓練快速并且可調(diào)廊佩,無須擔心要像支持向量機那樣調(diào)一大堆參數(shù)囚聚;

缺點:1)不支持在線學習,于是在新樣本到來后标锄,決策樹需要全部重建靡挥。2)很容易在訓練數(shù)據(jù)中生成復雜的樹結構,造成過擬合(overfitting)鸯绿。剪枝可以緩解過擬合的負作用跋破,常用方法是限制樹的高度、葉子節(jié)點中的最少樣本數(shù)量瓶蝴。實際中的決策樹是基于啟發(fā)式的貪心算法建立的毒返,這種算法不能保證建立全局最優(yōu)的決策樹。Random Forest 引入隨機能緩解這個問題舷手。3)對于那些各類別樣本數(shù)量不一致的數(shù)據(jù)拧簸,在決策樹當中,信息增益的結果偏向于那些具有更多數(shù)值的特征(只要是使用了信息增益,都有這個缺點男窟,如RF)盆赤。

決策樹算法有哪些

ID3、C4.5歉眷、CART牺六。

他們劃分屬性的準則不同。

ID3以信息增益為準則汗捡;C4.5以增益率為準則淑际;CART以基尼指數(shù)為準則

Adaboosting

Adaboost是一種加和模型,每個模型都是基于上一次模型的錯誤率來建立的,過分關注分錯的樣本春缕,而對正確分類的樣本減少關注度盗胀,逐次迭代之后,可以得到一個相對較好的模型锄贼。是一種典型的boosting算法票灰。

優(yōu)點

adaboost是一種有很高精度的分類器。

可以使用各種方法構建子分類器宅荤,Adaboost算法提供的是框架屑迂。

當使用簡單分類器時,計算出的結果是可以理解的膘侮,并且弱分類器的構造極其簡單屈糊。

簡單的榛,不用做特征篩選琼了。

不容易發(fā)生overfitting。

關于隨機森林和GBDT等組合算法夫晌,參考這篇文章:機器學習-組合算法總結

缺點:對outlier比較敏感

?xgboost

這是一個近年來出現(xiàn)在各大比賽的大殺器雕薪,奪冠選手很大部分都使用了它。

高準確率高效率高并發(fā)晓淀,支持自定義損失函數(shù)所袁,既可以用來分類又可以用來回歸

可以像隨機森林一樣輸出特征重要性,因為速度快凶掰,適合作為高維特征選擇的一大利器

在目標函數(shù)中加入正則項燥爷,控制了模型的復雜程度,可以避免過擬合

支持列抽樣懦窘,也就是隨機選擇特征前翎,增強了模型的穩(wěn)定性

對缺失值不敏感,可以學習到包含缺失值的特征的分裂方向

另外一個廣受歡迎的原因是支持并行畅涂,速度杠杠的

用的好港华,你會發(fā)現(xiàn)他的全部都是優(yōu)點。

XGBoost的發(fā)起人——陳天奇博士午衰,他并不認可將深度學習和XGBoost截然對立起來立宜。他談到,這兩種方法在其各自擅長領域的性能表現(xiàn)都非常好:XGBoost專注于模型的可解釋性臊岸,而基于人工神經(jīng)網(wǎng)絡的深度學習橙数,則更關注模型的準確度。XGBoost更適用于變量數(shù)較少的表格數(shù)據(jù)帅戒,而深度學習則更適用于圖像或其他擁有海量變量的數(shù)據(jù)商模。不同的機器學習模型適用于不同類型的任務。深度神經(jīng)網(wǎng)絡通過對時空位置建模,能夠很好地捕獲圖像施流、語音响疚、文本等高維數(shù)據(jù)。而基于樹模型的XGBoost則能很好地處理表格數(shù)據(jù)瞪醋,同時還擁有一些深度神經(jīng)網(wǎng)絡所沒有的特性(如:模型的可解釋性忿晕、輸入數(shù)據(jù)的不變性、更易于調(diào)參等)银受。

隨機森林和GBDT的區(qū)別践盼、RF,GBDT 的區(qū)別; GBDT,XgBoost的區(qū)別(爛大街的問題最好從底層原理去分析回答)宾巍;?

模型組合+決策樹相關的算法有兩種比較基本的形式 - 隨機森林與GBDT((Gradient Boost Decision Tree)咕幻,其他的比較新的模型組合+決策樹的算法都是來自這兩種算法的延伸。本文主要側重于GBDT顶霞,對于隨機森林只是大概提提肄程,因為它相對比較簡單。

Bagging选浑,Boosting蓝厌,隨機森林:集成學習通過將多個學習器進行結合,彻磐剑可獲得比單一學習器顯著優(yōu)越的泛化性能拓提。

根據(jù)個體學習器的生成方式,目前的集成學習方法大致可分為兩大類:

1)個體學習器間存在強大依賴關系隧膘、必須串行生成的序列化方法代态,代表算法:Boosting;

2)個體學習器間不存在依賴關系疹吃、可同時生成的并行化方法蹦疑,代表算法Bagging和“隨機森林”RF。

K-means 的原理互墓,優(yōu)缺點以及改進必尼; EM與K-means的關系;?

關于K-Means聚類的文章篡撵,鏈接:機器學習算法-K-means聚類判莉。關于K-Means的推導,里面有著很強大的EM思想育谬。

優(yōu)點

算法簡單券盅,容易實現(xiàn) ;

對處理大數(shù)據(jù)集膛檀,該算法是相對可伸縮的和高效率的锰镀,因為它的復雜度大約是O(nkt)娘侍,其中n是所有對象的數(shù)目,k是簇的數(shù)目,t是迭代的次數(shù)泳炉。通常k<

算法嘗試找出使平方誤差函數(shù)值最小的k個劃分憾筏。當簇是密集的、球狀或團狀的花鹅,且簇與簇之間區(qū)別明顯時氧腰,聚類效果較好。

缺點

對數(shù)據(jù)類型要求較高刨肃,適合數(shù)值型數(shù)據(jù)古拴;

可能收斂到局部最小值,在大規(guī)模數(shù)據(jù)上收斂較慢

K值比較難以選日嬗选黄痪;

對初值的簇心值敏感,對于不同的初始值盔然,可能會導致不同的聚類結果桅打;

不適合于發(fā)現(xiàn)非凸面形狀的簇,或者大小差別很大的簇轻纪。

對于”噪聲”和孤立點數(shù)據(jù)敏感油额,少量的該類數(shù)據(jù)能夠?qū)ζ骄诞a(chǎn)生極大影響叠纷。

算法對比

在統(tǒng)計學中刻帚,一個模型好壞,是根據(jù)偏差和方差來衡量的

偏差:描述的是預測值(估計值)的期望E’與真實值Y之間的差距涩嚣。偏差越大崇众,越偏離真實數(shù)據(jù)。

方差:描述的是預測值的變化范圍航厚,離散程度顷歌,也就是離其期望值E的距離。方差越大幔睬,數(shù)據(jù)的分布越分散眯漩。

在統(tǒng)計學習框架下,大家刻畫模型復雜度的時候麻顶,有這么個觀點赦抖,認為Error = Bias + Variance。這里的Error大概可以理解為模型的預測錯誤率辅肾,是有兩部分組成的队萤,一部分是由于模型太簡單而帶來的估計不準確的部分(Bias)(欠擬合),另一部分是由于模型太復雜而帶來的更大的變化空間和不確定性(Variance)(過擬合)矫钓。當模型復雜度上升的時候要尔,偏差會逐漸變小舍杜,而方差會逐漸變大。

算法選擇參考之前翻譯過一些國外的文章赵辕,有一篇文章中給出了一個簡單的算法選擇技巧:首當其沖應該選擇的就是邏輯回歸既绩,如果它的效果不怎么樣,那么可以將它的結果作為基準來參考还惠,在基礎上與其他算法進行比較熬词;然后試試決策樹(隨機森林)看看是否可以大幅度提升你的模型性能。即便最后你并沒有把它當做為最終模型吸重,你也可以使用隨機森林來移除噪聲變量互拾,做特征選擇嚎幸;如果特征的數(shù)量和觀測樣本特別多颜矿,那么當資源和時間充足時(這個前提很重要),使用SVM不失為一種選擇嫉晶。通常情況下:【XGBOOST>=GBDT>=SVM>=RF>=Adaboost>=Other…】骑疆,現(xiàn)在深度學習很熱門,很多領域都用到替废,它是以神經(jīng)網(wǎng)絡為基礎的箍铭,目前我自己也在學習,只是理論知識不是很厚實椎镣,理解的不夠深诈火,這里就不做介紹了。算法固然重要状答,但好的數(shù)據(jù)卻要優(yōu)于好的算法冷守,設計優(yōu)良特征是大有裨益的。假如你有一個超大數(shù)據(jù)集惊科,那么無論你使用哪種算法可能對分類性能都沒太大影響(此時就可以根據(jù)速度和易用性來進行抉擇)拍摇。

神經(jīng)網(wǎng)絡

人工神經(jīng)網(wǎng)絡的優(yōu)點:分類的準確度高;并行分布處理能力強,分布存儲及學習能力強馆截,對噪聲神經(jīng)有較強的魯棒性和容錯能力充活,能充分逼近復雜的非線性關系;具備聯(lián)想記憶的功能蜡娶。

人工神經(jīng)網(wǎng)絡的缺點:神經(jīng)網(wǎng)絡需要大量的參數(shù)混卵,如網(wǎng)絡拓撲結構、權值和閾值的初始值翎蹈;不能觀察之間的學習過程淮菠,輸出結果難以解釋,會影響到結果的可信度和可接受程度荤堪;學習時間過長,甚至可能達不到學習的目的合陵。

BP神經(jīng)網(wǎng)絡枢赔。反向傳播的細節(jié).梯度彌散問題。

sigmoid函數(shù)的應用有哪些拥知,為什么踏拜?

作為激活函數(shù),增加非線性能力低剔。

Sigmoid函數(shù)的值域范圍限制在(0,1)之間速梗,我們知道[0,1]與概率值的范圍是相對應的姻锁,這樣sigmoid函數(shù)就能與一個概率分布聯(lián)系起來了位隶。

Sigmoid函數(shù)的導數(shù)是其本身的函數(shù)涧黄,即f′(x)=f(x)(1?f(x))f′(x)=f(x)(1?f(x))赋荆,計算非常方便窄潭,也非常節(jié)省計算時間。

列舉十種常用的神經(jīng)網(wǎng)絡模型

受限玻爾茲曼機(RBM:Restricted Boltzmann machines)信认、自編碼機(AE)、稀疏自編碼機(SAE)油挥、深度信念網(wǎng)絡(DBN)深寥、卷積神經(jīng)網(wǎng)絡(CNN)贤牛、生成式對抗網(wǎng)絡(GAN)闰集、循環(huán)神經(jīng)網(wǎng)絡(RNN)、長短期記憶(LSTM)武鲁、深度殘差網(wǎng)絡(DRN)挚瘟、門循環(huán)單元(GRU)

卷積神經(jīng)網(wǎng)絡中卷積如何實現(xiàn)乘盖,激活函數(shù)的意義憔涉,損失函數(shù)有哪些监氢,初始化參數(shù)如何選擇

在生物意義上的神經(jīng)元中纵揍,只有前面的樹突傳遞的信號的加權和值大于某一個特定的閾值的時候议街,后面的神經(jīng)元才會被激活特漩。簡單的說激活函數(shù)的意義在于判定每個神經(jīng)元的輸出 雄卷。

sigmoid的問題:

1.Sigmoid 容易飽和蛤售,并且當輸入非常大或者非常小的時候悴能,神經(jīng)元的梯度就接近于0了漠酿,從圖中可以看出梯度的趨勢炒嘲。這就使得我們在反向傳播算法中反向傳播接近于0的梯度,導致最終權重基本沒什么更新**空凸,我們就無法遞歸地學習到輸入數(shù)據(jù)了。另外紊选,你需要尤其注意參數(shù)的初始值來盡量避免這一情況兵罢。如果你的初始值很大的話卖词,大部分神經(jīng)元可能都會處在飽和的狀態(tài)而把梯度kill掉此蜈,這會導致網(wǎng)絡變的很難學習裆赵。對于這一點战授,我個人的理解就是對于數(shù)據(jù)特別小的時候植兰,梯度確實應該接近0(等于0就不好了)楣导,理由如上所述,數(shù)據(jù)特別大的時候朦促,梯度不應該接近0务冕。就像Relu函數(shù)做的那樣臊旭。

2.Sigmoid?的輸出不是0均值的离熏,這是我們不希望的滋戳,因為這會導致后層的神經(jīng)元的輸入是非0均值的信號奸鸯,這會對梯度產(chǎn)生影響:假設后層神經(jīng)元的輸入都為正(e.g. x>0 elementwise in f=wTx+b),那么對w求局部梯度則都為正娄涩,這樣在反向傳播的過程中w要么都往正方向更新蓄拣,要么都往負方向更新弯蚜,導致有一種捆綁的效果,使得收斂緩慢收厨。(如果你是按batch去訓練优构,那么每個batch可能得到不同的符號(正或負)钦椭,那么相加一下這個問題還是可以緩解彪腔。)

使用 ReLU 得到的SGD的收斂速度會比 sigmoid/tanh 快很多(如上圖右)恭垦。有人說這是因為它是linear番挺,而且梯度不會飽和襟衰。ReLU在訓練的時候很”脆弱”粪摘,一不小心有可能導致神經(jīng)元”壞死”瀑晒。舉個例子:由于ReLU在x<0時梯度為0,這樣就導致負的梯度在這個ReLU被置零赶熟,而且這個神經(jīng)元有可能再也不會被任何數(shù)據(jù)激活瑰妄。

7.2隨機初始化仍然希望參數(shù)期望接近1隨機參數(shù)服從高斯分布或均勻分布進行初始化

TensorFlow中的session是什么,session和interactivesession的區(qū)別

graph只是定義了計算映砖,他本身不計算任何東西间坐,他不保存任何值,他只是定義了你用代碼所規(guī)定的操作? ? ? ? ? ? ? session允許計算圖或者圖的一部分邑退,他為這個分配資源并且保存中間結果的值和變量

tf.InteractiveSession():它能讓你在運行圖的時候竹宋,插入一些計算圖地技,這些計算圖是由某些操作(operations)構成的。這對于工作在交互式環(huán)境中的人們來說非常便利妹懒,比如使用IPython。tf.Session():需要在啟動session之前構建整個計算圖,然后啟動該計算圖笛坦。意思就是在我們使用tf.InteractiveSession()來構建會話的時候,我們可以先構建一個session然后再定義操作(operation),如果我們使用tf.Session()來構建會話我們需要在會話構建之前定義好全部的操作(operation)然后再構建會話俯画。

Python的數(shù)據(jù)結構有哪些

list tuple dict set

問了loss優(yōu)化方法猜憎,說了BGD崩瓤,SGD肾扰,各自優(yōu)缺點区匣,優(yōu)化方向(Adam之類的)

BGD(batch gradient descent):優(yōu)點:?由于每一步都利用了訓練集中的所有數(shù)據(jù),因此當損失函數(shù)達到最小值以后,能夠保證此時計算出的梯度為0,換句話說,就是能夠收斂.因此,使用BGD時不需要逐漸減小學習速率缺點:?由于每一步都要使用所有數(shù)據(jù),因此隨著數(shù)據(jù)集的增大,運行速度會越來越慢.

SGD(Stochastic Gradient Descent )?:訓練速度快,對于很大的數(shù)據(jù)集,也能夠以較快的速度收斂.缺點:?由于是抽取,因此不可避免的,得到的梯度肯定有誤差.因此學習速率需要逐漸減小.否則模型無法收斂?因為誤差,所以每一次迭代的梯度受抽樣的影響比較大,也就是說梯度含有比較大的噪聲,不能很好的反映真實梯度.

mini-batch Gradient Descent:雖然相較于批量梯度下降和隨機梯度下降方法效果有所改善但是任然存在許多挑戰(zhàn):?1. 難以選擇合適的學習速率:如果學習速率選擇過小會造成網(wǎng)絡收斂太慢辞友,但是設得太大可能使得損失函數(shù)在最小點周圍不斷搖擺而永遠達不到最小點;?2. 可以在訓練開始時設置一個較大地學習率然后每訓練若干個周期后按比例降低學習率,雖然這個方法有一些作用疙渣,但是由于降低學習率的周期是人為事先設定的哗伯,所以它不能很好地適應數(shù)據(jù)內(nèi)在的規(guī)律虐块;?3. 另一方面,我們對特征向量中的所有的特征都采用了相同的學習率,如果訓練數(shù)據(jù)十分稀疏并且不同特征的變化頻率差別很大今魔,這時候?qū)ψ兓l率慢得特征采用大的學習率而對變化頻率快的特征采用小的學習率是更好的選擇殃姓。?4. 這些梯度下降方法難以逃脫”鞍點”, 如下圖所示踏幻,鞍點既不是最大點也不是最小點该面,在這個點附近隔缀,所有方向上的梯度都接近于0牵触,這些梯度下降算法很難逃離它瞧挤。

?交叉驗證問題?

什么是交叉驗證法?

它的基本思想就是將原始數(shù)據(jù)(dataset)進行分組邻梆,一部分做為訓練集來訓練模型浦妄,另一部分做為測試集來評價模型。為什么用交叉驗證法替裆?

交叉驗證用于評估模型的預測性能校辩,尤其是訓練好的模型在新數(shù)據(jù)上的表現(xiàn),可以在一定程度上減小過擬合辆童。還可以從有限的數(shù)據(jù)中獲取盡可能多的有效信息宜咒。k 折交叉驗證(k-fold cross validation)通過對 k 個不同分組訓練的結果進行平均來減少方差,因此模型的性能對數(shù)據(jù)的劃分就不那么敏感把鉴。第一步故黑,不重復抽樣將原始數(shù)據(jù)隨機分為 k 份。第二步庭砍,每一次挑選其中 1 份作為測試集场晶,剩余 k-1 份作為訓練集用于模型訓練。第三步怠缸,重復第二步 k 次诗轻,這樣每個子集都有一次機會作為測試集,其余機會作為訓練集揭北。在每個訓練集上訓練后得到一個模型扳炬,用這個模型在相應的測試集上測試吏颖,計算并保存模型的評估指標,第四步恨樟,計算 k 組測試結果的平均值作為模型精度的估計半醉,并作為當前 k 折交叉驗證下模型的性能指標。

L1與L2的作用劝术,區(qū)別以及如何解決L1求導困難缩多;L1為什么能讓參數(shù)稀疏,L2為什么會讓參數(shù)趨于較小值养晋,L1優(yōu)化方法

當你想從一個手頭的數(shù)據(jù)集中學習出一套規(guī)則時衬吆,貝葉斯學派認為僅僅使用這些數(shù)據(jù)是不夠的,還需要加入先驗知識匙握。如果你在損失函數(shù)中使用了L1正則項咆槽,那么其實質(zhì)就是加入了拉普拉斯先驗分布,即認為數(shù)據(jù)是符合拉普拉斯分布的圈纺;如果你使用了L2正則項,那么就是加入了高斯先驗分布麦射,即認為數(shù)據(jù)是符合高斯分布的蛾娶。

如何用盡可能少的樣本訓練模型同時又保證模型的性能;?

fine-tune

機器學習性能評價潜秋,準確率蛔琅,召回率,ROC?

判別模型與生成模型的本質(zhì)區(qū)別是什么

交叉熵loss推到

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市峻呛,隨后出現(xiàn)的幾起案子罗售,更是在濱河造成了極大的恐慌,老刑警劉巖钩述,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寨躁,死亡現(xiàn)場離奇詭異,居然都是意外死亡牙勘,警方通過查閱死者的電腦和手機职恳,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來方面,“玉大人放钦,你說我怎么就攤上這事」Ы穑” “怎么了操禀?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長横腿。 經(jīng)常有香客問我颓屑,道長辙培,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任邢锯,我火速辦了婚禮扬蕊,結果婚禮上,老公的妹妹穿的比我還像新娘丹擎。我一直安慰自己尾抑,他們只是感情好,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布蒂培。 她就那樣靜靜地躺著再愈,像睡著了一般。 火紅的嫁衣襯著肌膚如雪护戳。 梳的紋絲不亂的頭發(fā)上翎冲,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音媳荒,去河邊找鬼抗悍。 笑死,一個胖子當著我的面吹牛钳枕,可吹牛的內(nèi)容都是我干的缴渊。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼鱼炒,長吁一口氣:“原來是場噩夢啊……” “哼衔沼!你這毒婦竟也來了?” 一聲冷哼從身側響起昔瞧,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤指蚁,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后自晰,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體凝化,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年缀磕,在試婚紗的時候發(fā)現(xiàn)自己被綠了缘圈。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡袜蚕,死狀恐怖糟把,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情牲剃,我是刑警寧澤遣疯,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站凿傅,受9級特大地震影響缠犀,放射性物質(zhì)發(fā)生泄漏数苫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一辨液、第九天 我趴在偏房一處隱蔽的房頂上張望虐急。 院中可真熱鬧,春花似錦滔迈、人聲如沸止吁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽敬惦。三九已至,卻和暖如春谈山,著一層夾襖步出監(jiān)牢的瞬間俄删,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工奏路, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留畴椰,地道東北人。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓思劳,卻偏偏與公主長得像迅矛,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子潜叛,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345

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

  • 機器學習是做NLP和計算機視覺這類應用算法的基礎,雖然現(xiàn)在深度學習模型大行其道壶硅,但是懂一些傳統(tǒng)算法的原理和它們之間...
    在河之簡閱讀 20,482評論 4 65
  • 對于機器學習算法的盤點威兜,網(wǎng)上屢見不鮮。但目前庐椒,還沒人能結合使用場景來把問題說明白椒舵,而這一點正是本文的目的所在。文中...
    a微風掠過閱讀 555評論 0 6
  • 第一捆小蔥 好友經(jīng)營著一家蛋糕店泼橘,由于離一家醫(yī)院比較近,所以常有患者或家屬來購買迈勋。 一天炬灭,一位滿臉滄桑、衣衫襤褸的...
    清淺墨客閱讀 461評論 1 12
  • 財富差距會導致商業(yè)認知的不對稱靡菇,從而帶來機會的不平等重归,而我就是要來打破這不平等的米愿,讓每個人都有機會 – 劉潤 商業(yè)...
    三體饅頭閱讀 48,505評論 6 186
  • 二十周年畢業(yè)同學會有感: 長江邊, 古鎮(zhèn)旁鼻吮。 航校同窗再相見育苟, 歡聲笑語總不斷。 暖椎木!暖违柏!暖! 分離別拓哺, 愁緒結勇垛。...
    六弦月閱讀 130評論 0 0