起步

非线性回归是线性回归的延伸,线性就是每个变量的指数都是 1,而非线性就是至少有一个变量的指数不是 1。生活中,很多现象之间的关系往往不是线性关系。选择合适的曲线类型不是一件轻而易举的工作,主要依靠专业知识和经验。常用的曲线类型有 幂函数,指数函数,抛物线函数,对数函数和S型函数 。

化非线性回归为线性回归

通过变量代换,可以将很多的非线性回归转化为线性回归。比如目标函数假设是 y = b0 + b1x + b2x^2 。那么另 z1 = x, z2 = x^2 。目标函数就变为 y = b0 + b1z1 + b2z2。就可以用线性回归来解方程了而用上一篇文章《线性回归之多元线性回归》就能解决线性回归的问题。常见的转化模型有:

逻辑回归

逻辑回归是(Logistic Regression)是非线性回归中的一种,在分类问题上有的也能采用逻辑回归分类。这是一个二分器。比如根据肿瘤的大小来判断其良性或恶性,线性方程显然不能够胜任了:

逻辑回归模型中,先给定线性函数:

虽然这边是 θ 表示,但其实和线性回归中 b 是一个意思,都是作为自变量的系数。在二分类器中,经常需要一个分界线作为区分两类结果。再次需要一个函数进行曲线平滑化,由此引入 Sigmoid 函数进行转化:

这样,以0.5作为分界线。因此逻辑回归的最终目标函数就是:

回归就是用来得到样本属于某个分类的概率。因此在分类结果中,假设y值是0或1,那么正例(y=1):

反例(y=-1):

回想起之前线性中用到的损失函数:

我们的目标很明确,就是找到一组 θ ,使得我们的损失函数 J(θ) 最小。最常用的求解方法有两种:梯度下降法( gradient descent ), 牛顿迭代方法( Newton's method)。两种方法都是通过迭代求得的数值解,但是牛顿迭代方法的收敛速度更加快。牛顿迭代方法在此不介绍。

 注:如果在逻辑回归中运用这种损失函数,得到的函数J是一个非凸函数,存在多个局部最小值,很难进行求解,因此需要换一个 COST 函数。重新定义个cost函数如下:

梯度下降求解逻辑回归

这就好比是下山,下一步的方向选的是最陡的方向。梯度下降不一定能够找到全局的最优解,有可能是一个局部最优解。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。θ 的更新方程如下:

其中偏导数是:

如果将 θ 视为矩阵,可以进行批量更新:

8.线性回归之非线性回归相关推荐

  1. 一文看懂线性回归和非线性回归

    一文看懂线性回归和非线性回归 1. 非线性回归 2. 线性回归 3. 总结 1. 非线性回归 我们首先来看维基百科中对于非线性回归的定义: In statistics, nonlinear regre ...

  2. 第二章.线性回归以及非线性回归—LASSO算法

    第二章.线性回归以及非线性回归 2.13 LASSO算法 1.前期导入: 通过构造一个一阶惩罚函数获得一个精炼的模型:通过最终确定一些指标(变量)的系数为零,解释力很强 岭回归估计系数等于0的机会微乎 ...

  3. 回归分析详解:一文说清回归、线性回归、非线性回归、Logistic回归

    回归分析详解:一文说清回归.线性回归.非线性回归.Logistic回归 文章大纲 回归分析是什么? 回归.线性回归.非线性回归.Logistic回归的不同? 实际例子解释不同回归方法的应用场景 文章大 ...

  4. 第二章.线性回归以及非线性回归—一元线性回归,代价函数,相关系数,决定系数

    第二章.线性回归以及非线性回归 2.1 一元线性回归 1.概念: 1).自变量: 被用来进行预测的变量,相当于输入 2).因变量: 被预测的变量,相当于输出 3).回归分析: 用来建立方程模拟两个或者 ...

  5. 第二章.线性回归以及非线性回归—多项式回归

    第二章.线性回归以及非线性回归 2.7 多项式回归 1.举例: 1).特征数不同对应的曲线不同 2).假设我们不是找值(或者超平面),而是需要找到一个用多项式所表示的曲线(或者超平面),例如二次曲线: ...

  6. PyTorch基础-线性回归以及非线性回归-02

    线性回归 import torch import numpy as np import matplotlib.pyplot as plt %matplotlib inline from torch i ...

  7. 线性回归与非线性回归

    相关关系问题 在现实问题中,处于同一过程中的一些变量,往往是相互依赖和相互制约的,他们之间的相互关系大致可以分为两种: 1. 确定性关系--函数关系 2. 非确定性关系--相关关系 相关关系表现为这些 ...

  8. 机器学习(三)线性回归、广义线性回归、非线性回归

    机器学习(三)线性回归模型.广义线性回归模型.非线性回归模型 线性回归(数据集要满足正态分布) 一元线性回归模型: 在这里会想到,如何确定方程中的系数呢?我们先来了解最小二乘法,简单来说就是这个点作y ...

  9. 模型树——就是回归树的分段常数预测修改为线性回归 对于非线性回归有较好的预测效果...

    说完了树回归,再简单的提下模型树,因为树回归每个节点是一些特征和特征值,选取的原则是根据特征方差最小.如果把叶子节点换成分段线性函数,那么就变成了模型树,如(图六)所示: (图六) (图六)中明显是两 ...

  10. 机器学习:线性回归以及非线性回归

    回归分析Regression: 回归Regression: 回归一词最早由英国科学家弗朗西斯·高尔顿(Francis Galton)提出,他还是著名 的生物学家.进化论奠基人查尔斯·达尔文(Charl ...

最新文章

  1. Anaconda 环境下 R 包 ggraph_1.0.2 安装小记
  2. 小爱童鞋@你,一起来撸个小程序吧
  3. 庖丁解“学生信息管理系统”
  4. 利用jmap和MAT等工具查看JVM运行时堆内存
  5. IO概述(概念分类)
  6. Weblogic Session复制策略与方式
  7. 自定义Visual Studio 2010 快捷键
  8. SQL 中表值参数的使用
  9. linuxmove命令_linux中mv命令使用详解
  10. opencv 指定分辨率_使用opencv拉伸图像扩大分辨率示例
  11. 例3.4 二叉树遍历 - 九度教程第32题(二叉树)
  12. python评分卡3_woe与IV分箱实现
  13. 播放器地址抓取 php,PHP实现使用优酷土豆视频地址获取swf播放器分享地址
  14. Android 仿微信录制短视频(不使用 FFmpeg)
  15. python实验室怎么样_跟老齐学Python之一个免费的实验室
  16. 二元关系——离散数学part 1
  17. C# Base64转换
  18. 【沧海拾昧】用MATLAB画一张简单的图
  19. mysql数据库大作业学籍管理系统_数据库大作业学籍管理系统代码和报告
  20. 一份内核重载代码的学习笔记

热门文章

  1. C++ 基础练习 圆的面积
  2. python如何使用图片做背景_如何在python pptx中设置背景图像
  3. 如何用python画太阳花
  4. qq飞车显示服务器维护中,QQ飞车手游更新出现异常怎么办?更新异常原因及解决方法技巧...
  5. js-实现数组翻转(倒序)
  6. java 日程安排_Java实现 LeetCode 731 我的日程安排表 II(二叉树)
  7. android studio keymap eclipse,android studio eclipse keymap theme 快捷键 主题风格设置
  8. 聊聊运营商对UDP的QoS限制和应对
  9. iOS各种证书之间详解关于Certificate、Provisioning Profile、App ID的介绍及其之间的关系
  10. 北京专精特新企业申报攻略