美文网首页
线性回归

线性回归

作者: 煮饺子的茶壶 | 来源:发表于2018-09-25 19:30 被阅读0次

假设函数:

参数:θ

特征量:x

代价函数:

梯度下降算法:下图为梯度下降的目的,找到J(θ)的最小值。

例子

其实,J(θ)的真正图形是类似下面这样的,因为其是一个凸函数,只有一个全局最优解,所以不必担心像上图一样找到局部最优解。

凸函数 等高线图 θ参数公式

特征缩放:

特征缩放(Feature scaling),在这里我认为它是对用于梯度下降法的数据进行处理的方法。它的作用是,将多个特征的数据的取值范围处理在相近的范围内,从而使梯度下降更快地收敛。

(1) 该特征的值/该特征的最大值

x=x/s

(2) (该特征值-该特征最大取值的一半)/(该特征的最大值)

x=(x-μ)/s

μ:特征量平均值           s:特征量最大值减最小值

学习率:

除了特征的缩放会影响梯度下降的运算,学习速率也会直接影响。这里所说的“学习速率”,指的是梯度下降表达式中的α。

如何判断学习速率是否合适?最直接的方法是,画出训练后代价函数和迭代数的图像,根据图像去判断调整。除此之外,还可以使用自动检测法。即当代价函数在迭代中,小于一个很小的值时,我们就认为梯度下降收敛。但是,这个“很小的值”是很难确定的,一般可取1e-3。当然,还是优先选择第一种方法判断!下面就列举几种常见情况进行讲解。

数学原理证明,只要学习速率足够小,代价函数一定会减小,只是学习速率太小的话,迭代的次数会增加。在具体实现时,α的取值可以通过不断尝试,不断调整,最终确定。可尝试的值:0.001,0.003,0.01,0.03,0.1,0.3,1

单变量与多变量线性回归比较:

比较

正规方程法:


(m×(n+1)的矩阵) ((n+1)×1的矩阵) ((n+1)×1的矩阵)

由线性代数运算,可得:

正规方程

观察该方程,也许你会有疑问:如果X'X不可逆的时候,怎么办呢?

首先,我们要搞明白什么时候会使它不可逆。原因:

1.特征中,有冗余的特征向量,如:向量之间互为线性; 

2.训练数据太少,特征太多。

解决方法:针对第一个原因,我们可以删除冗余的特征;针对第二个,我们可以适当去掉一些不那么重要的特征,或者使用正规化方法。


Python代码:

# -*- coding: utf-8 -*-

"""

Created on Sun Jan 22 14:27:15 2017

@author: louishao

"""

import numpyas np

#train data

train_x = np.mat([[1,1],[1,2],[1,3],[1,4],[1,5],[1,6],[1,7],[1,8],[1,9],[1,10],[1,11],[1,12],[1,13],[1,14]])

train_y = np.mat([3.0,5.0,7.0,9.0,11.0,13.0,15.0,17.0,19.0,21.0,23.0,25.0,27.0,29.0])

# transpose the train_y

y = np.transpose(train_y)

#transpose the train_x

transposex = np.transpose(train_x)

#the inverse

invx = np.linalg.inv(transposex*train_x)

theta = invx*transposex*y

theta1 =float(theta[1][0])

theta0 =float(theta[0][0])

print "the predict function is y=%sx+%s"%(theta1,theta0)



梯度下降和正规方程的比较:

比较

杂合文章,切勿传播!!!

相关文章

  • 机器学习实战——回归

    本章内容】 线性回归 局部加权线性回归 岭回归和逐步线性回归 例子 【线性回归】 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/uinloftx.html