原创 LeetCode 3Sum&&3Sum Closest&&4Sum

終於做了決定,開始做LeetCode,上來先做了3題都是關於sum的,這三題我認爲都是從同一個問題變過來的,很多人都知道一個經典的問題就是給你一個數組a和一個數字tar,問你這個數組中有沒有兩個數的和等於這個給定的數字tar,顯然要用O

原创 關於幾種二分的想法

一般的二分能解決在單調序列中查找某個數是否存在的作用,假如查找的某數有多個,我要你輸出第一個的位置,或者最後一個的位置,其實這些問題也能用而二分解決。 c++中貌似自帶lower_bound 和upper_bound函數,分別是在單調有序

原创 Latent Semantic Analysis(LSA)

對於一個term-document加權詞頻矩陣(如TF-IDF),如果他的規模m*n非常大,那麼這些文本的存儲還有計算聚類都會有不小的麻煩,LSA採用SVD分解將高維文本映射到低維的隱含語義空間,較好的解決了這個問題。 分解後的三部分都

原创 Least Angel Regression

最小角迴歸和上一篇說的forward stepwise有一些相似的地方是都是將一些variable選到variable集合中來,不一樣的是,forward stepwise 每次選的都是與當前殘差相關度最大的variable,選進來以後,

原创 subset selection

這幾天看the elements of statistical learning,覺得非常喫力,可能自己水平還不夠,覺得這書不適合初學者看,就從Subset Selection 這一章節來說,本文說了主要說了三個點,best-subset

原创 SVD and PCA

MIT 線性代數課程中講過的矩陣分解有很多種,但是據我所知最重要的應該是SVD分解了,假如現在想把矩陣A行空間的正交基通過A左乘的方法變換到A列空間的正交基,有: 將上式左右兩邊都乘以V的轉置,就可以得到矩陣奇異值分解的公式,SVD的分解

原创 hdu1069

本題是一個最長上升子序列的變形,題目給你n種長方體,每種都是無數個,然後讓你堆出最大的高度,如果長方體A能放在長方體B上面,那麼必須滿足長方體A的底面長寬分別都是嚴格小於長方體B的,根據這一點,給定一塊長方體,按照不同的放法,可以生成6個

原创 Spectral Clustering

譜聚類一般用於圖的聚類,進行譜聚類首先需要這個圖的臨界矩陣W和度矩陣D。臨接矩陣的定義相信大家都清楚,w(i,j)=0表示i,j兩個點沒有邊相連,否則w(i,j)表示i與j之間權值,一般來說,採用Knn方法(i是j的最近k個點之一或者j是

原创 EM Algorithm

上一次剛寫了LSA模型,本來這次想寫PLSA模型,但是由於PLSA模型是需要用到EM算法的,所以這裏我想先解釋下EM算法,我所見過用到EM算法中,一般都是用來解決求解最大似然估計的參數的,當最大似然估計: 不好求解時,可以採用EM的方

原创 pat1071

字符串的題是我的弱項,因爲我覺得我好像對數字感興趣,其實這只是藉口。 本題我在11月2號的時候只拿到了17分,已經忘了是怎麼寫的,早上做了半小時過了,我覺得讓你在一串字符串中統計單詞的問題需要注意三點: 1開始的時候需要注意單詞的開始可能

原创 poj1952

又是一道最長上升子序列的變形,讓你求最長下降子序列的長度和個數,長度很簡單,統計個數關鍵是不能重複,什麼叫做重複呢,就是你找出來的所有情況,不可以存在2種序列完全一模一樣,比如3 2 1 3 2 1這個問題答案 3 1,因爲第一個 雖然有

原创 About PCA

在處理高維度的數據時,比如數據個數爲m,每個數據都是n維的,經常遇到的一個問題就是n*m(表示X這個矩陣維度是n*m)這個值非常大,這不僅對於存儲,而且對於計算都是不小的麻煩,主成分分析法(PCA)可以有效的解決這個問題,主成分分析法的大

原创 Regularization and Ridge Regression

對於線性迴歸中過擬合的問題,有一種叫做regularization的方法,將最小二乘改成了最小化如下式子: 首先想說的就是這個代價函數的由來,爲什麼又是2次? 要說清楚這個問題首先要知道貝葉斯的理論,就是 後驗分佈 成正比於 先驗分佈

原创 九度1502

說這題前先說下11月2號的,也就是昨天的pat考試把,在這次考試中我拿到了84分,算是在可接受的範圍之內把,另外牛人還是挺多的,12個100分,84分排到了25位,沒上80的基本上死在最後一題最短路上。有一點遺憾的是,我雖然知道這題的做法

原创 Fisher's linear discriminant(Linear Discriminant Analysis)

Fisher's linear discriminant的主要思想是(簡單起見這裏先討論分成2類的情況)將高維的數據投影到一維,在這一維上,我們就能輕易得到分類。 以下兩幅圖分別來自prml 和the elements,我覺得非常好的說