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

【机器学习】线性回归 多项式线性回归

【机器学习系列】

  • KNN算法
    KNN算法原理简介及要点
    特征归一化的重要性及方式
  • 线性回归算法
    线性回归与一元线性回归
    线性回归模型的损失函数
    多元线性回归
    多项式线性回归

多项式线性回归

    • V1.0
    • 多项式回归
      • 多项式回归的公式
    • 特征代换
    • 超越函数作为特征向量维度

V1.0

多项式回归

多项式回归可以看作多元线性回归模型的特殊版本,经过处理后多项式线性回归可以退化为多元线性回归

多项式回归的公式

多项式回归的公式如下
y = w 0 + w 1 , 1 ∗ x 1 + w 1 , 2 ∗ x 1 2 + . . . + w 1 , d 1 ∗ x 1 d 1 + w 2 , 1 ∗ x 2 + . . . + w n , d n ∗ x n d n y=w_0+w_{1,1}*x_1+w_{1,2}*x_1^2+...+w_{1,d_1}*x_1^{d_1}+w_{2,1}*x_2+...+w_{n,d_n}*x_n^{d_n} y=w0+w1,1x1+w1,2x12+...+w1,d1x1d1+w2,1x2+...+wn,dnxndn
公式中有 n n n元( x 1 . . . x n x_1...x_n x1...xn),每一元最高幂为 d n d_n dn次方。
多项式模回归模型的求解,即是要求最优的模型参数,使得模型的总体损失,比如使用MSE损失函数,对于训练样本最小。

特征代换

怎样求解含幂的特征维度的的参数呢,例如求解 x 1 2 x_1^2 x12 x 1 3 x_1^3 x13的的参数呢。
这里无需多虑,我们的输入数据是多维特征向量(假设 N N N维)是离散的,即数据(特征向量)是一条一条输入(是指不牵扯到连续性)的
例如对于 x 1 2 x_1^2 x12,在处理特征向量时,只需要将其使用 x 1 x_1 x1求平方,代入模型公式,再当成普通的特征维度处理即可,将所有的高次幂都使用这种方法处理,即可得到特征代换后的多元线性回归模型的公式。对于该多元线性回归模型求解,就是对多项式回归模型的求解。
这里需要理解的的重点是对于单一的特征维度,因其各次幂可以求出,且各次幂可以带入到多项式回归公式中,作为普通的一个维度,模型中的高次幂都可以这样处理。
所有的特征向量都可以如此处理,那么整个多项式回归模型就退化为了多元线性回归模型,求解该多元线性回归模型就是求解该多项式回归模型。
使用特征代换之后,得到下式,该式即可当做普通的多元线性回归模型处理,求解该模型得到的参数即为对应的多项式模型的参数
y = w 0 + w 1 , 1 ∗ x 1 , 1 + w 1 , 2 ∗ x 1 , 2 + . . . + w 1 , d 1 ∗ x 1 , d 1 + w 2 , 1 ∗ x 2 , 1 + . . . + w n , d n ∗ x n , d n y=w_0+w_{1,1}*x_{1,1}+w_{1,2}*x_{1,2}+...+w_{1,d_1}*x_{1,d_1}+w_{2,1}*x_{2,1}+...+w_{n,d_n}*x_{n,d_n} y=w0+w1,1x1,1+w1,2x1,2+...+w1,d1x1,d1+w2,1x2,1+...+wn,dnxn,dn
其中
x 1 , 1 = x 1 x_{1,1}=x_1 x1,1=x1
x 1 , 2 = x 1 2 x_{1,2}=x_1^2 x1,2=x12
x 1 , d 1 = x 1 d 1 x_{1,d_1}=x_1^{d_1} x1,d1=x1d1
x 2 , 1 = x 2 x_{2,1}=x_2 x2,1=x2

x k , d = x k d x_{k,d}=x_k^{d} xk,d=xkd(通式)

x n , d n = x n d n x_{n,d_n}=x_n^{d_n} xn,dn=xndn

超越函数作为特征向量维度

对于超越函数,如果一个特征向量的某个维度是超越函数,其跟某另一个特征向量相关,那么也可以用特征代换的方法。
比如 sin ⁡ ( x 1 ) \sin(x_1) sin(x1) 是特征向量中的特征维度。那么如果特征向量中有有 x 1 x_1 x1的维度,则可以使用 x 1 x_1 x1来计算 sin ⁡ ( x 1 ) \sin(x_1) sin(x1)一的值,并将其作为普通的特征维度代入,并使用多元线性回归解法求解即可。


http://www.kler.cn/a/550918.html

相关文章:

  • 【MATLAB】解决mod函数、逻辑判断的误差问题
  • 小狐狸ai3.1.2版本源码无授权版本内 含搭建教程+各种上线教程
  • AMD R9-9950X服务器:游戏服务器搭建的终极利器
  • 解锁原型模式:Java 中的高效对象创建之道
  • Linux内存管理:深度解析与探索
  • 春招项目=图床+ k8s 控制台(唬人专用)
  • 如何使用Pytest参数化测试大规模生成单元测试用例
  • 在 Spring 怎么解决循环依赖的问题?
  • 前端模板引擎
  • 前端常见面试题-2025
  • ruby 的安装
  • 机器学习_19 集成学习知识点总结
  • less-8 boolen盲注,时间盲注 函数补全
  • 【Linux】Linux 文件系统——剖析文件权限概念,文件类型和inode号
  • VIM操作命令-全选复制删除
  • 【再读】2501.12948/DeepSeek-R1通过强化学习提升大型语言模型(LLMs)的推理能力
  • ceph部署-14版本(nautilus)-使用ceph-ansible部署实验记录
  • Linux中线程创建,线程退出,线程接合
  • 假面与演员:到底是接口在使用类,还是类在使用接口?编程接口与物理接口的区别又是什么?
  • Office-Tab-for-Mac Office 窗口标签化,Office 多文件标签化管理