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

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

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

多项式回归

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

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

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

$f(X) = b + \sum\limits^{m} w_i^{(1)}X_i + \sum\limits^{m} w_{i,j}^{(2)}X_iX_j + \sum\limits^{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次)。其中的$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维后面再加维度)但是这并不会减少模型优化的复杂度,它只是看起来好像从高次模型转化为了线性模型来进行回归,因为需要优化的参数依然是不变的

Regression 回归——多项式回归的更多相关文章

  1. NNs(Neural Networks,神经网络)和Polynomial Regression(多项式回归)等价性之思考,以及深度模型可解释性原理研究与案例

    1. Main Point 0x1:行文框架 第二章:我们会分别介绍NNs神经网络和PR多项式回归各自的定义和应用场景. 第三章:讨论NNs和PR在数学公式上的等价性,NNs和PR是两个等价的理论方法 ...

  2. 学习笔记TF024:TensorFlow实现Softmax Regression(回归)识别手写数字

    TensorFlow实现Softmax Regression(回归)识别手写数字.MNIST(Mixed National Institute of Standards and Technology ...

  3. 【机器学习】Softmax 和Logistic Regression回归Sigmod

    二分类问题Sigmod 在 logistic 回归中,我们的训练集由  个已标记的样本构成: ,其中输入特征.(我们对符号的约定如下:特征向量  的维度为 ,其中  对应截距项 .) 由于 logis ...

  4. pytorch 4 regression 回归

    import torch import torch.nn.functional as F import matplotlib.pyplot as plt # torch.manual_seed(1) ...

  5. Tensorflow实战第十一课(RNN Regression 回归例子 )

    本节我们会使用RNN来进行回归训练(Regression),会继续使用自己创建的sin曲线预测一条cos曲线. 首先我们需要先确定RNN的各种参数: import tensorflow as tf i ...

  6. [机器学习]回归--Decision Tree Regression

    CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值:当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很好的解决分类问题. ...

  7. 浅谈回归(二)——Regression 之历史错误翻译

    我很好奇这个问题,于是搜了一下.我发现 Regression 这个词 本意里有"衰退"的意思. 词根词缀: re- 回 , 向后 + -gress- 步 , 级 + -ion 名词 ...

  8. Andrew Ng Machine Learning 专题【Linear Regression】

    此文是斯坦福大学,机器学习界 superstar - Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记. 力求简洁,仅代表本人观点,不足之处希望大家探 ...

  9. 【Udacity】线性回归方程 Regression

    Concept in English Coding Portion 评估回归的性能指标--R平方指标 比较分类和回归 Continuous supervised learning 连续变量监督学习 R ...

随机推荐

  1. WinForm开发(4)——使用Visual-Studio-2010-打包安装程序

    打包程序: 1,解决方案—右键菜单“添加”—新建项目—其他项目类型—安装和部署—Visual Studio Installer—安装项目,输入名称Setup1,点“确定” 2,添加开始程序中的文件夹: ...

  2. WLC-Right to Use Licensing

    1.RTU的介绍 RTU licensing是没有和UDI(unique device identifier)或SN绑定的一种模型.在你接受了最终用户许可协议(EULA)后,使用RTU license ...

  3. Js 类继承 extends

    html 及 js 代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  4. pip源、搭建虚拟环境、git

    一.pip源 1.1 介绍 1.采用国内源,加速下载模块的速度2.常用pip源:-- 豆瓣:https://pypi.douban.com/simple-- 阿里:https://mirrors.al ...

  5. Update(stage3):第1节 redis组件:8、主从复制架构;9、Sentinel架构

    8.redis的主从复制架构 在Redis中,用户可以通过执行SLAVEOF命令或者设置slaveof选项,让一个服务器去复制(replicate)另一个服务器,我们称呼被复制的服务器为主服务器(ma ...

  6. PhpStorm For Mac 安装使用及 Php 开发的 ‘Hello World’

    PHP全称为:Hypertext Preprocessor,中文名为:『超文本预处理 器』是一种通用开源脚本语言,主要用于Web应用开发(俗称做网站或 者做后台!) 编译软件:PHPStorm for ...

  7. 基于通用二进制方式安装MySQL-5.7.24(比源码安装MySQL快许多)及破密码

    确保系统中有依赖的libaio软件 yum -y install libaio 使用wget命令下载mysql-5.7.24软件包 wget http://mirrors.sohu.com/mysql ...

  8. python字典操作方法详解

    前言 字典是一种通过名字或者关键字引用的得数据结构,key 类型需要时被哈希,其键可以是数字.字符串.元组,这种结构类型也称之为映射.字典类型是Python中唯一內建的映射类型. 注意,浮点数比较很不 ...

  9. dense向量和稀疏向量sparse

    import org.apache.spark.mllib.linalg.Vectors object Test { def main(args: Array[String]) { val vd = ...

  10. Linux中制作静态库

    静态库生成: 1.第一步:生成.o文件 2.第二步:将所有.o文件打包 ar src  libMyTest.a  *.o 生成出libMyTest.a 3.使用: 第一种:gcc  main.c    ...