机器学习门户网站——单变量线性回归

线性回归的概念。在高中的数学书出现了。

给你一些样本点,怎样找出一条直线,使得最逼近这些样本点。

给出一个样例:如果 x 是房子面积,y是房子价格。确定一条直线须要theta0和theta1.

给出x,我们就能够计算出房子的价格 h(x) = theta0+theta1*x

关键是怎样计算出theta0和theta1,也就是怎样找出这么一条直线呢?

在这里,引入一个概念,叫做cost function.m表示样本个数,也就是训练样本数目

这是一个square error。学过统计的应该常常见到

因此,我们的目的i就变成怎样最小化这个J。意味着这条直线最逼近我们的样本点

先简化一下问题,如果theta0 = 0,那么我们的目标就是最小化J(theta1)

如果眼下有3个样本点(1,1)(2,2) (3,3)

J(0) = 1/(2*3)*((1-0)^2+(2-0)^2+(3-0)^2)

当theta1取不同的值时,J(theta1)就形成了一个二次函数。当theta1 = 1是极小值也是最小值。

问题回到2元函数theta0,theta1

easy想像,这肯定是一个平面函数了

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWJjZDE5OTI3MTln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="450" height="333" >关键问题就是怎样找到这个最低点

以下再举个样例直观的感受下。不再使用3维图了,而是使用例如以下右图。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWJjZDE5OTI3MTln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="600" height="300" >

左图的直线明显和样本点一点都不逼近,所以在右图中的红叉就离中间比較远

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWJjZDE5OTI3MTln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="600" height="300" >

这里比上面略微好点,于是红点离中心更近了

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWJjZDE5OTI3MTln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="600" height="300" >

这是最优结果,落在了中间

还是那个问题。怎样寻找我们的theta0和theta1呢?我们能够用梯度下降的方法。如图:

随机初始化theta0和theta1,一直往梯度下降的方向走,J就会越来越小。

公式例如以下:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWJjZDE5OTI3MTln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="450" height="250" >

当中,alpha是我们的learning rate,不能太小。否则算法速度会非常慢,也不能太大,否则非常easy越过最小值导致不能收敛。

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWJjZDE5OTI3MTln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="450" height="250" >

我们在前面有:

于是

因此,我们的算法变成

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWJjZDE5OTI3MTln/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="450" height="233" >

当你发现两次循环之间的theta0和theta1的区别非常小非常小就converge了,你能够设置一个阀值比方10e-6。

配套练习http://download.csdn.net/detail/abcd1992719g/7306053

时间: 2024-08-14 18:40:25

机器学习门户网站——单变量线性回归的相关文章

Stanford机器学习课程笔记——单变量线性回归和梯度下降法

Stanford机器学习课程笔记--单变量线性回归和梯度下降法 1. 问题引入 单变量线性回归就是我们通常说的线性模型,而且其中只有一个自变量x,一个因变量y的那种最简单直接的模型.模型的数学表达式为y=ax+b那种,形式上比较简单.Stanford的机器学习课程引入这个问题也想让我们亲近一下machine learning这个领域吧~吴恩达大神通过一个房屋交易的问题背景,带领我们理解Linear regression with one variable.如下: 不要看这个问题简答,大神就是大神

Stanford机器学习Week 1—单变量线性回归

本篇讲述以下内容: 单变量线性回归 代价函数 梯度下降 单变量线性回归 回顾下上节,在回归问题中,我们给定输入变量,试图映射到连续预期结果函数上从而得到输出.单变量线性回归就是从一个输入值预测一个输出值.输入/输出的对应关系就是一个线性函数. 下面是一个根据房屋面积预测房屋价格的例子. 假设有一个数据集,我们称作训练集,数据集包括房屋面积和房屋价格数据. x:表示输入变量,也叫特征变量. y:表示输出变量,也叫目标变量. (xi,yi):表示一个识训练样本,训练集的一行.i 表示 第 i 个训练

机器学习入门之单变量线性回归(上)——梯度下降法

在统计学中,线性回归(英语:linear regression)是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析.这种函数是一个或多个称为回归系数的模型参数的线性组合.只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归(multivariate linear regression).——————维基百科 一直以来,这部分内容都是ML的敲门砖,吴恩达教授在他的课程中也以此为第一个例子,同时,本篇也参考了许多吴教授的内容. 在这里,我简单把

Andrew Ng机器学习第一章——单变量线性回归

监督学习算法工作流程 h代表假设函数,h是一个引导x得到y的函数 如何表示h函数是监督学习的关键问题 线性回归:h函数是一个线性函数 代价函数 在线性回归问题中,常常需要解决最小化问题.代价函数常用平方误差函数来表示 代价函数就是用于找到最优解的目的函数,这也是代价函数的作用 ps:尽可能简化问题去理解一些抽象概念,如单一的参数变化等等 可以利用代价函数去寻找你拟合效果最好的假设函数的参数 当参数很多时,利用图表来寻找最小代价函数就变得比较复杂,故引出梯度下降法. 梯度下降法最小化任意代价函数J

机器学习【第二篇】单变量线性回归

吴恩达机器学习笔记整理--单变量线性回归 通过模型分析,拟合什么类型的曲线. 一.基本概念 1.训练集 由训练样例(training example)组成的集合就是训练集(training set), 如下图所示,其中(x,y)是一个训练样本,训练集中每一行表示一个训练样本;(x^i,y^i)表示第i个训练样本. 2.假设函数h 使用某种学习算法对训练集的数据进行训练, 我们可以得到假设函数(Hypothesis Function), 如下图所示. 在房价的例子中,假设函数就是一个房价关于房子面

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

1. 模型表达(Model Representation) 我们的第一个学习算法是线性回归算法,让我们通过一个例子来开始.这个例子用来预测住房价格,我们使用一个数据集,该数据集包含俄勒冈州波特兰市的住房价格.在这里,我要根据不同房屋尺寸所售出的价格,画出我的数据集: 我们来看这个数据集,如果你有一个朋友正想出售自己的房子,如果你朋友的房子是1250平方尺大小,你要告诉他们这房子能卖多少钱. 那么,你可以做的一件事就是构建一个模型,也许是条直线.从这个数据模型上来看,也许你可以告诉你的朋友,他大概

机器学习入门——单变量线性回归

线性回归的概念,在高中数学书里就出现过. 给你一些样本点,如何找出一条直线,使得最逼近这些样本点. 给出一个例子:假设 x 是房子面积,y是房子价格,确定一条直线需要theta0和theta1. 给出x,我们就可以计算出房子的价格 h(x) = theta0+theta1*x 关键是如何计算出theta0和theta1,也就是如何找出这么一条直线呢? 在这里,引入一个概念,叫做cost function.m表示样本个数,也就是训练样本数目 这是一个square error,学过统计的应该经常见到

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

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

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

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