李宏毅机器学习周报第二周

摘要

本周,通过宝可梦的案例学习了回归问题和分类问题。在回归问题中,使用正则化来解决过拟合问题。并且用生成模型分析了分类问题。

Abstract

This week, we studied regression problems and classification problems through a case study using Pokémon. In regression problems, we addressed overfitting issues by utilizing regularization. Additionally, we analyzed classification problems using generative models.

一、通过案例学习回归(regression)

1.1 回归的概念

回归实际上就是“最佳拟合”。根据已有的数据拟合出一条最佳的直线、曲线、超平面或函数等,用于预测其它数据的目标值。如已知一系列的点(x,y),我们可能就可以拟合出一条最佳的直线y=kx+b。那么如果已知自变量x,要预测目标值y的话,就可以直接带入到该直线方程中求出y。回归的目的就是预测数值型的目标值。
在这里插入图片描述

1.2 预测宝可梦的cp值案例

案例介绍:寻找到一个合适的model,该model用于预测初级宝可梦进化后的cp值。一只初级宝可梦的属性有:初级宝可梦的cp值、种类、重量、高度等。首先,我们先观察初级宝可梦的cp值这个属性,测试集中有十个数据。
在这里插入图片描述

  1. 随机定义一个model。该model中包含b,w等未知参数。不同的未知参数组成不同的function,这些function组成一个function set。
    在这里插入图片描述
  2. 如何在function set中找到最优的function?可以定义一个损失函数(Loss),通过使均方误差达到最小化,即可找到最优的w和b。基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的距离之和最小。
    在这里插入图片描述
    损失函数的图像如下图所示。该图像的x轴代表b的大小,y轴代表w的大小。如果点位于偏蓝的位置,则该损失函数的值越小,该function性能越好。反之点位于偏红的位置,该function性能越差。
    在这里插入图片描述
  3. 通过梯度下降法找到更好的参数。若损失函数是可微分的,那么梯度下降法都可以找到相对较好的参数。
    在这里插入图片描述
    梯度下降法上周介绍过了,如下图所示。并且,该方法只能找出局部最小值(local minimum),但是在线性模型中,不会有这种困扰,因为线性模型没有局部最优(local optimal)的问题。
    在这里插入图片描述
  4. 该案例的结果如下图所示。最好的b=-188.4,w=2.7。图像中的e代表样本点与线性模型之间的距离。该模型在训练集上的平均错误率为31.9。若想得到更低的错误率,可以考虑更换更为复杂的模型。
    在这里插入图片描述
    考虑二次式,如下图所示。
    在这里插入图片描述
    考虑三次式,如下图所示。
    在这里插入图片描述
    随着模型越来越复杂,该模型在训练集上的正确率也越来越高。这是因为次数高的模型对次数低的模型之间是包含关系。对于次数较高的模型,只需将高次的参数置为0,该高次的参数就退化为低次的参数。
    在这里插入图片描述
    虽然模型更加复杂在训练集上错误率会更低,但是在测试集上并非如此。如下图所示,当模型为三次的时候,测试集上的错误率是最低的。提升到四次时,测试集的错误率略有提升。提升到五次时,错误率飙升到232.1。这种现象称为“过拟合”。
    在这里插入图片描述
  5. 当我们提高训练集的数量,会发现之前的实验因为训练集数量过少而忽略了其他影响宝可梦cp值的因素。此时,我们开始考虑宝可梦的种类对进化后的宝可梦cp值的影响。
    在这里插入图片描述
    可以使用 δ \delta δ函数来将下图改为线性模型。
    在这里插入图片描述
    如果种类与 δ \delta δ函数中的种类相同时,该函数的值为1,否则为0。这样就把该复杂的模型转化为一个线性模型。
    在这里插入图片描述
    考虑了宝可梦种类这一因素后,在训练集和测试集上的正确率都提高了很多,如下图所示。
    在这里插入图片描述
  6. 再将其他的属性全部加入进来。
    在这里插入图片描述
    模型如下图所示,虽然在训练集上效果很好,但是在测试集上发生了“过拟合”。可以使用“正则化”来优化。
    在这里插入图片描述
    当参数过大时,函数会过于陡峭,容易造成过拟合。通过正则化,选择较小的参数,可以使函数更加“平滑”,更好的预防过拟合。
    在这里插入图片描述
    修改损失函数, w i w_{i} wi的值越接近0,损失函数的值越小。而 w i w_{i} wi越小,函数越平滑。
    在这里插入图片描述
    正则化后,过拟合问题得到解决,如下图所示。
    在这里插入图片描述

二、通过案例学习分类问题

1. 分类模型的概要

机器学习中的分类模型有逻辑回归、朴素贝叶斯、决策树、支持向量机、随机森林、梯度提升树等分类算法,不仅可以进行二分类,还可以进行多分类。
而分类问题和回归问题一样,都是找到一个函数,只是这个函数的输出为某一类别。
在这里插入图片描述

2. 预测宝可梦属性案例

案例介绍:一只宝可梦通常会有一系列属性。例如:攻击力,速度等。将这些属性组成一个向量x来唯一标识这只宝可梦。即计算机通过分类算法找到一个合适的函数,将特征输入后的输出为该宝可梦的属性。
在这里插入图片描述
如下图所示,可以用下图的七个属性组成一个向量来唯一标识一只宝可梦。
在这里插入图片描述

  1. 将分类问题转化为回归问题来解答。
    以二分类问题为例。使用回归来解答分类问题时,将值1视为class 1,将值-1视为class 2。如果得到的值更接近1,则将其分到class 1中。反之,其类别为class 2。
    在这里插入图片描述
    这种分类方法是有问题的。如下图所示,model是y = b + w1x1 + w2x2,input是两个feature:x1 和 x2 ;有两个class,蓝色class 1,红色class 2。如果是Regression,那么就希望蓝色class 1的宝可梦,input后的output越接近1越好;红色class 2的宝可梦,input后的output越接近-1越好。所以,可以使用图中的绿色线b + w1x1 + w2x2=0来区分类别。在绿线左上类别为class 2,右下为class 1。但是如果有远大于1的点,对于回归模型,它需要减少该点到模型的距离,就会将绿线顺时针旋转,来减少这些点所带来的error。
    在这里插入图片描述
    所以,Regression定义model好坏的定义方式对classification来说是不适用的,两种方法目标不同。
  2. Generative model(生成模型)
    理想的方法如下图所示。
    在这里插入图片描述
    在这里插入图片描述
    将上图的两个盒子类比为分类问题的两个类,从1号盒子中取出一个球类比为取出一个数据,来判断其为class 1的概率为多少。其概率计算公式如下图所示。所以需要在训练集中分别估算P(c1),P(c2),P(x|c1),P(x|c2)的值。
    在这里插入图片描述
    在宝可梦案例中,prior probability(先验概率)P(c1)和P(c2)的计算过程如下。
    在这里插入图片描述
    而对于P(x|c1),P(x|c2),假设该训练集的样本点呈高斯分布,通过这些样本点来确定一个高斯分布,能使样本点尽可能位于高斯分布之中。
    在这里插入图片描述
    高斯分布由期望 μ \mu μ和协方差矩阵 ∑ \sum 决定。 μ \mu μ决定高斯分布的最高点位置, ∑ \sum 决定高斯分布的范围。
    在这里插入图片描述
    利用极大似然函数来计算最优的期望 μ \mu μ和协方差矩阵 ∑ \sum 。极大似然函数如下图所示。
    在这里插入图片描述
    通过分别 μ \mu μ ∑ \sum 微分取极值,可以得到最优的 μ \mu μ ∑ \sum ,如下图示。
    在这里插入图片描述
    接着将值代入贝叶斯公式,算出分类值。其中 μ \mu μ ∑ \sum 的维度由属性的数量决定。
    在这里插入图片描述
  3. 对Generative model的优化
    协方差矩阵 ∑ \sum 的规模和输入的feature size的平方成正比的,所以当宝可梦的属性过多时,对于不同的class,如果它们的协方差矩阵不同时,容易过拟合。所以给他们相同的协方差矩阵。在这里插入图片描述
    在这里插入图片描述
    优化后的结果如下图所示。参数变少,boundary变成一条线,预测的精准度也有所提升。
    在这里插入图片描述

3. 使用其他的概率分布

3.1 朴素贝叶斯分类法(Naive Bayes Classifier)

对于朴素贝叶斯分类法,特征向量的每一个dimension都是相互独立的,即他们之间的covariance都是0。所以可以把一个特征向量产生的概率拆解成所有dimension产生的 概率之积。其中,它的covariance matrix变成是对角矩阵。
在这里插入图片描述

3.2 伯努利分布(Bernoulli distribution)

对于二元分类问题,可以考虑采用伯努利分布。
在这里插入图片描述
后验概率分析
在这里插入图片描述

总结

本周的学习重点是回归问题和分类问题,以宝可梦为案例进行了学习。在回归问题中,我们学习了使用正则化来解决过拟合问题的技巧。此外,我们还深入分析了分类问题。通过在宝可梦案例中的实践,我们对解决实际预测和分类挑战有了更深入的理解。通过了解如何处理过拟合问题和使用生成模型,我们掌握了构建准确且稳健的机器学习模型的关键知识。下周将学习逻辑回归问题等。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值