李宏毅机器学习周报第二周
目录
- 摘要
- Abstract
- 一、通过案例学习回归(regression)
- 1.1 回归的概念
- 1.2 预测宝可梦的cp值案例
- 二、通过案例学习分类问题
- 1. 分类模型的概要
- 2. 预测宝可梦属性案例
- 3. 使用其他的概率分布
- 3.1 朴素贝叶斯分类法(Naive Bayes Classifier)
- 3.2 伯努利分布(Bernoulli distribution)
- 总结
摘要
本周,通过宝可梦的案例学习了回归问题和分类问题。在回归问题中,使用正则化来解决过拟合问题。并且用生成模型分析了分类问题。
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值这个属性,测试集中有十个数据。
- 随机定义一个model。该model中包含b,w等未知参数。不同的未知参数组成不同的function,这些function组成一个function set。
- 如何在function set中找到最优的function?可以定义一个损失函数(Loss),通过使均方误差达到最小化,即可找到最优的w和b。基于均方误差最小化来进行模型求解的方法称为“最小二乘法”。在线性回归中,最小二乘法就是试图找到一条直线,使所有样本到直线上的距离之和最小。
损失函数的图像如下图所示。该图像的x轴代表b的大小,y轴代表w的大小。如果点位于偏蓝的位置,则该损失函数的值越小,该function性能越好。反之点位于偏红的位置,该function性能越差。
- 通过梯度下降法找到更好的参数。若损失函数是可微分的,那么梯度下降法都可以找到相对较好的参数。
梯度下降法上周介绍过了,如下图所示。并且,该方法只能找出局部最小值(local minimum),但是在线性模型中,不会有这种困扰,因为线性模型没有局部最优(local optimal)的问题。
- 该案例的结果如下图所示。最好的b=-188.4,w=2.7。图像中的e代表样本点与线性模型之间的距离。该模型在训练集上的平均错误率为31.9。若想得到更低的错误率,可以考虑更换更为复杂的模型。
考虑二次式,如下图所示。
考虑三次式,如下图所示。
随着模型越来越复杂,该模型在训练集上的正确率也越来越高。这是因为次数高的模型对次数低的模型之间是包含关系。对于次数较高的模型,只需将高次的参数置为0,该高次的参数就退化为低次的参数。
虽然模型更加复杂在训练集上错误率会更低,但是在测试集上并非如此。如下图所示,当模型为三次的时候,测试集上的错误率是最低的。提升到四次时,测试集的错误率略有提升。提升到五次时,错误率飙升到232.1。这种现象称为“过拟合”。
- 当我们提高训练集的数量,会发现之前的实验因为训练集数量过少而忽略了其他影响宝可梦cp值的因素。此时,我们开始考虑宝可梦的种类对进化后的宝可梦cp值的影响。
可以使用 δ \delta δ函数来将下图改为线性模型。
如果种类与 δ \delta δ函数中的种类相同时,该函数的值为1,否则为0。这样就把该复杂的模型转化为一个线性模型。
考虑了宝可梦种类这一因素后,在训练集和测试集上的正确率都提高了很多,如下图所示。
- 再将其他的属性全部加入进来。
模型如下图所示,虽然在训练集上效果很好,但是在测试集上发生了“过拟合”。可以使用“正则化”来优化。
当参数过大时,函数会过于陡峭,容易造成过拟合。通过正则化,选择较小的参数,可以使函数更加“平滑”,更好的预防过拟合。
修改损失函数, w i w_{i} wi的值越接近0,损失函数的值越小。而 w i w_{i} wi越小,函数越平滑。
正则化后,过拟合问题得到解决,如下图所示。
二、通过案例学习分类问题
1. 分类模型的概要
机器学习中的分类模型有逻辑回归、朴素贝叶斯、决策树、支持向量机、随机森林、梯度提升树等分类算法,不仅可以进行二分类,还可以进行多分类。
而分类问题和回归问题一样,都是找到一个函数,只是这个函数的输出为某一类别。
2. 预测宝可梦属性案例
案例介绍:一只宝可梦通常会有一系列属性。例如:攻击力,速度等。将这些属性组成一个向量x来唯一标识这只宝可梦。即计算机通过分类算法找到一个合适的函数,将特征输入后的输出为该宝可梦的属性。
如下图所示,可以用下图的七个属性组成一个向量来唯一标识一只宝可梦。
- 将分类问题转化为回归问题来解答。
以二分类问题为例。使用回归来解答分类问题时,将值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来说是不适用的,两种方法目标不同。 - 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 ∑的维度由属性的数量决定。
- 对Generative model的优化
协方差矩阵 ∑ \sum ∑的规模和输入的feature size的平方成正比的,所以当宝可梦的属性过多时,对于不同的class,如果它们的协方差矩阵不同时,容易过拟合。所以给他们相同的协方差矩阵。
优化后的结果如下图所示。参数变少,boundary变成一条线,预测的精准度也有所提升。
3. 使用其他的概率分布
3.1 朴素贝叶斯分类法(Naive Bayes Classifier)
对于朴素贝叶斯分类法,特征向量的每一个dimension都是相互独立的,即他们之间的covariance都是0。所以可以把一个特征向量产生的概率拆解成所有dimension产生的 概率之积。其中,它的covariance matrix变成是对角矩阵。
3.2 伯努利分布(Bernoulli distribution)
对于二元分类问题,可以考虑采用伯努利分布。
后验概率分析
总结
本周的学习重点是回归问题和分类问题,以宝可梦为案例进行了学习。在回归问题中,我们学习了使用正则化来解决过拟合问题的技巧。此外,我们还深入分析了分类问题。通过在宝可梦案例中的实践,我们对解决实际预测和分类挑战有了更深入的理解。通过了解如何处理过拟合问题和使用生成模型,我们掌握了构建准确且稳健的机器学习模型的关键知识。下周将学习逻辑回归问题等。
李宏毅机器学习周报第二周相关推荐
- 【中英】【吴恩达课后测验】Course 3 -结构化机器学习项目 - 第二周测验
[中英][吴恩达课后测验]Course 3 -结构化机器学习项目 - 第二周测验 - 自动驾驶(案例研究) 上一篇:[课程3 - 第一周测验]※※※※※ [回到目录]※※※※※下一篇:[课程4 -第一 ...
- 李宏毅机器学习2016 第二十一讲 隐马尔可夫模型和条件随机场
视频链接:李宏毅机器学习(2016)_演讲•公开课_科技_bilibili_哔哩哔哩 课程资源:Hung-yi Lee 课程相关PPT已经打包命名好了:链接:https://pan.baidu.com ...
- 深度学习笔记第三门课 结构化机器学习项目 第二周 机器学习(ML)策略(2)...
本文是吴恩达老师的深度学习课程[1]笔记部分. 作者:黄海广[2] 主要编写人员:黄海广.林兴木(第四所有底稿,第五课第一二周,第三周前三节).祝彦森:(第三课所有底稿).贺志尧(第五课第三周底稿). ...
- 第一周:李宏毅机器学习周报
目录 摘要 一.机器学习基本概念 二.Training简版三步骤 1.Function with Unknown Parameters 编辑 2.Define Loss from Training ...
- 【吴恩达机器学习】第二周课程精简笔记——多元线性回归和计算参数分析
1. Multivariate Linear Regerssion(多元线性回归) (1)Multiple Feature We now introduce notation for equation ...
- 李宏毅机器学习—读书笔记
李宏毅机器学习笔记(LeeML-Notes) leeml-notes 机器学习 人工智慧(Artificial Intelligence)是我们想要达成的目标,希望机器可以跟人一样的聪明.机器学习(M ...
- 李宏毅2022ML第五周课程笔记
目录 李宏毅机器学习第五周-sequence to sequence 应用 Syntactic Parsing(语法分析) Multi-label Classification(多标签分类) Obje ...
- Coursera 机器学习 -- 逻辑回归 笔记 【第二周】
Logistic Regression Model(逻辑回归模型) Cost Function 如下所示,本章讲述了如何拟合cost参数θ: hypothesis函数在图中复习一下,在图中我们的假设函 ...
- 吴恩达机器学习第二周编程题参考答案
Andrew Ng机器学习第二周编程题参考答案 https://download.csdn.net/download/yhf2333/10718778 语言:Octave Tips: 1.记得使用si ...
最新文章
- 4、利用zookeeper来实现client端自动感知服务器端在线情况,并且可以进行负载均衡。...
- win10 IIS(互联网信息服务) 及 外网访问tomcat
- Kibana远程代码执行漏洞攻击方法和漏洞原理分析
- 【Python】数据可视化教程来了!
- COLINUX的安装与网络配置
- .NET自定义多文件(图片)上传的实现方式
- 王家林 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程...
- python sum函数numpy_解决Numpy中sum函数求和结果维度的问题
- 数据库系统中数据抽象的三级结构
- [iOS]如何把App打包成ipa文件,然后App上架流程[利用Application Loader]
- 【Android 四大组件之Content Provider】一文吃透 BroadcastReceiver 广播接收器
- 软件工程毕业设计题目推荐50例
- 互联网晚报 | 12月17日 星期五 | 抖音电商独立App“抖音盒子”正式上线;腾讯电子签上线商家版功能;年内首只游戏股上市...
- matlab模拟换热过程,第5章Hysys模拟换热过程.ppt
- SpringCound-Alibaba
- 【数论】扩展欧几里得算法(EXTENDED-EUCLID)
- 阿里云安全中心如何设置掌控云服务器安全
- 逆天改命,Java 反射的黑科技
- python需要cpu还是显卡问题_如果研究深度学习方向,是CPU更重要还是显卡更重要?...
- S3C6410 SD Card一键烧写 WINCE 6.0