勵志

勵志人生知識庫

相似度算法有哪些

相似度算法主要包括以下幾種:

餘弦相似度(cosine_similarity):通過計算兩個向量的夾角餘弦值來評估他們的相似度。

Jaccard相似度:主要用於計算符號度量或布爾值度量的樣本間的相似度。Jaccard係數等於樣本集交集的個數和樣本集並集個數的比值。

編輯距離(Levenshtein):也稱爲Levenshtein距離,用於衡量兩個序列之間的差異。

MinHash:一種用於大規模數據集上估計Jaccard相似度的算法。

SimHash + 海明距離:SimHash是一種局部敏感哈希算法,可以將高維數據映射到短的指紋(哈希值),然後使用海明距離(漢明距離)來衡量兩個SimHash指紋之間的相似度。

皮爾遜相關係數:一般用於計算兩個定距變量間聯繫的緊密程度,其值總是在 -1.0 到 1.0 之間,接近 0 的變量被稱爲無相關性,接近 1 或者 -1 被稱爲具有強相關性。

歐式距離和曼哈頓距離:在多維空間中,歐式距離和曼哈頓距離都可以用來計算向量之間的相似度。

以上各種算法適用於不同的場景和數據類型,選擇合適的相似度算法對於解決特定問題是至關重要的。