zoukankan      html  css  js  c++  java
  • 机器学习----回归算法

    回归算法,是一种应用比较广泛的机器算法。智能算法中,回归算法往往与其他算法结合使用。在锂电池SOC估计中,开路电压估计SOC的方法,就是一种典型的回归算法应用形式。详细过程在本文最后一部分说明。

    1 什么是回归算法

    简单的理解回归,就是找到模型函数中未知系数的方法。我们常常会遇到这样的情形,一个系统的输入变量与输出变量之间,关系比较复杂,不存在现成的理论公式描述这种关系。而我们知道,输入与输出之间一定存在着某种稳定的确定关系,并且我们需要这个函数的具体形式,来指导后续的实验或者生产。于是回归算法就应运而生。

    回归算法使用的典型过程是这样的:

    首先,准备好我们想要了解的典型系统。

    第二,给系统一系列典型输入,并测量相应的输出,获得n组由输入、输出数据构成的空间点数据。

    第三,根据系统的特点,选择系统模型的典型函数形式,参数待定;

    第四,将第二步获得的数据,带入第三步函数式中,解出系统模型的每个参数。这样,我们就获得了一个描述系统输入与输出关系的经验公式。

    第五,选取另外一组实验数据,代入经验公式,验证公式的准确性。如果精度在要求范围内,则确定公式可用。

    第六,在后续工作过程中,可以利用公式,估计不同输入获得的输出范围。

    2 回归算法分类

    线性回归

    线性回归,自变量和因变量的幂次方都不超过1,则将方程称为线性回归方程。回归方程往往不能直接求解,而需要找到函数最小误差公式,求解函数误差最小时,函数参数的取值。求解最小值的方法有梯度法,最小二乘法等。

    局部加权线性回归

    线性回归形式比较简单,易于求解,可以描述函数的整体趋势。但对于函数的局部波动无能为力。于是,人们在线性回归的基础上改进,得到局部加权方法。局部加权方法,允许估计中出现稍大的误差,进而减小系统均方误差,函数图形演变成了折线形。

    逻辑回归

    当函数值只有0和1两种取值时,我们需要用到逻辑回归。逻辑回归主要应用于数据分类。

    多项式回归

    多项式回归,顾名思义,就是自变量指数超过1的回归模型,是最具普遍意义的一种拟合形式,很多工程问题都可以应用这种回归算法。

    相比于线性回归,多项式回归会耗费更多计算资源,指数越大计算量越大。当我们选择多项式模型时,需要关注,拟合曲线的首尾指数较高的函数,评判在实际应用中是否有对应的意义。

    逐步回归

    当系统中存在多个自变量时,需要用到逐步回归。计算可以从最显著的变量开始,逐步加入次显著的变量,叫前进法;先加入全部变量,再逐步剔除一些影响不显著的变量,叫做后退法。

    其他回归算法

    除了上面的回归模型,常见的还有岭回归、LASSO回归、ElasticNet回归等,都是前述回归算法的改进和组合。

    3 过拟合和欠拟合

    选择的回归方法是否合适,主要是观察拟合结果,实验数据点与函数曲线的贴合程度越高,说明拟合效果越好。在网上看到两张图,看一眼就明白什么是欠拟合、过拟合、恰当的拟合,盗图一用。

    观察下面三幅图。欠拟合,由于选取函数模型的幂次不够,拟合曲线除了体现划分边界的大体趋势,并不能对数据做出准确的划分;过拟合,函数曲线精准分割数据点,但因为一两个数据点,却极大提高了函数复杂度,计算量显著增加;恰当的拟合,如第三幅图所示。

    个人理解,过拟合和恰当的拟合之间,可能并没有非常明晰的界限。随着计算机算力的不断提高,过拟合的起点肯定会相应提高。过拟合与适当的拟合之间,实际上是准确性与计算代价之间的平衡,无关乎对错。

    欠拟合
    过拟合
    恰当的拟合

    4 回归算法的特点

    1)回归算法与众多机器算法的鲜明区别在于,它可以解决多自变量对一个因变量的问题,也可以处理多个自变量对多个因变量的问题。

    2)经过转化以后,回归算法与支持向量机实际上具有等价性质。孙德山在他的论文《支持向量机分类与回归算法的关系研究》中阐述了这个观点并加以证明。回归算法的方程,能够直接求解的情形微乎其微,基本上都需要把参数求解转化成求函数最小误差问题。而支持向量机的求解,同样是转化为超平面到每个数据点的距离总和最大的优化问题,进而求解超平面方程的相关参数。

    5 回归算法在SOC估计中的应用实例

    作者曾洁在其论文《基于多项式回归算法的锂电池SOC估测》中详细介绍了利用回归算法,获得锂电池开路电压与荷电状态对应关系函数的过程。

    1)将充满电的电池组与大电阻串联,形成放电回路。采用电池多功能参数测量仪( 可以测得电池电压、充放电电流、温度、容量、内阻)监测放电过程中电池电压和放电量;

    2)放电电池组可用容量的5%,暂停,静置30分钟后,测量电池组开路电压;以此类推,直到电池荷电量为16.8%截止。(实验描述,中间调整了一次放电步长)。实验结束,获得每个测试点电池荷电量与开路电压的对应数据。

    3) 选取3次多项式方程作为回归方程,计算方程各项系数,获得3次曲线方程。

    4)选取另外一组相同型号、规格的锂电池,重新获得一组SOC-OCV数据,将开路电压数据带入方程,计算模型估计SOC值。将SOC估计值与实测值对比,最大误差5.79%。

    以上即为回归算法在常用的锂电池SOC估计中的具体使用过程。

    参考

    1 曾洁,基于多项式回归算法的锂电池SOC估测

    2 孙德山,支持向量机分类与回归算法的关系研究

    3 杨滨,自适应迭代最小二乘支持向量机回归算法

    4 华德宏,一种改进的一元线性回归算法

    5 李雪,一种改进的偏最小二乘回归方法研究

    6 雷歌阳,锂离子电池组的SOC估计

    7 成鹏9,常见的七种回归技术

    8 机器学习之回归算法

    9 对线性回归、逻辑回归、各种回归的概念学习

  • 相关阅读:
    整合Django的信息显示框架messages framework
    django使用session来保存用户登录状态
    为窗体添加防机器人的验证机制
    模拟窗口类ModelForm的应用
    django基础窗口类的使用
    django实现利用mailgun进行收发邮件
    django中使用mysql数据库
    ubuntu安装dockers和images:dvwa
    JVM-对象
    JVM-运行时数据区
  • 原文地址:https://www.cnblogs.com/ldt-/p/10158597.html
Copyright © 2011-2022 走看看