1,余弦相似度与欧氏距离
1.1,余弦相似度
通过对两个文本分词,TF-IDF
算法向量化,利用空间中两个向量的夹角,来判断这两个向量的相似程度:(计算夹角的余弦,取值 0-1
)
- 当两个向量夹角越大,距离越远,最大距离就是两个向量夹角 180°;
- 夹角越小,距离越近,最小距离就是两个向量夹角 0°,完全重合。
- 夹角越小相似度越高,但由于有可能一个文章的特征向量词特别多导致整个向量维度很高,使得计算的代价太大不适合大数据量的计算。
计算两个向量a、b的夹角余弦:
我们知道,余弦定理:\(cos(\theta) = \frac {a^2+b^2+c^2}{2ab}\) ,由此推得两个向量夹角余弦的计算公式如下:
(分子就是两个向量的内积,分母是两个向量的模长乘积)
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\) 是梯度,\(θ\) 是权重。
- 随机梯度下降优化算法不一定能保证在合理的时间内达到一个局部最小值,但它通常能及时地找到代价函数一个很小的值,并且是有用的。