绪论
| 真实类别 | 预测为正例 | 预测为反例 |
|---|
| 正例 | TP(真正例) | FN(假反例) |
| 反例 | FP(假正例) | TN(真反例) |
| 真实类别 |
预测为第0类 |
预测为第1类 |
| 第0类 |
0 |
|
| 第1类 |
|
0 |
| 制作数据集 | 包括测试数据集以及训练数据集sklearn->train_test_split() |
| 观察数据 | 散点矩阵图:可以两两查看所有特征 |
| 构建模型 |
|
|
|
|
|
|
|
| 评估模型 | 回归 | 均方差 | |
| 分类 | 均等假设 | 错误率 | 有多少比例的西瓜判别错误 | |
| 精度 | 有多少比例的西瓜判别正确 | |
| 查全率(召回率) | 好瓜有多大的比例被挑出来了 | |
| 查准率(准确率) | 挑出来的西瓜有多少是好瓜 | |
| P-R曲线 | 横轴为查全率,纵轴为查准率 |
| 包住 | 如果一个学习器的P-R曲线被另外一个学习器P-R曲线包住,那么后者的性能优于前者(此时后者的查全率跟查准率都高于前者) |
| 不能包住 | 平衡点 | 查全率=查准率 |
| F1度量 | 查准率和查全率的调和平均 |
|
| ROC与AUC曲线 | ROC曲线的纵轴是“真正例率”;横轴为“假正例率(False Positive Rate,简称FPR)”。AUC为曲线与坐标围成的面积 |
| 真正例率指的是真实正例中有多少被预测为正例,假正例率指的是真实反例中有多少被预测为正例。可以看出TPR和Recall的形式是一样的,就是查全率了,FPR就是保证这样的查全率你所要付出的代价,就是把多少负样本也分成了正的了。 |
| 判断标准 | 如果学习器A的ROC曲线被学习器B完全“包住”,那么后者性能优于前者(相同的假正例率,其真正例率更高)。但是当两个曲线有交点时,则需要比较曲线下的面积AUC(Area Under ROC Curve)。 |
| P-R曲线、ROC曲线绘制 | 分类器应该能输出连续的值,比如在逻辑回归分类器中,其以概率的形式输出,可以设定阈值大于0.5为正样本,否则为负样本。因此设置不同的阈值就可以得到不同的曲线 |
| 非均等假设 | 代价敏感错误率与代价曲线 | 现实生活中会有这样的场景,不同类型造成的错误后果不同。比如门禁,错误的把可通过人员挡在门外,会使得用户体验不佳,但是如果把不可通过人员进入则会造成严重的安全事故。为了权衡不同错误导致的不同损失,可以给每个错误设立一定的权重 纵轴: (代价损失) 横轴 (正例概率) |
|
| 欠拟合 | 在训练数据和未知数据上表现都很差 |
| 欠拟合通常不被讨论,因为给定一个评估模型表现的指标的情况下,欠拟合很容易被发现。矫正方法是继续学习并且试着更换机器学习算法。虽然如此,欠拟合与过拟合形成了鲜明的对照。 |
| 解决方法:添加特征项,减少正则项参数 |
| 过拟合 | 在训练数据上表现良好,在未知数据上表现差 |
| 当某个模型过度的学习训练数据中的细节和噪音,以至于模型在新的数据上表现很差,我们称过拟合发生了。这意味着训练数据中的噪音或者随机波动也被当做概念被模型学习了。而问题就在于这些概念不适用于新的数据,从而导致模型泛化性能的变差。 |
| 解决方法 | 1)重新清洗数据,导致过拟合的一个原因也有可能是数据不纯导致的,如果出现了过拟合就需要我们重新清洗数据。 |
| 2)增大数据的训练量,还有一个原因就是我们用于训练的数据量太小导致的,训练数据占总数据的比例过小。 |
| 3)采用正则化方法。正则化方法包括L0正则、L1正则和L2正则,而正则一般是在目标函数之后加上对于的范数。但是在机器学习中一般使用L2正则,下面看具体的原因。 |
| 为什么正则化(Regularization)可以减少过拟合风险.md(限制参数W) |
数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。那特征工程到底是什么呢?顾名思义,其本质是一项工程活动,目的是最大限度地从原始数据中提取特征以供算法和模型使用。
| 样本分布的检测方法 | 查看数据分布情况,进行柯尔莫哥洛夫-斯米尔诺夫检验 |
| 样本不平衡的解决方法 | 欠采样 | 当数据量足够时就该使用此方法,保存所有稀有类样本,并在丰富类别中随机选择与稀有类别样本相等数量的样本 |
| 过采样 | 数据量不足时就应该使用过采样,它尝试通过增加稀有样本的数量来平衡数据集,而不是去除丰富类别的样本的数量 |
| 重复 | 拷贝一部分样本偏少的数据多分,已达到平衡。在交叉验证之前使用过采样 |
| 合成少数类 | SMOT:SMOTE.md |
| Borderline-SMOTE算法SMOTE.md |
| 组合/集成方法 | 此算法类似于随机森林的Bagging方法,它把数据划分为两部分,分别是多数类样本和少数类样本,对于多数类样本,通过n次有放回抽样生成n份子集,少数类样本分别和这n份样本合并训练一个模型,这样可以得到n个模型,最终的模型是这n个模型预测结果的平均值。通过组合/集成方法解决样本不均衡.md |
| 添加随机特征 | 没有PCA | 模型性能微弱降低,采用树模型,进行的实验。树模型只识别有效特征 |
| PCA之后 | 模型性能显著降低,随机特征经过PCA之后变为噪声 |
| ss处理之后 | 没有PCA | 模型性能微弱降低,采用树模型,进行的实验。树模型只识别有效特征 |
| PCA | 模型性能微弱降低,采用树模型,进行的实验。随即特征幅值变小,降维之后的噪声信号变弱 |
| 特征选择 | 嵌入 | 50%为有效特征 |
| wrapp | 很少有有效特征 |
| 添加0特征 | 没有PCA |
| 模型性能不变 |
| PCA之后 |
| 模型性能不变 |
| ss处理之后 | 没有PCA | 模型性能提升,效果一样 |
| PCA |
| 特征选择 | 嵌入 | 完全识别 |
| wrapp | 完全识别 |
| 字符串差异性 | Hamming | 两个等长字符串之间的汉明距离是两个字符串对应位置的不同字符的个数 |
| Levenshtein | 编辑距离,用来表示两个字符串的差异。编辑距离是指从字符串 A 开始,修改成字符串 B 的最小步骤数,每个以步骤中,你可以删除一个字符、修改一个字符或者新增一个字符。 |
| Simhash | 将一个文档,通过hash函数转换成一个64位的字节,暂且称之为特征字,然后只需要判断他们的特征字的距离就可以判断两个文档的相似度 |
| 集合差异性 | Jaccard | 相似指数 |
| 距离 |
| Dice | |
| Ochiai | |
| 相关性 | cosine | |
| manhatton | |
| Minkowski | |
| euclidean | |
| pearson | |
| spearman | 斯皮尔曼相关系数被定义成 等级变量之间的皮尔逊相关系数 |
| kendall | |
优化算法
用于求解损失函数最大最小值的方法
算法
线性回归问题.md
逻辑斯谛回归.md
感知机.md
k近邻算法.md
决策树.md
随机森林.md
GBDT.md
朴素贝叶斯算法.md
聚类.md
HCM 与FCM聚类.md
最大熵模型.md
改进的迭代尺度法.md
SVM支持向量机.md
集成算法.md
隐含马尔科夫模型.md
神经网络——感知机与多层网络.md
附录
信息论.md
导数、偏导数、梯度.md
梯度下降法.md
梯度下降法简版.md
牛顿法和牛顿拟合法.md
拉格朗日对偶性.md
EM算法.md
局部最小与全局最小.md
核函数.md
度量学习.md
参考博客
斯坦福机器学习笔记
| 符号 |
含义 |
|
实数集 |
|
实数向量空间,n 维欧氏空间 |
|
希尔伯特空间 |
|
输入空间 |
|
输出空间 |
|
输入,实例 |
|
输出,实例 |
|
输入随机变量 |
|
输出随机变量 |
|
训练数据集 |
|
第个实例 |
|
样本容量 |
|
第 个训练实例 |
|
n 维特征向量,n个特征 |
|
输入向量 的第分量 |
|
概率分布 |
|
联合概率分布 |