简单的说,机器学习中学习,进而得到一个更加符合现实规律的模型,通过对模型的使用使得机器比以往表现的更好,这就是机器学习。
对上面这句话的理解:
数据:从现实生活抽象出来的一些事物或者规律的特征进行数字化得到。
学习:在数据的基础上让机器重复执行一套特定的步骤(学习算法)进行事物特征的萃取,得到一个更加逼近于现实的描述(这个描述是一个模型它的本身可能就是一个函数)。我们把大概能够描述现实的这个函数称作我们学到的模型。
过拟合的产生总结一下大概有以下五种原因可能产生:
上面的原因都是现象,但是其本质只有一个,那就是“业务理解错误造成的”,无论是抽样,还是噪音,还是决策树,神经网络等等,如果我们对于业务背景和业务知识非常了解,非常透彻的话,一定是可以避免绝大多数过拟合现象产生的。因为在模型从确定需求,到思路讨论,到搭建,到业务应用验证,各个环节都是可以用业务敏感来防止过拟合于未然的。
避免过拟合问题:
(1) 重采样Bootstrap
(2) L1,L2 正则化
(3) 决策树的剪枝操作
(4) 交叉验证
避免欠拟合问题:
(1) 增加样本数量
(2) 增加样本特征的数量
(3) 可以进行特征维度扩展
换句话说,简单的模型是稳定的(低方差)但有很大的偏差。复杂的模型容易过拟合,但表达了模型的真实性(低偏差)。误差的最佳减少需要权衡偏差和方差,以避免高方差和高偏差。
贝叶斯定理是我们在知道其他概率时如何找到概率的方法。换句话说,它提供了先验知识事件的后验概率。该定理是计算条件概率的原则方法。
朴素贝叶斯分类器用于分类。当独立性的假设成立时,与其他复杂的预测变量相比,它们更易于实现并产生更好的结果。它们用于垃圾邮件过滤,文本分析和推荐系统。
对于小的训练集,具有高偏差和低方差模型的模型更好,因为它不太可能过拟合。一个例子是朴素贝叶斯。
对于大型训练集,具有低偏差和高方差模型的模型更好,因为它表示更复杂的关系。一个例子是逻辑回归。
ROC曲线是在所有阈值下分类模型的性能的图形表示。它有两个阈值:真阳性率(TPR)和假阳性率(FPR)。
简单来说,AUC( ROC 曲线下方的面积)就是 ROC 曲线下方的面积。AUC 测量 ROC 曲线下从(0,0)到(1,1)的二维区域。它用作评估二进制分类模型的性能指标。
我们可以使用三种方法来防止过度拟合:
(1) 使用交叉验证技术(例如k折交叉验证)
(2) 保持模型简单(即减少变量)以减少方差
(3) 使用正则化技术(例如 LASSO)来惩罚可能导致过度拟合的模型参数
此外,我们可以使用正则化技术,其中较高的模型系数会受到惩罚,以降低总体复杂度。
(2) 使用随机森林和绘图变量重要性图表
(3) 使用套索回归
(4) 使用线性回归以基于p值选择变量
(5) 使用前向选择,逐步选择和向后选择
XGBoos 是使用许多树的集成方法。这意味着它会随着自身的重复而提高。
TP /真正肯定:案例是肯定的,并且被预测为肯定
TN /真阴性:案件为阴性,预计为阴性
FN /假阴性:案件为阳性,但预计为阴性
FP /误报:案例为否定,但预计为肯定
您可以采用 3 种一般方法:
只是删除它们(不理想)
为缺失值分配唯一的类别,以查看是否有趋势生成此问题
检查目标变量的分布。如果找到了模式,请保留缺少的值,将其分配给新类别,然后删除其他类别
相关性是协方差的标准化格式。协方差本身很难做比较。例如:如果我们计算工资(¥)和年龄(岁)的协方差,因为这两个变量有不同的度量,所以我们会得到不能做比较的不同的协方差。为了解决这个问题,我们计算相关性来得到一个介于-1和1之间的值,就可以忽略它们各自不同的度量。
为了得到更好的预测,只有在分类变量在本质上是有序的情况下才可以被当做连续型变量来处理。
如果模型是参数的线性函数,并且存在线性分类面,那么就是线性分类器,否则不是。
常用的线性分类器有:LR ,贝叶斯分类,单层感知器,线性回归
常见的非线性分类器:决策树,RF,GBDT,多层感知机
SVM两种都有(看线性核还是高斯核)
线性分类器速度快,编程方便,但是可能拟合效果不会很好
非线性分类器编程复杂,但是效果拟合能力强
余弦距离是两个向量的距离的一种度量方式,其值在-1~1之间,如果为1表示两个向量同相,0表示两个向量正交,-1表示两个向量反向。使用TF-IDF和余弦距离可以寻找内容相似的文章,例如首先用TF-IDF找出两篇文章的关键词,然后每个文章分别取出k个关键词(10-20个),统计这些关键词的词频,生成两篇文章的词频向量,然后用余弦距离计算其相似度。
页面统计可以帮我们知晓某个页面被多少人访问了多少次
行为统计是指用户在界面上的操作行为,应用最多的是按钮的点击次数
(1) 抽象成数学问题
(3) 特征预处理与特征选择
(4) 训练模型与调优
(5) 模型诊断
如何确定模型调优的方向与思路呢?这就需要对模型进行诊断的技术。
诊断后的模型需要进行调优,调优后的新模型需要重新进行诊断,这是一个反复迭代不断逼近的过程,需要不断地尝试, 进而达到最优状态。
(6)模型融合
一般来说,模型融合后都能使得效果有一定提升。而且效果很好。
(7) 上线运行
这一部分内容主要跟工程实现的相关性比较大。工程上是结果导向,模型在线上运行的效果直接决定模型的成败。 不单纯包括其准确程度、误差等情况,还包括其运行的速度(时间复杂度)、资源消耗程度(空间复杂度)、稳定性是否可接受。
这些工作流程主要是工程实践上总结出的一些经验。并不是每个项目都包含完整的一个流程。这里的部分只是一个指导性的说明,只有大家自己多实践,多积累项目经验,才会有自己更深刻的认识。