线性回归Linear Regression

Hypothesis function

假设我们有一组房子面积和房价之间的关系的数据,并以面积作为横坐标,房价作为纵坐标把它画出来,有了这样的数据以后,假设给你一个房子的面积,要如何预测房子的价格呢?

        

一种很直观的方法是使用训练数据拟合出一条直线出来,在线性回归里我们称为Hypothesis function,这里只有一个特征值(即房价),所以Hypothesis function为$$h_{\theta} (x)=\theta_{0} x_{0} + \theta_{1} x_{1}$$其中$x_{0}=1$,

当有多个特征值的时候Hypothesis function为:$$h_{theta} (x) = \sum_{i=0}^n \theta_i x_i = \theta^T x$$

那么现在给定一组训练数据,我们要如何选择$\theta$?

Cost function

为了求解上述所说的选择$\theta$的问题,我们的做法就是使$h(x)$与$y$的值最相近,也就是说我们没组数据都会有一个预测值$h(x)$(通过Hypothesis function求解得到)以及真实值y,我们需要做的是使所有样本数据的预测值与真实值之间相差最小,因此定义如下代价函数:$$J(\theta) = \frac{1}{2} \sum_{i=1}^m (h_{\theta} (x^{(i)}) - y^{(i)})^2$$

这个代价函数实际上就是最小二乘法的回归模型。下面是一个特征值时候的描述:

代价函数画出来的形式如下:

Gradient 梯度下降法求解

我们想要选择$\theta$来使的$J(\theta)$最小,这里我们使用梯度下降法来求解。$J(\theta)$是以$\theta$作为变量的函数,所以实际上就是对$\theta$求偏导,那么梯度实际上是一个由每一个变量的偏导组成的向量,向量的大小表示函数变化的值,向量的方向表示函数值下降最快的方向。

梯度下降法方法描述如下:

  • 开始选取$\theta$的初始值$(\tehta_0, \theta_1, ..., \theta_n)^T$
  • 每次改变$theta$的值来减小$J(\theta)$,知道我们取得一个最小值

$\theta$每次更新的方法如下:$$\theta_j := \theta_j - \alpha \frac{\partial}{\partial\theta_j}J(\theta)$$

这里$\alpha$是学习率(Learning rate),为了实现这个算法,我们需要求$\frac{\partial}{\partial\theta_j}$:

所以更新的法则如下所示:

梯度下降的效果图形化效果:

最后画出来的直线:

使用matlab实现梯度下降法

训练样本形式如下:

则:

时间: 2024-10-10 16:43:47

线性回归Linear Regression的相关文章

Ng第二课:单变量线性回归(Linear Regression with One Variable)

二.单变量线性回归(Linear Regression with One Variable) 2.1  模型表示 2.2  代价函数 2.3  代价函数的直观理解 2.4  梯度下降 2.5  梯度下降的直观理解 2.6  梯度下降的线性回归 2.7  接下来的内容 2.1  模型表示 之前的房屋交易问题为例,假使我们回归问题的训练集(Training Set)如下表所示: 我们将要用来描述这个回归问题的标记如下: m                代表训练集中实例的数量 x          

机器学习方法(一):线性回归Linear regression

开一个机器学习方法科普系列,也做基础回顾之用.学而时习之. content: linear regression, Ridge, Lasso Logistic Regression, Softmax Kmeans, GMM, EM, Spectral Clustering Dimensionality Reduction: PCA.LDA.Laplacian Eigenmap. LLE. Isomap(修改前面的blog) SVM C3.C4.5 Apriori,FP PageRank minH

Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable

原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归.Octave Tutorial.Logistic Regression.Regularization.神经网络.机器学习系统设计.SVM(Support Vector Machines 支持向量机).聚类.降维.异常检测.大规模机器学习等章节.所有内容均来自Standford公开课machine

多元线性回归(Linear Regression with multiple variables)与最小二乘(least squat)

1.线性回归介绍 X指训练数据的feature,beta指待估计得参数. 详细见http://zh.wikipedia.org/wiki/%E4%B8%80%E8%88%AC%E7%BA%BF%E6%80%A7%E6%A8%A1%E5%9E%8B 使用最小二乘法拟合的普通线性回归是数据建模的基本方法. 令最小二乘项的偏导为0(为0时RSS项最小),求Beta估计值,得到最小二乘的向量形式. 最小二乘其实就是找出一组参数beta使得训练数据到拟合出的数据的欧式距离最小.如下图所示,使所有红点(训练

机器学习方法:回归(一):线性回归Linear regression

开一个机器学习方法科普系列:做基础回想之用.学而时习之:也拿出来与大家分享.数学水平有限,仅仅求易懂,学习与工作够用.周期会比較长.由于我还想写一些其它的,呵呵. content: linear regression, Ridge, Lasso Logistic Regression, Softmax Kmeans, GMM, EM, Spectral Clustering Dimensionality Reduction: PCA.LDA.Laplacian Eigenmap. LLE. Is

机器学习 Machine Learning(by Andrew Ng)----第二章 单变量线性回归(Linear Regression with One Variable)

第二章 单变量线性回归(Linear Regression with One Variable) <模型表示(Model Representation)>                                                             <代价函数(Cost Function)>                                                          <梯度下降(Gradient Descent)

Stanford公开课机器学习---2.单变量线性回归(Linear Regression with One Variable)

单变量线性回归(Linear Regression with One Variable) 2.1 模型表达(Model Representation) m 代表训练集中实例的数量 x 代表特征/输入变量 y 代表目标变量/输出变量 (x,y) 代表训练集中的实例 (x(i),y(i) ) 代表第 i 个观察实例 h 代表学习算法的解决方案或函数也称为假设(hypothesis) 单变量线性回归:只含有一个特征/输入变量 x hθ=θ0+θ1x 2.2 代价函数(Cost Function) 目标

机器学习 (一) 单变量线性回归 Linear Regression with One Variable

文章内容均来自斯坦福大学的Andrew Ng教授讲解的Machine Learning课程,本文是针对该课程的个人学习笔记,如有疏漏,请以原课程所讲述内容为准.感谢博主Rachel Zhang和 JerryLead 的个人笔记,为我做个人学习笔记提供了很好的参考和榜样. § 1.  单变量线性回归 Linear Regression with One Variable 1. 代价函数Cost Function 在单变量线性回归中,已知有一个训练集有一些关于x.y的数据(如×所示),当我们的预测值

机器学习笔记01:线性回归(Linear Regression)和梯度下降(Gradient Decent)

最近在Coursera上看吴大神的Machine Learning,感觉讲的真的很棒.所以觉得应该要好好做做笔记,一方面是加强自己对ML中一些方法的掌握程度和理解,另一方面也能方便自己或者同样爱好ML的同学. 线性回归(Linear Regression) 线性回归(Linear Regression)应该是机器学习中最基本的东西了.所谓回归,想必大家在高中时期的课程里面就接触过,给定一系列离散的点(x0,y0),求一条直线 f(x)=ax+b 以使得最小.在machine learning 中

Machine_learning_cs229线性回归 Linear regression(2)

这篇博客针对的AndrewNg在公开课中未讲到的,线性回归梯度下降的学习率进行讨论,并且结合例子讨论梯度下降初值的问题. 线性回归梯度下降中的学习率 上一篇博客中我们推导了线性回归,并且用梯度下降来求解线性回归中的参数.但是我们并没有考虑到学习率的问题. 我们还是沿用之前对于线性回归形象的理解:你站在山顶,环顾四周,寻找一个下山最快的方向走一小步,然后再次环顾四周寻找一个下山最快的方向走一小步,在多次迭代之后就会走到最低点.那么在这个理解中,学习率其实是什么呢?学习率就是你走的步子有多长. 所以