目录
超参数选择
Gride Search
Random Search
相关库
几种参数估计的区别与联系:MLE、MAP、贝叶斯TODO
余弦相似度(cos距离)与欧式距离的区别和联系
1)区别
2)联系
归一化 标准化
混淆矩阵、模型度量指标:准确率、精确率、召回率、F1值
关联规则挖掘的3个度量指标:支持度、置信度、提升度
超参数选择
Gride Search
Random Search
相关库
几种参数估计的区别与联系:MLE、MAP、贝叶斯TODO
聊一聊机器学习的MLE和MAP:最大似然估计和最大后验估计
余弦相似度(cos距离)与欧式距离的区别和联系
- 欧式距离和余弦相似度都能度量2个向量之间的相似度
- 放到向量空间中看,欧式距离衡量两点之间的直线距离,而余弦相似度计算的是两个向量之间的夹角
- 没有归一化时,欧式距离的范围是 [0, +∞],而余弦相似度的范围是[-1,1];余弦距离是计算相似度,而欧式距离计算的是相同程度(对应值的相同程度)
- 归一化的情况下,可以将空间想象成一个超球面(三维),向量余弦值等价与两点的球面距离,欧式距离就是球面上两点的直线距离,本质是一样的
余弦相似与欧氏距离有什么区别和联系-github-挺详细的
欧氏距离和余弦相似度的区别是什么?
1)区别
假设 2人对三部电影的评分分别是 A = [3, 3, 3]
和 B = [5, 5, 5]
那么2人的欧式距离是 根号12 = 3.46, A、B的余弦相似度是1(方向完全一致)。
余弦值的范围是[-1, 1], 越接近于1,说明2个向量的方向越相近
欧式距离和余弦相似度都能度量2个向量之间的相似度,但是欧式距离从2点之间的距离去考量,余弦相似从2个向量之间的夹角去考量。 从上例可以发出,2人对三部电影的评价趋势是一致的,但是欧式距离并不能反映出这一点,余弦相似则能够很好地反应。余弦相似可以很好地规避指标刻度的差异,最常见的应用是计算 文本的相似度 。
2)联系
从下图的公式可以看出,归一化后计算的欧式距离是关于余弦相似的单调函数,可以认为归一化后,余弦相似与欧式距离效果是一致的(欧式距离越小等价于余弦相似度越大)。
因此可以将 求余弦相似转为求欧式距离 ,余弦相似的计算复杂度过高,转为求欧式距离后,可以借助KDTree
(KNN算法用到)或者BallTree
(对高维向量友好)来降低复杂度。
归一化 标准化
归一化(Normalization)与标准化(Standardization)指代四种feature scaling(特征缩放)方法:
1、Rescaling(min-max normalization)
最小-最大归一化,也被称为最大-最小缩放,对原始数据进行线性变换把数据映射到[0,1]之间。
其中minmin是样本中最小值,maxmax是样本中最大值,注意在数据流场景下最大值与最小值是变化的。另外,最大值与最小值非常容易受异常点影响,所以这种方法鲁棒性较差,只适合传统精确小数据场景。
如果存在离群点,会影响规范化,若在规范化之后添加新的数据,当新数据落在原数据区间之外,会导致“越界”错误
2、mean normalization(均值归一化)(没查到这个)
3、standardization(标准化)
常用的方法是z-score标准化,经过处理后的数据均值为0,标准差为1,处理方法是:
其中μ是样本的均值,σ是样本的标准差,它们可以通过现有样本进行估计。在已有样本足够多的情况下比较稳定,适合现代嘈杂大数据场景。(z-score规范化)
对离群点不敏感
4、scaling to unit length(缩放到单位长度)
在几何学中,向量的大小等于有向线段的长度。我们用双竖线来表示向量的大小(例如,‖u‖表示u的大小)
对于任意非零向量v,都能计算出一个和v方向相同的单位向量n,这个过程被称作为向量的“标准化”,要标准化向量,将向量除以它的大小(模)即可。
标准化归一化的好处--详解
向量运算(向量基本概念,挺有用)
混淆矩阵、模型度量指标:准确率、精确率、召回率、F1值
分词中的评价标准:
混淆矩阵
- True Positve(TP):将正类预测为正类的数量
- True Negtive(TN):将负类预测成负类的数量
- False Positve(FP):将负类预测成正类 --> 误报
- False Negtive(FN):将正类预测为负类 --> 误报
准确率(accuracy)
精确率(precision)
准确率 精确率 的区别
在正负样本不平衡的情况下,准确率这个评价指标有很大的缺陷。比如在互联网广告里面,点击的数量是很少的,一般只有千分之几,如果用acc,即使全部预测成负类(不点击)acc 也有 99% 以上,没有意义。
召回率(recall,sensitivity,true positive rate,查全率)
F1值——精确率和召回率的调和均值
只有点那个精确率和召回率都很高时,F1值才会高
如何处理数据中的缺失值
可以分为2种情况:
1、缺失值较多
- 直接舍弃该列特征,否则可能会带来较大的噪声,从而对结果造成不良影响
2、缺失值较少
- 当缺失值较少(<10%)时,可以考虑对缺失值进行填充,以下是几种常用的填充策略:
- 用一个异常值填充(比如0),将缺失值作为一个特征处理
- 用均值|条件均值填充
如果数据是不平衡的,那么应该使用条件均值填充
所谓条件均值,指的是与缺失值所属标签相同的所有数据的均值
- 用相邻数据填充
# 用前一个数据填充
data.fillna(method='pad')
# 用后一个数据填充
data.fillna(method='bfill')
- 插值
data.interpolate()
关联规则挖掘的3个度量指标:支持度、置信度、提升度