1,餘弦相似度與歐氏距離
1.1,餘弦相似度
透過對兩個文字分詞,TF-IDF
演算法向量化,利用空間中兩個向量的夾角,來判斷這兩個向量的相似程度:(計算夾角的餘弦,取值 0-1
)
- 當兩個向量夾角越大,距離越遠,最大距離就是兩個向量夾角 180°;
- 夾角越小,距離越近,最小距離就是兩個向量夾角 0°,完全重合。
- 夾角越小相似度越高,但由於有可能一個文章的特徵向量詞特別多導致整個向量維度很高,使得計算的代價太大不適合大資料量的計算。
計算兩個向量a、b的夾角餘弦:
我們知道,餘弦定理:\(cos(\theta) = \frac {a^2+b^2+c^2}{2ab}\) ,由此推得兩個向量夾角餘弦的計算公式如下:
\[cos(\theta) = \frac {ab}{||a|| \times ||b||} = \frac {x_{1}x_{2}+y_1y_2}{\sqrt{x^2_1+y^2_1}\sqrt{x^2_2+y^2_2}}
\]
(分子就是兩個向量的內積,分母是兩個向量的模長乘積)
1.2,歐式距離
歐式距離也稱歐幾里得距離,計算公式和 L2 範數類似。
在歐幾里得空間中,歐式距離其實就是向量空間中兩點之間的距離。點 \(x = (x_{1}, ..., x_{n})\) 和 \(y = (y_{1}, ..., y_{n})\) 之間得歐氏距離計算公式如下:
\[d(x,y) = \sqrt {((x_{1}-y_{1})^{2} + (x_{2}-y_{2})^{2} + ... + (x_{n}-y_{n})^{2})}
\]
1.3,餘弦相似度和歐氏距離的區別
- 歐式距離和餘弦相似度都能度量
2
個向量之間的相似度 - 放到向量空間中看,歐式距離衡量
兩點之間
的直線距離,而餘弦相似度計算的是兩個向量
之間的夾角 - 沒有歸一化時,歐式距離的範圍是
[0, +∞]
,而餘弦相似度的範圍是[-1, 1]
;餘弦距離是計算相似程度,而歐氏距離計算的是相同程度(對應值的相同程度) - 歸一化的情況下,可以將空間想象成一個超球面(三維),歐氏距離就是球面上兩點的直線距離,而向量餘弦值等價於兩點的球面距離,本質是一樣。
2,容量、欠擬合和過擬合
- 模型容量是指模型擬合各種函式的能力,決定了模型是欠擬合還是過擬合。
- 欠擬合就是指模型的訓練誤差過大,即偏差過大,表現為模型不夠”準“,最佳化演算法目的在於解決欠擬合問題。
- 過擬合就是指訓練誤差和測試誤差間距過大,即方差過大,表現為模型不夠”穩“,正則化目的在於解決過擬合問題。
- 機器學習模型的目的是解決欠擬合和過擬合的問題,這也是機器學習演算法的兩個挑戰。
訓練誤差
train error
,泛化誤差generalization error
,也叫測試誤差(test error
)。
3,正則化方法
- 正則化是指我們修改學習演算法,使其降低泛化誤差而非訓練誤差。 正則化是機器學習領域的中心問題之一,只有最佳化能夠與其重要性相媲。
- 正則化一個學習函式為 \(f(x; θ)\) 的模型,我們可以給代價函式(損失函式)新增被稱為正則化項(
regularizer
)的懲罰。 - 正則化是一種思想(策略),給代價函式新增懲罰只是其中一種方法。另外一種最常用的正則化技術是權重衰減,透過加入的正則項對引數數值進行衰減,得到更小的權值。當 \(\lambda\) 較大時,會使得一些權重幾乎衰減到零,相當於去掉了這一項特徵,類似於減少特徵維度。
4,L1 和 L2 範數
L1 範數(L1 norm
)是指向量中各個元素絕對值之和,也有個美稱叫“稀疏規則運算元”(Lasso regularization)。 比如 向量 A=[1,-1,3], 那麼 A 的 L1 範數為 |1|+|-1|+|3|。簡單總結一下就是:
- L1 範數: 為向量 x 各個元素絕對值之和。
- L2 範數: 為向量 x 各個元素平方和的 1/2 次方,L2 範數又稱 Euclidean 範數或 Frobenius 範數
- Lp 範數: 為向量 x 各個元素絕對值 \(p\) 次方和的 \(1/p\) 次方.
L1
範數可以使權值引數稀疏,方便特徵提取。 L2 範數可以防止過擬合,提升模型的泛化能力。
5,超引數和驗證集
- 普通引數指演算法權重 \(w\) 的值,是可以透過學習演算法本身學習得到。超引數的值不是透過學習演算法本身學習出來的,可透過驗證集人為選擇合適的超引數。
- 將訓練資料劃分為兩個不相交的子集,即訓練集和驗證集,訓練集用於學習普通引數,驗證集用於估計訓練中或訓練後的泛化誤差,更新超引數(“訓練超引數”)。通常,
80%
的訓練資料用於訓練,20%
用於驗證。 - 交叉驗證方法適合小規模資料集(例如幾百上千張圖片)訓練模型的情況。
6,估計、偏差和方差
- 統計領域的基本概念,例如引數估計、偏差和方差,對於正式地刻畫泛化、欠擬合和過擬合都非常有幫助。偏差和方差的關係和機器學習容量、欠擬合和過擬合的概念緊密相聯。
- 偏差和方差度量著估計量的兩個不同誤差來源。偏差度量著偏離真實函式或引數的誤差期望。而方差度量著資料上任意特定取樣可能導致的估計期望的偏差。
7,隨機梯度下降演算法
- 隨機梯度下降演算法是目前最為廣泛應用的一種神經網路最佳化演算法,形式為 \(θ=θ − ϵg\),\(ϵ\) 是學習率,\(g\) 是梯度,\(θ\) 是權重。
- 隨機梯度下降最佳化演算法不一定能保證在合理的時間內達到一個區域性最小值,但它通常能及時地找到代價函式一個很小的值,並且是有用的。