018.(5.8-5.15)初涉机器学习

参考书籍:《周志华——机器学习》、《李航——统计学习方法》、《机器学习实战》

介绍

机器学习是从人工智能发展出来的一个领域。
在这里插入图片描述

  • 运用:
    1.数据挖掘
    2.人自己不能编程的应用(如自动驾驶)
    3.私人定制程序
    4.更好地理解人类学习
    在这里插入图片描述

机器学习的目标:学得模型能很好地适用于新样本,不只是在训练样本上表现得好。(即泛化能力)

主要的两类算法:监督学习和无监督学习(也有半监督学习)。
其他:如强化学习和推荐系统。

机器学习三要素:模型、策略、算法。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重点:最优化 (如梯度下降法)

监督学习和无监督学习

  • 监督学习:

    在已有数据集基础上,“right answers given”,从而解决回归问题或分类问题。
    在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
(拓:监督学习方法又可以分为生成方法和判断方法。
在这里插入图片描述
如逻辑回归、决策树、支持向量机等为典型的判断模型。)

  • 无监督学习:
    缺乏足够的先验知识,因此难以人工标注类别或进行人工类别标注的成本太高。很自然地,我们希望计算机能代我们完成这些工作,或至少提供一些帮助。根据类别未知(或没有被标记)的训练样本解决模式识别中的各种问题,称之为无监督学习。

    (无标签、聚类、簇、分离鸡尾酒会的声音、降维)

线性回归基本知识

假设函数和代价函数

在这里插入图片描述
在这里插入图片描述

梯度下降法(不仅用于线性回归)

在这里插入图片描述
根据一个设置的初始点,一步步选择下降最快的方向(指导数而不是学习率!)。(梯度上升法和梯度下降法其实是一样的,只是前者用于求函数的最大值)
在这里插入图片描述
注意涉及导数(一般是偏导)以及同步更新。
梯度下降法的推导
在这里插入图片描述
一般来说,随着梯度下降法的运行,梯度下降将自动采取较小的幅度(导数绝对值变小),所以不一定另外减小α。

偏导示例:
在这里插入图片描述
令上述偏导为0,可得到各自最优解的闭式解。

Batch 梯度下降:每一步用到训练集中所有的样本:
在这里插入图片描述
随机梯度上升/下降:
在这里插入图片描述
梯度下降法适用于较大的数据集(如与正规方程法对比)。

矩阵应用于预测的一个例子

在这里插入图片描述

线性回归深入

多功能(多元)

在这里插入图片描述

多元 梯度下降法
  • 特征缩放

    为了让梯度下降运行速度加快,可以用简单运算或统计学方法对不同特征处理,使不同类型特征值的范围相似。(如把特征的取值约束在-1到1范围内)。

    常用方法:均值归一化

  • 学习率:

    首先,不能忘记确保梯度下降算法正常运行。
    在这里插入图片描述
    在这里插入图片描述

  • 特征和多项式回归:

    有时候创建新的特征能更好地拟合。

    不局限于直线,选用多项式回归(将一个多项式拟合到数据上):
    在这里插入图片描述

正规方程(区别于迭代方法,一次性求得最优值)
  • 介绍:
    在这里插入图片描述
    设y为实际值一维向量,则正规方程法有
    在这里插入图片描述
    公式推导:
    机器学习(三)——正规方程法
    标准方程法(正规方程法)

    如果使用正规方程法,则不需要特征缩放。

    与梯度下降法的优缺点对比:
    在这里插入图片描述
    此外,梯度下降法适用范围更广(如也可解决分类问题)。

  • 正规方程矩阵不可逆的情况:

    注意,矩阵行列式为0、样本数小于等于特征数时, 矩阵都不可逆
    在这里插入图片描述

向量化

利用编程语言内置的矩阵、向量相关操作,把原来用循环或其他普通计算法的计算 转化为 向量、矩阵计算,能使算法更高效,同时便于同步更新。

线性回归改进

分类问题(逻辑回归)

分类问题下,线性回归往往不是好主意:
在这里插入图片描述
逻辑回归:目的是寻找一个非线性函数sigmoid的最佳拟合参数,求解过程可以有最优化算法来完成。
在这里插入图片描述

假设函数

最理想的单位跃阶函数不连续,使用对数几率函数。
在这里插入图片描述
在这里插入图片描述
概率,P(y=0)+P(y=1) = 1。
在这里插入图片描述
由此看出,这种 分类学习方法 使用线性回归模型的预测结果去逼近真实标记的对数几率。

函数相关理解:
逻辑分布函数的由来(文章中指数分布族公式的p不是概率,是概率密度函数)
指数族分布

决策边界

在这里插入图片描述
决策边界是假设函数的一个属性。

代价函数

首先,区分下损失函数(loss)和代价(cost)函数。

在这里插入图片描述

由于逻辑回归中假设函数的类型,线性回归的代价函数不适用于逻辑回归,我们希望得到一个凸型代价函数
在这里插入图片描述
在这里插入图片描述
注意对代价的理解!(例如在y=1的情况下,h(x)却为0)
在这里插入图片描述
可以将上述两种情况简并:
在这里插入图片描述
思考:逻辑回归的策略:代价函数为什么选择对数形式?(统计学中的极大似然法)
逻辑回归代价函数
似然函数

极大似然估计,通俗理解来说,就是利用已知的样本结果信息,反推最具有可能(最大概率)导致这些样本结果出现的模型参数值!

换句话说,极大似然估计提供了一种给定观察数据来评估模型参数的方法,即:“模型已定,参数未知”。

梯度下降法

在这里插入图片描述
伪代码:
在这里插入图片描述
逻辑回归代价函数及其梯度下降公式推导

认识:一些高级算法
在这里插入图片描述

多元分类

以“一对余”为例:
在这里插入图片描述
一般把预测多的类别作为最终分类结果。
在这里插入图片描述
在这里插入图片描述

类别不平衡问题

在分类任务中,数据集中来自不同类别的样本数目可能相差悬殊。
如何解决数据类别不平衡问题(Data with Imbalanced Class)

一种简单方法——再缩放:(y为分类算法输出值,m+为实际正例)
在这里插入图片描述
假设正反例阙值为0.5,若左式>1,则最终预测结果为正例。

(其他常用机器学习算法)

  • KNN(邻近算法,属于监督学习):
    在这里插入图片描述
  • 决策树:
    步骤:构造树(根节点、内部节点、叶节点)、剪枝(预剪枝、后剪枝)。
    在这里插入图片描述
    决策树 介绍
  • 支持向量机:
    在这里插入图片描述
    在这里插入图片描述
  • 神经网络(也是深度学习的基础|输入层+(隐藏层+)输出层):
    神经网络——易懂清晰的一篇讲解文章
  • 聚类:为无标签数据添加标签(属于无监督学习)
    有代表性的是k-means聚类算法,它会拟合出一个由 k 个簇中心点构成的模型,最优的簇中心点需要满足簇中的每个点到该中心的总距离最短。显然,在二维平面上用聚类算法显得非常幼稚,但随着数据量越来越大、维度越来越多,聚类算法对于探索数据集的信息会变得十分有效。
  • 降维:推断无标签数据的结构(属于无监督学习)
    在这里插入图片描述
    在这里插入图片描述

(标注问题)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(集成学习,模型融合)

集成学习是一种机器学习范式。在集成学习中,我们会训练多个模型(通常称为弱学习器)解决相同的问题,并将它们结合起来以获得更好的结果。最重要的假设是:当弱模型被正确组合时,我们可以得到更精确的模型。

在集成学习理论中,我们将弱学习器(或基础模型)称为模型,这些模型可用作设计更复杂模型的构件。

集成方法的思想是通过将这些弱学习器的偏置和/或方差结合起来,从而创建一个强学习器(或集成模型),从而获得更好的性能。

  • 组合弱学习器:
    为了建立一个集成学习方法,我们首先要选择待聚合的基础模型。在大多数情况下(如bagging 和 boosting 方法中),我们会使用单一的基础学习算法,这样一来我们就有了以不同方式训练的同质弱学习器。

    这样得到的集成模型被称为同质的。然而,也有一些方法使用不同种类的基础学习算法:将一些异质的弱学习器组合成异质集成模型。

    很重要的一点是:对弱学习器的选择应该和我们聚合这些模型的方式相一致。 如果选择具有低偏置高方差的基础模型,应该使用一种倾向于减小方差的聚合方法;而如果选择具有低方差高偏置的基础模型,则应该使用一种倾向于减小偏置的聚合方法。

    在这里插入图片描述
    如何理解bagging是减少variance,而boosting是减少bias?

bagging算法

又称装袋算法,是机器学习领域的一种团体(集成)学习算法。
在这里插入图片描述

Bagging是通过结合几个模型降低泛化误差的技术。主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。这是机器学习中常规策略的一个例子,被称为模型平均。采用这种策略的技术被称为集成方法。

Bagging算法可与其他分类、回归算法结合,提高其准确率、稳定性的同时,降低结果的方差,从而避免过拟合。

boosting算法

在这里插入图片描述
在这里插入图片描述

  • GBDT:
    Gradient Boosting Decision Tree(使之前模型的残差梯度减小)

AdaBoost 和 GBDT的对比
XGBoost、LightGBM和CatBoost

算法实现的其他问题

过拟合问题

在这里插入图片描述
此外,复杂多项式也可能导致过拟合。

解决方法(减少特征变量、正则化):
在这里插入图片描述

正则化
  • 思想
    在这里插入图片描述
    (函数也更平滑,避免过拟合)

    一个线性回归的例子:
    在这里插入图片描述
    lambda为正则化参数。正则化参数平衡两个目标,一是更好地拟合数据集,二是使参数尽量的小。(加号前部分负责更好拟合,后部分负责正则化减小参数。)

    若正则化参数过大,则除theta0之外的参数趋近与无,几乎忽略了有用的参数,极易欠拟合。

    正则化后的函数理解(图中是L2范数方法,该方法与下文梯度下降有关):机器学习中的正则化(Regularization);( 对于正则化的理解

线性回归的正则化
逻辑回归的正则化

在这里插入图片描述
在这里插入图片描述

归纳偏好

每一个有效的机器学习算法必有其归纳偏好,否则它难以产生确定的学习结果。
在这里插入图片描述

模型评估与选择

所谓评估,主要方式为计算误差。

模型选择方面,样本的划分选取很重要。

留出法:分为互斥的训练集和测试集。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
模型选择方法还有正则化、交叉验证法、自助法等。

有关泛化能力
在这里插入图片描述
在这里插入图片描述
其他注意事项:
在这里插入图片描述
(先分为测试数据和训练数据,训练数据再分为训练集和验证(也可说测试)集)

算法性能度量

首先声明:
在这里插入图片描述
分类问题中常用到的:

  • 错误率+ 精度 =1
  • 查准率与查全率:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

学习曲线

学习曲线就是通过画出不同训练集大小时训练集和交叉验证的准确率,可以看到模型在新数据上的表现,进而来判断模型是否方差偏高或偏差过高,以及增大训练集是否可以减小过拟合。

在这里插入图片描述

补充数学知识

  • RMSE(均方根误差):
    在这里插入图片描述

    区分:
    在这里插入图片描述在这里插入图片描述

  • 分布密度:
    在这里插入图片描述
    如:
    在这里插入图片描述

  • 一个事件的几率是指该事件发生的概率与不发生概率的比值。

猜你喜欢

转载自blog.csdn.net/u013598957/article/details/105990569