机器学习之单变量线性回归
https://www.toutiao.com/a6687424871514767880/
1 模型描述
让我们以预测住房价格的例子开始:首先要使用一个数据集,数据集包含不同房屋尺寸所售出的价格,根据数据集画出我的图表。比方说,如果你朋友的房子是 1250 平方尺大小,你要告诉他们这房子能卖多少钱。那么,你可以做的一件事就是构建一个模型,也许是条直线,从这个数据模型上来看,也许你可以告诉你的朋友,他能以大约220000(美元)左右的价格卖掉这个房子。这就是监督学习算法的一个例子。
总结来说,需要做的就是利用数据集中的数据,找出可以描述该数据集中输入和输出的关系的数学模型。在程序中我们要首先设定这么一个函数h(假设函数)。
我们将要用来描述这个回归问题的标记如下:
——代表训练集中实例的数量
——代表特征/输入变量
——代表目标变量/输出变量
(, ) —— 代表训练集中的实例
((), ()) ——代表第 个观察实例
h ——代表学习算法的解决方案或假设函数(hypothesis)
对于只有一个输入的问题,我们可以将h表达为:ℎ() = 0 + 1。只含有一个特征/输入变量的问题叫做单变量线性回归问题。
2 代价函数
由上节可知,问题的核心在于找到一种可以描述数据集中输入和输出的关系的数学模型,即求解假设函数ℎ() = 0 + 1。求解假设函数要做的就是为该函数选择合适的参数(parameters)0 和 1。我们选择的参数决定了我们得到的直线相对于我们的训练集的准确程度,模型所预测的值与训练集中实际值之间的差距(下图中蓝线所指)就是建模误差(modeling error)。
我们的目标便是选择出可以使得建模误差的平方和能够最小的模型参数。 即使得代价函数
最小。找到了最小的代价函数,就找到了最能准确表达输入和输出之间关系的数学模型。
代价函数
对于代价函数J,我们可以绘制出选择不同的参数0 和 1时,J的等高线图。从图中可以看出,在三维空间中存在一个使得(0, 1)最小的点。
但是,绘出图形然后人工的方法来读出这些点的数值,找到最小的J,显然是个很麻烦的办法。因此需要找到一种算法,可以自动找到能使代价函数J最小化的参数0和1的值。梯度下降算法就是一种较好的选择。
3 梯度下降
梯度下降的思想:
- start with some parameters:0, 1, . . . , ;
- keep changing parameters(0, 1, . . . , n)to reduce J(0, 1, . . . , n);
- get a local minimum(局部最小值)
批量梯度下降(batch gradient descent)算法的公式为:
其中是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。
值得注意的是:parameters:0, 1, . . . , 要同时更新。
4 梯度下降的直观理解
梯度下降的算法如下:
描述:对赋值,使得()按梯度下降最快方向进行,一直迭代下去,最终得到局部最小值。其中是学习率(learning rate),它决定了我们沿着能让代价函数下降程度最大的方向向下迈出的步子有多大。
通过上图对梯度下降的过程进行理解:①如果函数处于下降趋势,则代价函数J的偏导数为负数,减去一个负数等于加上一个正数,那么的值就会变大,随着的变大,代价函数J逐渐减小,达到了降低J的目的;
②如果函数处于上升趋势,则代价函数J的偏导数为正数,减去一个正数,那么的值就会变小,随着的变小,代价函数J逐渐减小,同样也达到了降低J的目的。
再来看看学习率:①若太小,那么数据的挪动非常细致,同样也非常慢,需要很多步才能到达最低点。②如果太大,那么梯度下降法可能会越过最低点,甚至可能无法收敛,甚至发散。
5 梯度下降的线性回归
将梯度下降应用在线性回归中,具体的程序实现为:
%单变量线性回归中的梯度下降for iter = 1:num_iterstheta = theta-alpha*(1/m)*X'*((theta'*X')'-y); %求解参数J_history(iter) = computeCost(X, y, theta); %计算代价函数J
end
机器学习之单变量线性回归相关推荐
- 机器学习之单变量线性回归(Linear Regression with One Variable)
机器学习之单变量线性回归(Linear Regression with One Variable) 1. 模型表达(Model Representation) 我们的第一个学习算法是线性回归算法,让我 ...
- 吴恩达机器学习2——单变量线性回归
吴恩达机器学习2--单变量线性回归 监督学习工作模式 训练集中同时给出了输入输出,即人为标注的"正确结果"喂给学习算法,得到一个函数h,h 可以根据输入的x得到一个y,因此h是x到 ...
- 入门机器学习(一)--单变量线性回归
写在前面 本系列依据吴恩达机器学习课程,对每一节课进行提炼和总结,并结合课后作业进行相应的讲解.由于原课程的课后作业是用MATLAB完成的,本系列为了方便,将用python实现课后作业. 1.模型描述 ...
- 吴恩达机器学习1——单变量线性回归、梯度下降
目录 吴恩达机器学习第一周 一.什么是机器学习? 二.机器学习的分类 1. 监督学习 2. 非监督学习 3. 监督学习和非监督学习的举例 三.单变量线性回归(**Linear Regression w ...
- 机器学习:单变量线性回归及梯度下降
***************************************** 注:本系列博客是博主学习Stanford大学 Andrew Ng 教授的<机器学习>课程笔记.博主深感学 ...
- 机器学习_吴恩达_week1(机器学习分类+单变量线性回归)
目录 一.绪论 1.1 欢迎 1.2 机器学习是什么? 1.3 监督学习 1.4 非监督学习 二.单变量线性回归 2.1 模型表示 2.2 代价函数 2.3 代价函数的直观理解I 2.4 代价函数的直 ...
- 吴恩达机器学习之单变量线性回归实现部分
C++实现 代码实现 "linear_regression.h" //单变量线性回归模型 struct elem_var1 {double x, y; //训练集元素数据:自变量. ...
- 吴恩达机器学习之单变量线性回归理论部分
理论部分 1.方程形式 在进行数据处理过程中,有时数据图像可拟合成单变量线性函数,即 2.如何拟合 此时,我们虽知道拟合函数的形式,但如何拟合仍是个问题,怎样拟合可以最接近实际数据情况呢? 最小二乘法 ...
- 机器学习实验——单变量线性回归(披萨价格预测问题)
实验内容 假设某披萨店的披萨价格和披萨直径之间有下列数据关系: 训练样本 直径(英寸) 价格(美元) 1 6 7 2 8 9 3 10 13 4 14 17.5 5 18 18 根据上面的训练数据,预 ...
最新文章
- TensorFlow用法
- AxonFramework,快照(Snapshotting)
- linux版视频转换软件,居家旅行必备的Linux视频转换工具
- Hibernate的四种典型例子(增删改查)
- APP重复点击,出现多次同样的响应
- centsos7修改主机名 [root@st152 ~]# cat /etc/hostname
- perl调用shell命令并获取输出
- OpenCv图像像素操作
- Studio 3T 使用教程 mogodb
- 会员管理系统html,会员管理系统网页版
- 网站搭建教程(怎么建网站详细步骤)
- 体育成绩统计——20180801模拟赛T3
- vml时序表_Vml:美洲豹系列教程之十一(数据图表)
- Plugin with id ‘com.android.application‘ not found.
- 在线负数分数计算机,负分数
- Python re模块 —— 从零基础开始入门正则表达式
- 面包板入门电子制作 学习笔记7
- tensorflow6-7
- 【CXY】JAVA基础 之 Map
- 将ACII码转为浮点数
热门文章
- QT代码格式化快捷键
- randomAccessFile
- log4j用法http://zengjinliang.javaeye.com/blog/171550
- oracle配置oracle Database Configuration Assistant失败是什么原因?
- ACL 2021 最佳论文:最优运输理论开启词表学习新纪元
- 生物界地震,AlphaFold破解50年重大挑战,AI+X将迎来新时代
- 网站设计支离破碎:究竟是谁之过
- 考研成绩查询系统(jsp、mysql、java)
- 用Java实现单向链表
- 清华数为DWF低代码平台亮相2021全球数字经济大会