当前位置: 首页 > news >正文

有监督学习基础

基本概念

给定输入有为(x,y),其中x表示学习特征,y表示输出,m表示输入总数,有监督学习旨在根据输入建立能够预测可能输出的模型,大致可以分为回归和分类两种,代表可能输出是无限的或是有限可能。

模型

线性回归模型
通过数据集建立回归模型,表现形式为根据数据点建立曲线,如y~=wx+b,用于预测无限可能的数字。
分类模型
少量可能输出的预测,比如图片内容识别,音频字符识别等情况。

基本训练过程为
训练集—学习算法—预测方法

成本函数J

用于衡量建立曲线与数据点的差异大小,即曲线的拟合程度,通过平均误差成本函数实现—
m是为了避免误差随着数据集增大而增大,而除2是为了后续化简,使程序整洁。

构建模型的目的是使成本函数J尽可能小,为了简化,暂时不考虑b。

梯度下降

wb使成本函数最小的方法,也是逐步确定拟合曲线的方法,将参数初始化为0,每次尝试使J减小的方向,可视化如下:
成本函数梯度下降
本质是通过切线找到三维图像的最低点,从任意点开始找wb使成本函数最小的方法如式:


上述两个迭代公式需同步计算,上述步骤不断重复直到收敛,可以实现成本函数不断向局部最小值更新,其中a又称学习率,用于控制上下坡的步幅。

线性回归

用向量分别表示输入x和参数wf(x)=w·x+b,特征多数据大时,传统计算方法耗时很长,故考虑采取其他技术解决。

矢量化

w=np.array([])x=np.array([])生成向量,但计算时不使用循环乘法,二十直接调用f=np.dot(w,x)+b实现点积运算,该方法快于for循环,使用并行硬件,执行快。

梯度下降

w由原有计算式带入可得新w的计算公式
相应的,b的新计算式为
新b的计算公式
这里求导平方的2就和成本函数J分母加的2抵消,使式子简洁。
另外还有法方程法可用,但该方法并不通用,只在这种场景下可以无需迭代求解wb,但梯度下降是通用的方法。

特征缩放

单个特征对J的影响很大时,会导致曲线变化太大,梯度下降来回跳动,无法找到极值点,如下图
单个值太大
此时我们可以选择缩放特性,使整体的特征值大致在同一范围内,使用除法或平均归一化方法。

判断收敛

通过学习曲线检查梯度下降是否收敛,如下图
学习曲线
可以看出随着迭代次数的上升成本函数不断下降并趋于一个固定值,此时可以声明其收敛,但该方法的难度在于确定一个阈值。

选择学习率

太小则计算步骤增多,太大则可能跨过极值点,导致计算永远达不到最小值,需要尝试绘图找到合适的值,在接近最小值后由于偏导变化,步子会自动变小,同样需要尝试根据学习曲线图像选择。
学习曲线2
如果学习曲线上下摆动,则可能是学习率的选择过于大了。

选择特征

可以根据需要创建新特性,如果曲线不能线性拟合,也可以使用特征多项式提高特征次数,获得拟合曲线,在该部分特征缩放显得尤其重要。

logistic回归

用于分类,拟合一条横S曲线,用于二进制的分类,具体公式如下,其中z=w·x+b0<g(z)<1
逻辑回归曲线
图像大致如下:
逻辑回归曲线
该模型输出一个范围0-1的数字,代表分类为1的概率,多用于广告推荐算法,输出概率需设置阈值判定,常见的为0.5,该阈值称为决策边界,也就是z为0时的取值。

损失函数

单个点的损失L表示为:

L(z,y)= -log(z) 	y=1-log(1-z)	y=0

具体含义为,当y=1,预测为真则无损,预测为0则损失极大,y=0相同,预测为1损失极大,预测为0无损,区间的损失用对数函数覆盖。
上述损失可以简化为:
简化损失函数
y=1y=0时带入都可化简为初始式子。

总的损失函数J是所有点损失集合的平均数,表示为:
分类损失函数

梯度下降

w梯度下降

b梯度下降

二者同样需要同时计算,与线性回归的区别只在f(x)上,一个是f=w·x+b,另一个是指数形式1/1+e^(w·x+b)

其他

矢量化,特征缩放,判断收敛等,都与线性回归相同。

正则化

拟合与数据不匹配,称为偏差,拟合符合数据,但变化太多不能适应新数据,称为方差,或过拟合,如下三图分别表示偏差,合格拟合和方差。
拟合示例
解决过拟合的方法有:
1,收集更多数据,更大的训练集可以限制函数,拟合出摆动没那么大的图像
2,减少特征,数据不足但特征过多,易过拟合
3,减少参数大小,惩罚所有特征,可以使函数更平滑,表示公式如图:
正则化成本函数

其中lambda>0,使用正则化成本函数的思想为使w尽可能小。

正则化线性回归梯度下降

原有成本函数梯度下降为:
线性回归w正则化梯度下降
线性回归b正则化梯度下降

正则化logistic回归梯度下降

逻辑回归w正则化梯度下降
逻辑回归b正则化梯度下降

总结

本章学习了监督学习的两种算法,回归和分类,分别用于处理预测无限可能的数字,和有限输出的类型,本质都是通过对已有的数据建立拟合模型来实现,区别在于拟合曲线不同,拟合模型内部通过成本函数来衡量预测结果,每次模型调整又借助梯度下降实现,三者统一完成模型的建立与调整,最后,通过正则化来解决过拟合。

总结的总结,有监督学习的要点:标签、拟合曲线、成本函数、梯度下降、正则化,另外与无监督学习的区别就在于训练集有标签,在特定领域和指定情况效果佳。

另外,正则化之前的函数中分母m2m应该提到最前并改为1/m,修改工作量大偷个小懒。

http://www.lryc.cn/news/405817.html

相关文章:

  • 揭开 AI 绘画提示词的神秘密码!
  • macOS 10.15中屏蔽Microsoft Edge浏览器的更新提示
  • Qt 实战(3)数据类型 | 3.2、QVariant
  • Docker中安装的postgresql14在启用vector扩展的时候,找不到该扩展的控制文件。
  • JS防抖和节流
  • OpenWrt 为软件包和docker空间扩容
  • 重要的工作任务,怎么在电脑桌面设置倒计时?
  • Failed to build get_cli:get:的解决方案
  • 短视频矩阵源码技术分享
  • 轮播图自定义内容
  • 大数据-44 Redis 慢查询日志 监视器 慢查询测试学习
  • Istio_01_Istio初识
  • leetcode日记(47)螺旋矩阵Ⅱ
  • centos系统mysql主从复制(一主一从)
  • IEDA怎么把springboot项目 启动多个
  • Vue 3项目安装Element-Plus
  • Git下载安装
  • linux中的目录操作函数
  • JSON 文件第一段飘红
  • go使用gjson操作json数据
  • Mac 下华为鸿蒙 :DevEco Studio 开发工具下载
  • C进阶—动态内存管理
  • QT表格显示MYSQL数据库源码分析(七)
  • excel系列(三) - 利用 easyexcel 快速实现 excel 文件导入导出
  • 探索前后端数据传输模式:Java、Go与Python的实践20240719
  • 【YashanDB知识库】yac修改参数后关闭数据库hang住
  • 提升网站性能:ThinkPHP6中如何实现Mysql分页查询
  • Python:Flask自定义URL路由参数过滤器
  • 闭包与装饰器
  • DNS服务器的搭建