datawhale Task0机器学习概述

机器学习分类

1. 监督学习

监督学习是指:利用一组已知类别的样本调整分类器的参数,使其达到所要求性能的过程,也称为监督训练或有教师学习。监督学习是从标记的训练数据来推断一个功能的机器学习任务。训练数据包括一套训练示例。在监督学习中,每个实例都是由一个输入对象(通常为矢量)和一个期望的输出值(也称为监督信号)组成。监督学习算法是分析该训练数据,并产生一个推断的功能,其可以用于映射出新的实例。一个最佳的方案将允许该算法来正确地决定那些看不见的实例的类标签。这就要求学习算法是在一种“合理”的方式从一种从训练数据到看不见的情况下形成。

2. 非监督学习

顾名思义,就是不对数据进行标明,让机器自动去判断,哪些数据比较像,归到一类等等

3. 半监督学习

半监督学习(Semi-Supervised Learning,SSL)是模式识别和机器学习领域研究的重点问题,是监督学习与无监督学习相结合的一种学习方法。半监督学习使用大量的未标记数据,以及同时使用标记数据,来进行模式识别工作。当使用半监督学习时,将会要求尽量少的人员来从事工作,同时,又能够带来比较高的准确性,因此,半监督学习正越来越受到人们的重视。

4. 强化学习

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。强化学习的常见模型是标准的马尔可夫决策过程(Markov Decision Process, MDP)。按给定条件,强化学习可分为基于模式的强化学习(model-based RL)和无模式强化学习(model-free RL),以及主动强化学习(active RL)和被动强化学习(passive RL)。强化学习的变体包括逆向强化学习、阶层强化学习和部分可观测系统的强化学习。求解强化学习问题所使用的算法可分为策略搜索算法和值函数(value function)算法两类。深度学习模型可以在强化学习中得到使用,形成深度强化学习。

机器学习模型

machine learning = data + model + optimal strategy
datawhale Task0机器学习概述

常用的机器学习算法

  • kNN
  • 支持向量机
  • 贝叶斯
  • 随机森林
  • 决策树
  • 降维
    (只记得这么多啦哈哈哈)

机器学习损失函数

  • 0-1损失函数
  • 绝对值损失函数
  • 平方损失函数
  • log对数损失函数
  • 指数损失函数
  • Hinge损失函数

机器学习优化方法

  • 全量梯度下降法
  • 随机梯度下降
  • 小批量梯度下降
  • 引入动量的梯度下降
  • 自适应学习率的Adagrad算法
  • 牛顿法

机器学习的评级指标

平均绝对误差MAE(Mean Absolute Error)又被称为l1范数损失(l1-norm loss):
datawhale Task0机器学习概述
平均平方误差MSE(Mean Squared Error)又被称为l2范数损失(l2-norm loss):
datawhale Task0机器学习概述
**解释变异( Explained variance)**是根据误差的方差计算得到的:
datawhale Task0机器学习概述

AUC和ROC

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

AUC就是ROC曲线下的面积. 真实情况下,由于数据是一个一个的,阈值被离散化,呈现的曲线便是锯齿状的,当然数据越多,阈值分的越细,”曲线”越光滑.
datawhale Task0机器学习概述

用AUC判断分类器(预测模型)优劣的标准:
AUC = 1 是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器.
0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值.
AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测

机器学习模型选择

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

k-折叠交叉验证

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

(感觉这两种用的好像比较多)