原创 最近鄰搜索神器——一文讀懂局部敏感哈希LSH原理

什麼是LSH? LSH主要用來解決高維空間中點的近似最近鄰搜索問題,即Approximate Nearest Neighbor(ANN)。 在實際的應用中我們所面對的數據是海量的,並且有着很高的維度。在對數據的各種操作中,查詢操作

原创 Attention Is All You Need論文詳解與理解

研究背景、動機 深度學習做NLP問題的方法,大多基本上是先將句子分詞,然後將每個詞轉化爲對應的詞向量序列,於是每個句子就都對應一個詞嵌入矩陣X=(x1,x2,...,xt)X=\left(x_1,x_2,{...,x}_t\rig

原创 Easy Algorithms系列——詳解遞歸與分治

寫在前面: 嗨,大家好。歡迎各位有緣人來到我的博客,這裏是Easy Algorithms (EA) 系列第一彈。之所以寫這個專欄,完全是爲了回顧和整理自己的算法知識。本科四年,我大概搞了三年半的算法競賽,通過自己的不懈努力,還

原创 小白學變分推斷(1)——變分推斷概述

變分推斷 變分推斷(Variational Inference, VI)是貝葉斯近似推斷方法中的一大類方法,它將後驗推斷問題巧妙地轉化爲優化問題進行求解,相比另一大類方法馬爾可夫鏈蒙特卡洛方法(Markov Chain Monte

原创 Variational Inference with Normalizing Flows 論文小結

變分推斷中,用於近似的後驗分佈的選擇是變分推斷的核心問題。大多數的變分推斷的應用爲了進行高效的推斷都聚焦於簡單的後驗近似族,比如mean-field(平均場)或者簡單的結構化近似。這一限制極大的影響變分推斷方法的質量和性能表現。本

原创 小白學變分推斷(2)——變分推斷

在上一篇系列文章小白學變分推斷(1)——變分推斷概述中,我們通過對ELBO引入條件概率公式,進一步化簡得到:ELBO=Eq[log p(x∣z)]−KL(q(z)∣∣p(z)) ELBO = E_q[log\ p(x|z)] -

原创 一文學會支持向量機(SVM)

SVM是一個二元分類算法,線性分類和非線性分類都支持,其學習策略便是間隔最大化, 最終可以轉化爲一個凸二次規劃問題求解。經過演進,現在也可以支持多元分類,同時經過擴展也能應用於迴歸問題。 初探SVM 一個簡單的例子 下面舉個簡單

原创 一文了解KL散度(KL Divergence)

在概率論和統計學中,我們經常用一個簡單的近似分佈來代替觀測數據或複雜的分佈.KL散度幫助我們衡量當我們選擇一個簡單近似的分佈來代替複雜的數據或複雜的分佈的時候有多少信息損失了. 一個例子 假設我們是太空科學家並在參觀一個遙遠的新

原创 一文理解線性迴歸原理(模型,損失函數,正則化)

線性迴歸模型函數和損失函數 線性迴歸模型 線性迴歸是機器學習中最基本的問題模型了,線性迴歸遇到的問題一般是這樣的。我們有m個樣本,每個樣本對應n維特徵和一個結果輸出,如下: (x1(0),x2(0),...xn(0),y0),(x

原创 K-Means聚類算法詳解

聲明 部分參考K-Means聚類算法原理 聚類算法 聚類算法是一種無監督學習算法,它主要用於將相似的樣本自動歸到一個類別中. 聚類算法與分類算法的區別:聚類算法是無監督學習,而分類是監督學習,在聚類算法中我們根據樣本之間的相似度(

原创 快速近似計算Gamma函數以及函數階乘

Gamma 函數 Γ(s)=∫0∞xs−1e−xdx,s>0 \begin{aligned} \Gamma(s) = \int_{0}^{\infty} x^{s - 1} e^{-x} dx, s > 0 \end{aligne

原创 EM(Expectation Maximum) 算法總結

EM算法,全稱爲Expectation Maximum Algorithm,是一個基礎算法,是很多機器學習領域算法的基礎(如HMM,LDA等)。EM算法是在概率模型中尋找參數最大似然估計或者最大後驗估計的算法,其中概率模型依賴於無

原创 LeetCode Regular Expression Matching(動態規劃)

傳送門 題意: 給你兩個字符串s和p,讓你判斷兩個字符串是否可以完全匹配. 匹配採用正則化匹配的方式,’.‘可以匹配任意字符,’*'表示前面的一個字符匹配0次或多次. 思路: 比較好想的一種方法就是遞歸. 首先p中若沒有’.‘和

原创 深度學習——--殘差網絡(ResNet)詳解

爲什麼會有殘差網絡? 網絡越深準確率越高嗎? 一說起深度學習,自然也就想到了它非常顯著的特點"深",通過很深層次的網絡實現準確率非常高的圖像識別、語音識別等。因此,我們大家很自然就想到:深的網絡肯定比淺的網絡效果好,如果要進一步提

原创 集成學習(ensemble learning)乾貨系列(1)——集成學習概述

什麼是集成學習? 集成學習:簡單概括就是通過某種合理的方式將多個簡單的基學習器結合起來,以期獲得更準確,更高效的模型。 對某些機器學習任務,有的時候我們使用單個模型已經調到最優,很難再有改進。這時候爲了提高性能,往往會用很少量的工