DataWhale初级算法梳理—Task01:机器学习综述

梦想与她 提交于 2020-01-08 20:55:45

机器学习概述

1.机器学习分类

1.1 监督学习:

利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。监督学习的训练集要求包括输入和输出,主要应用于分类和预测。

1.2 非监督学习:

从数据集中发现隐含的某种结构,获得样本数据的结构特征,判断哪些数据比较相似。

1.3半监督学习

监督学习和非监督学习的结合,其在训练阶段使用的是未标记的数据和已标记的数据,不仅要学习属性之间的结构关系,也要输出分类模型进行预测。

1.4 强化学习:

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。

2.机器学习算法

2.1 线性算法(Linear Algorithms):

线性回归(Linear Regression)、套索回归(Lasso Regression)、岭回归(Ridge Regression)、逻辑回归(Logistic Regression)

2.2 决策树(Decision Tree):

ID3、C4.5、CART

2.3 支持向量机(SVM)
2.4 朴素贝叶斯算法(Naive Bayes Algorithms):

朴素贝叶斯(Naive Bayes)、高斯朴素贝叶斯(Gaussian Naive Bayes)、多项式朴素贝叶斯(Multinomial Naive Bayes)、信念网络(Bayesian Belief Network,BBN)、贝叶斯网络(Bayesian Network ,BN)

2.5 k最近邻分类算法(kNN)
2.6 聚类算法(Clustering Algorithms):

k-Means、k-Medians、期望最大化算法(Expectation Maximisation ,EM)、层次聚类(Hierarchical Clustering)

2.7 随机森林(Random Forest)
2.8 降维算法(Dimensionality Reduction Algorithms)
2.9 梯度提升算法(Gradient Boosting algorithms)

GBM、XGBoost、LightGBM、CatBoost

2.10 深度学习算法(Deep Learning Algorithms):

卷积神经网络(Convolutional Neural Network ,CNN)、循环神经网络(Recurrent Neural Networks ,RNNs)、长短期记忆网络(Long Short-Term Memory Networks ,LSTMs)、栈式自动编码器(Stacked Auto-Encoders)、深度玻尔兹曼机(Deep Boltzmann Machine ,DBM)、深度信念网络(Deep Belief Networks ,DBN)

3.机器学习损失函数

3.1 0-1损失函数

0-1损失函数
0-1损失函数又是也可以放宽条件,满足 |Y−f(X)|<T时认为相等,即:
0-1损失函数2

3.2 绝对值损失函数

绝对值损失函数

3.3 平方损失函数

一般用于线性回归。
平方损失函数

3.4 对数损失函数

对数损失函数

3.5 指数损失函数

指数损失函数

3.6 铰链(Hinge)损失函数

铰链损失函数

4.机器学习优化方法

4.1 梯度下降(gradient descent)

梯度下降

4.2 随机梯度下降(Stochastic Gradient Descent)

随机梯度下降

4.3 小批量梯度下降(Mini-batch Gradient Descent)

小批量梯度下降

4.4 引入动量的梯度下降(Momentum)

引入动量的梯度下降

4.5 自适应学习率的Adagrad算法

Adagrad算法

4.6 牛顿法

牛顿法

5.机器学习评价指标

5.1 MSE

MSE

5.2 MAE

MAE

5.3 RMSE

RMSE

5.4 Top-k准确率

Top-k

5.5 混淆矩阵
混淆矩阵 Predicted as Positive Predicted as Negative
Labeled as Positive True Positive(TP) False Negative(FN)
Labeled as Negative False Positive(FP) True Negative(TN)
  • 真正例(True Positive, TP):真实类别为正例, 预测类别为正例

  • 假负例(False Negative, FN): 真实类别为正例, 预测类别为负例

  • 假正例(False Positive, FP): 真实类别为负例, 预测类别为正例

  • 真负例(True Negative, TN): 真实类别为负例, 预测类别为负例

  • 真正率(True Positive Rate, TPR): 被预测为正的正样本数 / 正样本实际数 TPR=TPTP+FN TPR=\frac{TP}{TP+FN}

  • 假负率(False Negative Rate, FNR): 被预测为负的正样本数/正样本实际数 FNR=FNTP+FN FNR=\frac{FN}{TP+FN}

  • 假正率(False Positive Rate, FPR): 被预测为正的负样本数/负样本实际数, FPR=FPFP+TN FPR=\frac{FP}{FP+TN}

  • 真负率(True Negative Rate, TNR): 被预测为负的负样本数/负样本实际数, TNR=TNFP+TN TNR=\frac{TN}{FP+TN}

  • 准确率(Accuracy) ACC=TP+TNTP+FN+FP+TN ACC=\frac{TP+TN}{TP+FN+FP+TN}

  • 精准率 P=TPTP+FP P=\frac{TP}{TP+FP}

  • 召回率 R=TPTP+FN R=\frac{TP}{TP+FN}

  • F1-Score 2F1=1P+1R \frac{2}{F_1}=\frac{1}{P}+\frac{1}{R}

  • ROC
    ROC曲线的横轴为“假正例率”,纵轴为“真正例率”. 以FPR为横坐标,TPR为纵坐标,那么ROC曲线就是改变各种阈值后得到的所有坐标点 (FPR,TPR) 的连线,画出来如下。红线是随机乱猜情况下的ROC,曲线越靠左上角,分类器越佳.

  • AUG(Area Under Curve)
    AUC就是ROC曲线下的面积. 真实情况下,由于数据是一个一个的,阈值被离散化,呈现的曲线便是锯齿状的,当然数据越多,阈值分的越细,”曲线”越光滑.
    AUG
    用AUC判断分类器(预测模型)优劣的标准:
    (1)AUC = 1 是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器.
    (2)0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值.
    (3)AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测.

6.机器学习模型选择

6.1 交叉验证

所有数据分为三部分:训练集、交叉验证集和测试集。交叉验证集不仅在选择模型时有用,在超参数选择、正则项参数 [公式] 和评价模型中也很有用。

6.2 k-折叠交叉验证

假设训练集为S ,将训练集等分为k份:S1,S2,...,Sk{S_1, S_2, ..., S_k}.
然后每次从集合中拿出k-1份进行训练
利用集合中剩下的那一份来进行测试并计算损失值
最后得到k次测试得到的损失值,并选择平均损失值最小的模型

6.3 Bias与Variance,欠拟合与过拟合

(1)欠拟合一般表示模型对数据的表现能力不足,通常是模型的复杂度不够,并且Bias高,训练集的损失值高,测试集的损失值也高.
(2)过拟合一般表示模型对数据的表现能力过好,通常是模型的复杂度过高,并且Variance高,训练集的损失值低,测试集的损失值高.
在这里插入图片描述
在这里插入图片描述
解决方法
增加训练样本: 解决高Variance情况
减少特征维数: 解决高Variance情况
增加特征维数: 解决高Bias情况
增加模型复杂度: 解决高Bias情况
减小模型复杂度: 解决高Variance情况

7.机器学习参数调优

7.1 网格搜索

一种调参手段;穷举搜索:在所有候选的参数选择中,通过循环遍历,尝试每一种可能性,表现最好的参数就是最终的结果

7.2 随机搜索

与网格搜索相比,随机搜索并未尝试所有参数值,而是从指定的分布中采样固定数量的参数设置。它的理论依据是,如果随即样本点集足够大,那么也可以找到全局的最大或最小值,或它们的近似值。通过对搜索范围的随机取样,随机搜索一般会比网格搜索要快一些。

7.3 贝叶斯优化算法

贝叶斯优化用于机器学习调参由J. Snoek(2012)提出,主要思想是,给定优化的目标函数(广义的函数,只需指定输入和输出即可,无需知道内部结构以及数学性质),通过不断地添加样本点来更新目标函数的后验分布(高斯过程,直到后验分布基本贴合于真实分布。简单的说,就是考虑了上一次参数的信息,从而更好的调整当前的参数。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!