paper and book閱讀

 

我微博每週讀論文列表


#每週讀論文# 1、Parameter estimation for text analysis很好的介紹了參數估計的方法:最大似然、最大後驗、貝葉斯估計,以及以LDA爲例的文本參數估計方法以及Gibbs sampling實現。

 

#每週讀論文# 2、A 250-year argument:belife, behavior, and the bootstrap,今年貝葉斯法則250週年,斯坦福Brad Efron大師的對貝葉斯派和頻率派反思,從ML到MAP到貝葉斯方法到經驗貝葉斯娓娓道來,反思了貝葉斯派和頻率派argue的主要的地方以及有缺點, 以及從bootstrap到gibbs sampling逐漸成爲主流。

 

#每週讀論文# 3、A gradient boosting machine:Adaboost通過每次調整訓練錯誤樣本的權重,最後多個模型組合;Gradient boosting的方式,則每次梯度下降的方向最小二乘法參數化求解base learner參數,然後單個參數的線性搜索。不同的損失函數:LS擬合殘差、LAD加權中值。當然TreeBoost是本文的重點。由於梯度gm只在訓練集上的點有定義,無法推廣到其他點,所以基於這些點,使用梯度gm在這些點平行的方向,進行擬合受限的base learning參數,從而達到梯度下降的目的。

 

#每週讀論文# 4、Bagging Predictors: 從bootstrap sample很自然的延伸的模型組合方法,從訓練集使用repeat bootstrap sample出來不同的sample集合,學習出不同的模型,對於迴歸,對結果取平均值,對於分類,進行投票。對數據集不穩定的模型,通過減少方差,提高 精度。相比Adaboost,後者還能減少偏置。Bagging對於決策樹、神經網絡等對於數據集敏感的模型,效果比較好,而對於KNN、decision stump簡單穩定的模型效果沒有什麼提高。Adaboost對於decision stump有非常大的提升。Ensemble的方法基本都是構造variance比較大的Expert模型,不同的Expert擅長不同的領域,然後進行combine。而隨機森林的方法是非常擅長搞出variance的模型,所以效果非常好。

 

#每週讀論文# 5、Classical Probabilistic Models and Conditional Random Fields:主要從NB、HMM、ME、CRF由淺入深,從生成模型和判別模型以及概率圖模型角度介紹,推導非常細緻,特別是ME和CRF。但我趕腳 CRF最好的理解方式還是在序列標註對ME擴展上理解更加自然,對照着CRF++的template一切就明瞭了。當然ME和CRF最大的優點是能夠利用global feature,非常方便集成各種特徵。

 

#每週讀論文# 6、Active Learning Literature Survey:主動學習主要是爲了減少人工標註,特別是比較難標註情況。主要包含1)unlabel數據的生成方式:membership query synthesis樣本可生成特定label的樣例;Stream-based依次生成一個sample,決定是否query,pool-based從樣 本池中query;2)Query策略:主要包括不確定性、QBC、期望模型改變、期望錯誤減少、期望方差減少。能提供概率值或者score的算法中不確定性是個比較簡單易行的 策略,主要衡量方法有:LC(1-max(p)) MS(max1(p)-max2(p))、信息熵,非概率模型的,比如svm可以利用距離決策邊緣距離來衡量。QBC有點像Ensemble學習方式,利用訓練的多個模型,進行投票決定,模型投票最不一致的進行query,計算不一致性主要有:vote熵,平均KL距離。

 

#每週讀論文# 7、A Maximum Entropy Approach to NLP:最大熵模型非常好的優點容易集成各種特徵,這些特徵通常都是一些約束條件。本文開始由淺入深介紹最大熵模型,展示了該模型如何將特徵選擇和模型選 擇統一起來,然後以統計翻譯模型、句子分割爲例介紹了利用最大熵解決NLP問題,如何集成各種feature。

 

#每週讀論文# 8、Probabilistic Latent Semantic Analysis: PLSA和LSA相比提供了更好的概率解釋:topics、詞在topics概率分佈,可以解決多義詞問題,PLSA的EM算法比SVD更高效。和聚類相 比,聚類一個文檔一個隱含類別,假設整個文檔集是某一種分佈。文中還提出了TEM算法,添加正則化,增強泛化能力。最近的LDA只是在PLSA的基礎上,添加了貝葉斯先驗,然後使用貝葉斯估計的方法求解模型參數。LDA和PLSA可以看做貝葉斯和頻率派對同一模型的不同的inference。所以理解PLSA是理解LDA的基礎。

 

#每週讀論文# 9、A study of smoothing method for language models Applied to ad hoc information retrieval:語言模型在語音識別和機器翻譯、IR廣泛使用,效果的好壞直接和平滑的效果相關,所謂的平滑指爲了克服數據稀疏性導致的最大似然的不 準確性(未出現的詞估計爲0)。常用的方法從簡單的拉普拉斯平滑、插值方法到Good-Turing,本文主要以IR爲背景,所以主要介紹了一元語言模型的平滑方法。主要是使用文檔集的語言模型和文檔語言模型進行插值平滑,主要對比了三種方法:Jelinek-Mercer,貝葉斯的Dirichlet先驗的Dirichlet方法Absolute discount在IR中的performance。本文還介紹了語言模型的IR和基於空間向量tf-idf之間背後的聯繫

 

#每週讀論文# 10、Architecture of a Database System: 從數據庫的架構介紹了數據庫的各個核心組件,從進程/線程模式、分佈式結構、Query解析/rewrite/優化、存儲管理、事務控制到公用組件內存管理等,以商業級數據庫Oracle,Mysql,Postgreql,DB2等爲例介紹了其實現模式和取捨,在理論和實踐上很好的統一。進程模型:如果放在今天,討論進程還是線程模型,我想大多數人設計數據庫的人都會選擇線程模型。爲什麼功能強大的Oracle和PG選擇進程模型,主要有 兩方面原因:一、當時的線程在各個OS支持和性能上參差不齊,線程模型和API各個OS各異;二、Oracle和PG面向企業級複雜SQL處理爲主,高並 發並不是主要的需求。相反Mysql等主要面向互聯網應用,高併發是其主要的優勢,互聯網應用以簡單的SQL爲主,所以mysql雖然對複雜SQL優化很差,但線程模型的連接開銷很低和連接數支持更多,簡單多次查詢不是問題。查詢優化:Oracle傾向於提供可預期的優化,很少進行self-tune,而SQL server提供了很多self-tune的優化。主要原因是Oracle的用戶以高端用戶爲主,對調優很擅長,而SQL server的用戶比較低端一些,很少調優或者不擅長調優,所以SQL server提供了很多自動調優,雖然不能達到最優的效果,但方便了用戶。OS buffer的問題:使用OS buffer難以保證數據庫的ACID,從性能上OS buffer的read/write ahead功能通常難以滿足數據庫的需求,OS的read/write ahead通常是物理位置的連續,而DB通常是邏輯上的順序讀B+數葉子節點的數據。Query Plan能給出很好的邏輯預測。所以DB 的buffer pooling要比OS buffer性能更好。另一方面,啓用OS buffer,雙buffer模式很浪費內存,導致內存數據的copy是性能上很大的瓶頸,copy數據浪費cpu時鐘週期,沖掉cpu cache。另外OS的buffer的頁面替換機制:LRU管理和CLOCK對於DB來說性能很差。比如數據庫進行table-scan,可能導致buffer無法放下所有的數據,而LRU沒有把scan不符合條件的淘汰掉,而是舊的但被很多地方經常使用的數據給淘汰了。而DB的buffer管理,通常採用更適合數據庫的LRU2或者其他的淘汰機制。所以通常禁用OS buffer,而操作系統通常提供了hooks,可以指定使用Direct I/O,還是concurrent I/O。

 

#每週讀論文# 11、Near-optimal Hashing Algorthm for approximate nearest neighbor in high dimensions:介紹高效的查找近鄰元素的局部敏感hash近似方法,給出了局部敏感hash的定義和算法,介紹了LSH庫提供的基於漢明距離、l1,Jaccard、歐拉距離算法。Mining of massive dataset這本書的也有很好的介紹。

 

#每週讀論文# 12、matrix factorization techniques for recommender system: 推薦系統常用的算法基於內容、協同過濾、矩陣分解。基本的矩陣分解算法使用向量q_i關聯物品和p_u關聯用戶,r_ui=q_i*p_u表示二者交互, 優化函數least square+l_2 normal,使用sgd或者交替least square進行優化。矩陣分解相比協同過濾的優勢是更容易集成各種數據和特定應用的需求。比如除了交互的建模還有用戶和物品本事的偏置,有的人傾向於給高分,有的物品容易得到 更高評價。添加上這兩個偏置和平均分進行建模會更加健壯。另外系統是動態變化的,物品偏置、用戶偏置以及用戶喜好隨着時間變化,這些參數集成進來。

 

#每週讀論文# 13、A Tutorial on Spectral Clustering:譜聚類相比k-means能更好的發現非凸的聚類,而且無論在effective還是efficient都更好,算法也簡單。其背 後的理論也有意思,先把聚類的點轉化成相似矩陣,然後計算graph Laplacian 矩陣特徵值,最後對特徵值最小的k個特徵向量排列之後的行做k-means。 其理論和圖切割有很大的淵源,等價於最小化Ratio Cut 、Normalized Cut(本身是NP問題)的放鬆條件(去掉離散值的限制)的優化問題,優化的原理和Rayleigh quotient 相關,還可以利用馬爾科夫隨機遊走的理論構建相似矩陣,對Ncut進行了概率的解釋。從直覺上看,除了從圖切割上比較容易理解,從相似矩陣的角度上,SC能把相似的元素reorder搞成各個block,然後這些block就是不同的聚 類。SC在圖像分割上有廣泛的應用。雖然可以處理高維問題,但是構造N*N相似矩陣仍然是個限制,像對於處理社交圖譜這樣大的圖,很難scale。直觀上譜聚類和基於密度聚類(比如DBSCAN)有一些相似的,形成的聚類形狀可以是任意的,利用相鄰點 空間的可達性(SC根據相似度形成的圖定義可達性,DBSCAN基於密度定義可達性-純空間上的)。DBSCAN是一個基於local密度可達進行擴展的 貪心算法,SC是Global優化問題。從kernal方面來理解,SC先進行kernel變換,然後使用k-means聚類,其本質是一種 weighted kernel k-means,我們常用的一些kernel方法,把低維空間線性不可分的點變換成高維空間就線性可分了。而SC則把一些聚類形狀上非凸的k-means 比較難處理的,變換到另一種空間,這個空間下形狀是容易聚類凸的塊狀

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章