美文网首页
线性回归

线性回归

作者: 陈文瑜 | 来源:发表于2019-10-07 15:24 被阅读0次

提出背景

  • 房屋房价预测
面积 房间数 楼层数 价格
2104 5 1 460
1416 3 2 232
1534 3 2 315
  • 术语转换
    x_{ij} 其中i、j表示第i行输入的第j个特征 如:x_{23} = 2 是输入特征值
    j_i 表示第i行输出,是估计值 如:j_2 = 232

矩阵表示

  • 将上房屋特征 和房价 矩阵化

\left[\begin{array}{ccc} \theta_1x_{11} + \theta_2x_{12} + \dots + \theta_nx_{1n} \\ \theta_1x_{21} + \theta_2x_{22} + \dots + \theta_nx_{2n} \\ \vdots & \\ \theta_1x_{m1} + \theta_2x_{m2} + \dots + \theta_nx_{mn} \\ \end{array}\right] = \left[\begin{array}{ccc} y_1 \\ y_2 \\ \vdots \\ y_3 \\ \end{array}\right]

  • 将上式 转换为矩阵乘
    \left[\begin{array}{ccc} x_{11} & x_{12} & \dots & x_{1n} \\ x_{21} & x_{22} & \dots & x_{2n} \\ \vdots & \vdots & \ddots & \vdots \\ x_{m1} & x_{m2} & \dots & x_{mn} \\ \end{array}\right] \times \left[\begin{array}{ccc} \theta_1 \\ \theta_2 \\ \vdots \\ \theta_n \\ \end{array}\right] = \left[\begin{array}{ccc} y_1 \\ y_2 \\ \vdots \\ y_m \\ \end{array}\right]

为什么要这么转换呢,因为计算机很擅长于做矩阵运算

  • 给上式加一个截距 变成y = ax +b这种形式,b为截距

\left[\begin{array}{ccc} x_{10} & x_{11} & x_{12} & \dots & x_{1n} \\ x_{20} & x_{21} & x_{22} & \dots & x_{2n} \\ \vdots & \vdots & \vdots & \ddots & \vdots \\ x_{m0} & x_{m1} & x_{m2} & \dots & x_{mn} \\ \end{array}\right] \times \left[\begin{array}{ccc} \theta_0 \\ \theta_1 \\ \theta_2 \\ \vdots \\ \theta_n \\ \end{array}\right] = \left[\begin{array}{ccc} y_1 \\ y_2 \\ \vdots \\ y_m \\ \end{array}\right]

上式的截距为 x_{i0}\theta_0x_{i0}=1 截距为\theta_0

  • 我们将上式,表示形为 f(x) = X\theta^T

  • 我们的目标是 求出 \theta^T 让他更好的去拟合给出的数据

我们是使用损失函数来判断 拟合的好坏 ,注意 x_{ij} \quad j_i 都是给定的已知数

  • 损失函数 定义为
    J(\theta_0,\theta_1,\dots,\theta_n) = \frac 1{2m} \sum _{i=1}^m (h_\theta (x ^{(i)}) -y^{(i)})^2

这是一个 只与 \theta^T 有关的函数 ,我们的目标,是让这个损失函数最小。
一般情况,上标表示输入的行数,下标表示 列的特征值
其中:h_\theta(x^{(i)}) = x_{i0}\theta_0 + x_{i1}\theta_1 +x_{i2}\theta_2 + \dots +x_{in}\theta_n

梯度下降法

  • 思路 描述

函数上 任选一个起始点,在这点上 选择一个 下降速度最快的方向(梯度),移动一小步(学习率),求得新的函数值。与上一点函数值比较,如果小于上点函数值,重复原来的操作。继续下降,直至最小值。

  • 概念引出

梯度 和 学习率

  • 损失函数的偏导 (n+1)个
    \frac {\partial J}{\partial \theta_j} = \frac 1{m} \sum _{i=1}^m (h_\theta (x ^{(i)}) -y^{(i)})x_{ij}

\alpha 太小,收敛太慢,太大就容易扯到蛋,甚至收敛不了

多项式回归

  • 欠拟合

上面 是使用线性模型 训练数据的 非线性 函数,为了防止一次方程的欠拟合现象,我们可以增加模型的复杂度,创造一个多次方程进行拟合。

  • 举例
    \hat{y}(w,x) = w_0 + w_1x_1 +w_2x_2 转化为:
    \hat{y}(w,x) = w_0 +w_1x_1 +w_2x_2 +w_3x_1x_2 + w_4x_1^2 +w_5x_2^2

问题就转化成了 \hat{y}(w,z) = w_0 +w_1z_1 +w_2z_2 +w_3z_3 + w_4z_4 +w_5z_5
这种思路还可以解决异或问题 \hat{y} =x_1 \overline{x_2} + \overline{x_1} x_2 (挺不错)

  • 正则化

解决过拟合现象,将参数也加入到损失函数中,联合进行评估。

  • 领回归
    岭回归通过对系数施加惩罚来解决最小二乘法的缺点

arg min_w ||Xw - y||_2^2 + \alpha ||w||_2^2

相关文章

  • 机器学习实战——回归

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

  • 线性回归模型

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

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

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

  • 第一次打卡

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

  • 2020-02-14

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

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

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

  • 算法概述-02

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

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

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

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

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

  • Linear Regression

    在线性回归模型中,我们分为单元线性回归和多元线性回归(Multivariate Linear Regression...

网友评论

      本文标题:线性回归

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