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

  比如对于函数$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. Java面向对象编程 -3.3

    综合实战 简单Java类 在以后进行项目开发与设计的过程之中,简单Java类都将作为一个重要的组成部分存在,慢慢接触到正规的项目设计后, 简单Java类无处不再,并且有可能产生一系列的变化. 所谓的简 ...

  2. VUE项目开发中使用WebSocket

    初始化WebSocket initWebSocket(){ //初始化weosocket const wsuri = 'ws://10.100.45.8:8888/websocket';//ws地址 ...

  3. HttpClient和HtmlUnit的比较总结以及使用技巧

    本文转自: https://blog.csdn.net/zstu_cc/article/details/39250903 https://blog.csdn.net/zstu_cc/article/d ...

  4. 牛客网Sql

    牛客网Sql: 1.查询最晚入职的员工信息  select * from employees where hire_date =(select max(hire_date) from employee ...

  5. ADO.Net实体数据模型添加DB-First/Code First报错

    Authentication method 'caching_sha2_password' not supported by any of the available plugins. 解决办法: 1 ...

  6. Qt5.5 使用smtp发邮件的各种坑

    本人刚开始学习C++,用的是Qt5.5的IED,经过了两天的学习和查找资料,终于成功发了第一封邮件.以163邮箱为例,简单总结一下. 1.设置邮箱 这一步比较关键,要开通smtp服务,在开通的过程中会 ...

  7. springmvc启动加载指定方法

    官网: https://docs.oracle.com/javaee/7/api/javax/annotation/PostConstruct.htmlblog:https://blog.csdn.n ...

  8. mybatis 查询标签

    语法 参考:http://www.mybatis.org/mybatis-3/zh/dynamic-sql.html <![CDATA[内容]]>: 参考: http://blog.csd ...

  9. Spring Boot + MyBatis + PostgreSql

    Maven构建项目 1.访问http://start.spring.io/ 2.选择构建工具Maven Project.Spring Boot版本1.3.6以及一些工程基本信息,点击“Switch t ...

  10. Graphviz 使用笔记

    官网:Graphviz 最近一直在找如何用写代码的方式就可以实现数据结构可视化.流程图等等,于是发现了她,上手也比较简单,但正当我仅觉得不错的时候,我发现竟然还可以用python来写,瞬间好感度爆满啊 ...