美文网首页
线性回归-line_regression

线性回归-line_regression

作者: wildsre | 来源:发表于2017-03-28 15:20 被阅读0次

1 什么是线性回归

线性回归属于监督学习的一种(测试样本自带标签),通过对样本的学习,得到拟合函数,根据拟合函数可以对后来的样本进行预测,即输入样本的标签未知,通过拟合函数求出它的标签。

2 怎么得到拟合函数(Hypothesis Function)

  • 选择拟合函数
    在进行训练之前需要先根据样本的分布特征,选择合适的拟合函数模型,再训练样本得到拟合函数。一些拟合函数:

    hypothesis1
    hypothesis1
    hypothesis1
    多项式回归(Polynomial Regression),本质就是多元回归,原样本只有一个特征 x,采用 x2 相当于人为创建了一个新的特征。因此拟合函数可以统一写成:
    multi_feature
    其中的每一个 x 都是样本的一个特征。用向量的形式来表示:
    vectorlize
  • 确定 θ
    原理是一个很自然的想法,使拟合总偏差最小。
    为此先确定一组 θ,将每个训练样本带入拟合函数计算出它们对应的标签,这个计算标签可能与它们自身带的标签不同,计算二者的偏差,将所有偏差相加,就得到了拟合总偏差。通过梯度下降法调整 θ,再进行拟合,当找到一组 θ,使得拟合总偏差最小,就将这组 θ 作为确定的 θ。用函数描述如下:(上标表示样本,下标表示样本的特征,这里是使用向量的形式表示了,因此没有下标)

    cost_function.png
    这个函数称为代价函数(cost function),确定 θ 的过程就是 minimize J(θ) 的过程。

2.1 梯度下降法(Gradiant Descent)

对 θ 求偏导,选择一条下降最快的线路,α 为学习速率


theta j

对求和函数求偏导的过程


partial derivative
每次梯度下降都得到一组 θ,当 θ 的变化很小的时候,算法收敛
  • 规范化数据(normlization feature)
    在使用梯度下降法的时候如果特征的取值范围过大,将导致收敛缓慢,因此需要使用规范化函数对每个数据点进行处理,使数据处于一个较小的范围内:
    norm_function1
    avg 为特征 j 的平均值,std 为标准差,还可以选择其他的 norm function 来规范化数据
  • 学习数据 α 的选择
    如果 α 过小,则算法收敛很慢,如果 α 过大,将会出现震荡,导致不收敛。在选择 α 的时候先使用 0.001, 0.01, 0.1进行试验,先确定一个范围,然后再慢慢扩大

2.2 标准方程(Normal Equation)

  • 对于一元方程,y(t) = a*t + b*t^2 + c通过对 t 求导: dy(t)/dt=0 可以得到使 y(t) 取得最小值的时候的 t。对于多元函数,通过求每个变量的偏导,解方差组可求。因此 minimize J(θ) 可以通过方程的方式来实现: θ = (XTX)-1XTy
    其中 X 为样本特征构成的矩阵(同一特征在一列上),y 为样本标签组成的列向量
  • 使用通用方程不需要设定学习速率和对数据规范化
  • 注意:(XTX)-1可能会出现不可逆的情况:
    1. X中存在冗余向量 xi=kxj( i 不等于 j)
    2. 输入样本过少,而每个样本的特征太多

2.3 梯度下降法和通用方程的比较

梯度下降法,需要进行特征的规范化,需要设置学习速率,算法更复杂,但是时间复杂度低,适用于样本较大的情况
标准方程法,精确,简便,但是矩阵求的时间复杂度为 O(n3),很高,因此只适用于小规模样本 1000 以下

相关文章

  • 线性回归-line_regression

    1 什么是线性回归 线性回归属于监督学习的一种(测试样本自带标签),通过对样本的学习,得到拟合函数,根据拟合函数可...

  • 机器学习实战——回归

    本章内容】 线性回归 局部加权线性回归 岭回归和逐步线性回归 例子 【线性回归】 wHat = (X.T*X).I...

  • 线性回归模型

    参考:1.使用Python进行线性回归2.python机器学习:多元线性回归3.线性回归概念 线性回归模型是线性模...

  • 通俗得说线性回归算法(二)线性回归实战

    前情提要:通俗得说线性回归算法(一)线性回归初步介绍 一.sklearn线性回归详解 1.1 线性回归参数 介绍完...

  • 第一次打卡

    线性回归主要内容包括: 线性回归的基本要素线性回归模型从零开始的实现线性回归模型使用pytorch的简洁实现线性回...

  • 2020-02-14

    线性回归:线性回归分为一元线性回归和多元线性回归,一元线性回归用一条直线描述数据之间的关系,多元回归是用一条曲线描...

  • 逻辑回归和线性回归对比

    简单说几点 线性回归和逻辑回归都是广义线性回归模型的特例。他们俩是兄弟关系,都是广义线性回归的亲儿子 线性回归只能...

  • 算法概述-02

    1.逻辑回归和线性回归的联系和区别: 逻辑回归和线性回归的都是广义的线性回归。 线性回归是根据最小二乘法来建模,逻...

  • 【机器学习实践】有监督学习:线性分类、回归模型

    线性模型 为线性模型 分类和回归的区别 分类:离散回归:连续本文主要关注线性回归模型 常用线性回归模型类型 OLS...

  • 统计学习基础复习浓缩版

    1.简单线性回归 2.多元线性回归 3.多项式回归 4.广义线性回归(含逻辑斯谛回归) 广义线性回归模型通过拟合响...

网友评论

      本文标题:线性回归-line_regression

      本文链接:https://www.haomeiwen.com/subject/cwmjottx.html