算法圖解第十、十一章讀書筆記

K最近鄰算法:KNN用於分類和迴歸,需要考慮最近的鄰居。

分類就是編組。

迴歸就是預測結果。

特徵抽取意味着將物品轉換爲一系列可比較的數字。

能否挑選合適的特徵事關KNN算法的成敗

 

餘弦相似度不計算兩個矢量的距離,而比較它們的角度。適合如下情況: 假設有兩位品味類似的用戶,但其中一位打分時更保守。他們都喜歡Manmohan Desai的電影Amar Akbar Anthony,但Paul給了5星,而Rowan只給了4星,如果用距離公式,這兩位用戶可能不是鄰居,雖然他們的品味非常接近。

 

OCR識別是基於K最近鄰算法。

樸素貝葉斯分類器能計算出郵件爲垃圾郵件的概率,其應用領域與KNN相似。

搜索引擎基於反向索引(倒排索引)(inverted index)。

傅里葉變換可創建類似於Shazam這樣的音樂識別軟件。

並行算法:Hadoop的MapReduce。

布隆過濾器是一種概率型數據結構,它提供的答案有可能不對,但很可能是正確的。 爲了判斷一個網頁是否已被搜索引擎蒐集,可不使用散列表,使用布隆過濾器。

HyperLogLog 是一種類似於布隆過濾器的算法。如果Google要計算用戶執行的不同搜索的數量,可使用此算法。

HyperLogLog近似地計算集合中不同的元素數,與布隆過濾器一樣,它不能給出準確的答案,但也八九不離十,佔用內存少很多。

Simhash生成的散列值存在細微的差別,這讓你能夠通過比較散列值來判斷兩個字符串的相似程度。

線性規劃使用Simplex算法,來求一個問題的最優化解,

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