zoukankan      html  css  js  c++  java
  • Regression 回归——多项式回归

      回归是指拟合函数的模型、图像等。与分类不同,回归一般是在函数可微的情况下进行的。因为分类它就那么几类,如果把类别看做函数值的话,分类的函数值是离散的,而回归的函数值通常是连续且可微的。所以回归可以通过梯度下降法来进行。

      比如对于函数$y =b + wx$,$x$是输入变量,$w$和$b$是参数。可以使用训练集输入一组$x$和$y$来进行对$w$和$b$的训练。

      下面举多项式回归为例,也就是选择多项式为模型的假设空间,训练多项式的系数

    多项式回归

      由泰勒公式我们可以知道,多项式可以拟合任何函数。不论是一维的还是多维的,所以如果使用多项式来进行回归,我们可以提升它的次数来更精细地拟合。多维泰勒公式(因变量$X$是m维向量,在$X = P$处展开):

    $f(X) = f(P) + sumlimits_{i=1}^m (X_i - P_i)f'_{i}(X) + frac{1}{2!} sumlimits_{i,j=1}^{m} (X_i - P_i)(X_j - P_j)f''_{ij}(X) + O(X^2)$

      将各次都提取到一块儿,得到如下:

    $f(X) = b + sumlimits^{m} w_i^{(1)}X_i + sumlimits^{m} w_{i,j}^{(2)}X_iX_j + sumlimits^{m} w_{i,j,k}^{(3)}X_iX_jX_k + ...$

      因此对于$y = b + w_1x + w_2x^2 + w_3x^3 +...$其中的$x$是多维向量,$x^2$就是$x$所有元素相乘后的矩阵,就是二次,相应的$x^3$是$x^2$系数矩阵中所有元素与$x$所有元素相乘后的立方阵,就是三次,然后一直推广到$x^n$(n次,也就是nD张量)。其中的$w_n$则是$x^n$对应规模的阵子,$w_nx^n$就是它们对应元素相乘后之和。

      如果再加上正则项(用于防止参数w过大),则对于使用多项式的回归来说,需要人工设置的超参数就是:

      1、函数的次数(函数的次数和函数的输入变量的维数,决定了整个函数需要优化的参数的数量)。

      2、正则项的参数$lambda$等。

      如果需要回归的函数的多项展开式是无穷级的,如三角函数,那么如果只使用多项式来回归的话是永远也不可能完全拟合的。所以一般还会加上别的函数来拟合。比如在深度学习中,由于有各个神经元之间的连接有阈值,就能理论上拟合任意的函数。

      另外,上面的高次幂可以通过增加维度来降幂计算,比如将$w_{i,j}^{(2)}X_iX_j$转化为新的输入维度$w_{i,j}^{(2)}X_{m + k}$(因为转化之前$X$是m维的,转化后在m维后面再加维度)但是这并不会减少模型优化的复杂度,它只是看起来好像从高次模型转化为了线性模型来进行回归,因为需要优化的参数依然是不变的

  • 相关阅读:
    解决 Android SDK Manager不能下载旧版本的sdk的问题
    [置顶] 如何合并文件中的内容?
    JSTL解析——005——core标签库04
    C中的几组指针
    别动我的奶酪:CSV文件数据丢零现象及对策
    重载(overload),覆盖/重写(override),隐藏(hide)
    IOS 轻量级数据持久化 DataLite
    记录路径dp-4713-Permutation
    android 多媒体数据库详解
    Data Recovery Advisor(数据恢复顾问)
  • 原文地址:https://www.cnblogs.com/qizhou/p/12171318.html
Copyright © 2011-2022 走看看