机器学习之线性回归

1. 线性回归

简述

在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合(自变量都是一次方)。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。

优点:结果易于理解,计算上不复杂。 
缺点:对非线性数据拟合不好。 
适用数据类型:数值型和标称型数据。 
算法类型:回归算法

线性回归的模型函数如下:

hθ=θTx

它的损失函数如下:

J(θ)=12m∑i=1m(hθ(x(i))?y(i))2

通过训练数据集寻找参数的最优解,即求解可以得到minJ(θ)的参数向量θ,其中这里的参数向量也可以分为参数和w和b,分别表示权重和偏置值。

求解最优解的方法有最小二乘法和梯度下降法。

梯度下降法

梯度下降算法的思想如下(这里以一元线性回归为例):

首先,我们有一个代价函数,假设是J(θ0,θ1),我们的目标是minθ0,θ1J(θ0,θ1)。 
接下来的做法是:

  • 首先是随机选择一个参数的组合(θ0,θ1),一般是设θ0=0,θ1=0;
  • 然后是不断改变(θ0,θ1),并计算代价函数,直到一个局部最小值。之所以是局部最小值,是因为我们并没有尝试完所有的参数组合,所以不能确定我们得到的局部最小值是否便是全局最小值,选择不同的初始参数组合,可能会找到不同的局部最小值。 
    下面给出梯度下降算法的公式:

repeat until convergence{

θj:=θj?α??θjJ(θ0,θ1)(forj=0andj=1)

}

也就是在梯度下降中,不断重复上述公式直到收敛,也就是找到局部最小值局部最小值。其中符号:=是赋值符号的意思。

而应用梯度下降法到线性回归,则公式如下:

θ0:=θ0?α1m∑i=1m(hθ(x(i))?y(i)) θ1:=θ1?α1m∑i=1m((hθ(x(i))?y(i))?x(i))

公式中的α称为学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈进的步子有多大。

α为步长,当步长过大时会略过最优点,当步长过小时分析的速度会变慢,为了能获得准确的最优解,步长可小不可大。

在梯度下降中,还涉及都一个参数更新的问题,即更新(θ0,θ1),一般我们的做法是同步更新。

最后,上述梯度下降算法公式实际上是一个叫批量梯度下降(batch gradient descent),即它在每次梯度下降中都是使用整个训练集的数据,所以公式中是带有∑mi=1。

时间: 2024-10-10 17:17:11

机器学习之线性回归的相关文章

机器学习 - 2 - 线性回归

机器学习 - 2 - 线性回归 首先吐槽我们的老师上课上得真是太烂了..真的烂.. PPT里也只会对没有意义的公式,而且还不解释是在干什么.. 回归 什么是回归 首先回归属于监督学习的一种,回归问题中,尝试预测连续的输出,与尝试预测离散的输出的分类问题恰恰相反. 举个例子: 预测房价 预测身高 ... 回归模型 素材: 特征 \(x\) 预测值 \(y\) 训练集 \((x_i,y_i)\) 学习算法 回归函数 \(f\) 线性回归时: \[f(X) = \omega_0 + \sum_{i =

机器学习——简单线性回归(原理推导+算法描述+代码实现)

实验环境:Python 3.6 编辑器:Jupyter Notebook 6.0.1 实验要求:可以调用numpy.pandas基础拓展程序包,不可以调用sklearn机器学 ——————————————————我是分割线喵———————————————————— ————————————(如果想要代码可以直接下拉到最后)———————————— 线性模型的一般形式:   向量形式: 线性模型的优点: 1.形式简单.易于建模 2.可解释性 3.是非线性模型的基础,可以在线性模型的基础上引入层级结

Andrew Ng机器学习入门——线性回归

本人从2017年起,开始涉猎机器学习.作为入门,首先学习的是斯坦福大学Andrew Ng(吴恩达)教授的Coursera课程 2 单变量线性回归 线性回归属于监督学习(Supervise Learning),就是Right answer is given. 课程中,举了一个估计房产价格的例子,在此,我就直接使用两组数据去作为例子使用线性回归,拟合出效果最好的曲线. 2.1 单变量线性回归算法的思路 根据数据的分布,确定模型其中,h(x)是假设函数(Hypothesis Fuction),θ1和θ

机器学习day13 机器学习实战线性回归

这两天学习了回归的相关知识,后面本来有个实战案例,但无奈不能上网站抓取信息不能实现,还有一个缩减的方法前向逐步回归没有看,lasso的简化版,只看了岭回归. 回归与分类的区别:回归的标签值为连续的数值,我们做的是预测未知点的标签数值,分类的标签值为类别,我们做的是预测其他样本的分类. 相关系数的计算: 有柯西不等式可以得到相关系数的绝对值|r| < 1.-1 < r < 1,r越趋近1或-1相关性越大,越能用直线表示,r > 0说明x,y同增,r < 0说明x,y同减. 直线

机器学习之线性回归---logistic回归---softmax回归

1 摘要 本报告是在学习斯坦福大学机器学习课程前四节加上配套的讲义后的总结与认识.前四节主要讲述了回归问题,回归属于有监督学习中的一种方法.该方法的核心思想是从连续型统计数据中得到数学模型,然后将该数学模型用于预测或者分类.该方法处理的数据可以是多维的. 讲义最初介绍了一个基本问题,然后引出了线性回归的解决方法,然后针对误差问题做了概率解释.之后介绍了logistic回归.最后上升到理论层次,提出了一般回归. 2 问题引入 这个例子来自http://www.cnblogs.com/LeftNot

从零单排入门机器学习:线性回归(linear regression)实践篇

线性回归(linear regression)实践篇 之前一段时间在coursera看了Andrew ng的机器学习的课程,感觉还不错,算是入门了. 这次打算以该课程的作业为主线,对机器学习基本知识做一下总结.小弟才学疏浅,如有错误.敬请指导. 问题原描写叙述: you will implement linear regression with one variable to predict prots for a food truck. Suppose you are the CEO of a

机器学习算法 --- 线性回归

一.线性回归算法的简介 线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,运用十分广泛.其表达形式为y = w'x+e,e为误差服从均值为0的正态分布. 回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析.如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析. 本文主要介绍线性回归算法的演绎推导,关于线性回归的详细介绍请参阅线性回归在百度百科中的介

JavaScript机器学习之线性回归

译者按: AI时代,不会机器学习的JavaScript开发者不是好的前端工程师. 原文: Machine Learning with JavaScript : Part 1 译者: Fundebug 为了保证可读性,本文采用意译而非直译.另外,本文版权归原作者所有,翻译仅用于学习. 使用JavaScript做机器学习?不是应该用Python吗?是不是我疯了才用JavaScript做如此繁重的计算?难道我不用Python和R是为了装逼?scikit-learn(Python机器学习库)不能使用Py

通过机器学习的线性回归算法预测股票走势(用Python实现)

在本人的新书里,将通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得.这里给出以线性回归算法预测股票的案例,以此讲述通过Python的sklearn库实现线性回归预测的技巧. 本文先讲以波士顿房价数据为例,讲述线性回归预测模型的搭建方式,随后将再这个基础上,讲述以线性预测模型预测股票的实现代码.本博文是从本人的新书里摘取的,新书预计今年年底前出版,敬请大家关注. 正文开始(长文预警) ------------------------------

机器学习——多变量线性回归

[一.多变量线性回归模型] 多变量线性回归是指输入为多维特征的情况,例如: 在上图中可看出房子的价格price由四个变量(size.number of bedrooms.number of floors .age of home)决定,为了能够预测给定条件(四个变量)下的房子的价格(y),我们需要建立相应的线性回归模型. 假设有n个变量,则相应的多变量线性回归模型如下: 注意上图中的x是指一个训练样本,即每个训练样本都是一个(n+1)维向量(包含附加的x0=1) [二.代价函数] 多变量线性回归