当前位置: 首页 > 编程日记 > 正文

机器学习中,梯度下降算法的问题引入

来源 | 动画讲编程

今天讲解的内容是梯度下降算法

梯度下降算法在机器学习中的应用十分广泛,该算法的最主要目的是通过迭代的方法找到目标函数的最小值,经常用来解决线性回归和逻辑回归等相关问题。本节课主要讲解梯度下降算法解决一元线性回归问题,包括四个部分,问题引入、数学理论、算法实现、上机实验

问题引入

来看一个生活中的例子。在买房的时候,房屋价格是人们最关心的问题,都希望买到性价比高的房子。有很多特征影响房屋的价格,例如面积、地理位置、交通、楼层、绿化程度等等。其中面积与房价最为相关。

数学理论

来看一组数据,数据包括8套房屋的面积和成交价格的对应关系。

例如,0号房子面积为50平米,成交价为280万。那么是否可以根据这组数据,找到房子面积和成交价格的对应关系,从而未来利用这个关系,根据面积,计算出价格呢?为了更明显的观察出面积和价格之间的关系,将这组数据标记在坐标系中,其中横坐标表示面积,纵坐标表示价格。

可以发现,这些离散的点之间存在着线性关系,我们可以使用一条直线来描述这种线性关系,使得这些点尽量均匀的分布在直线两侧。因为通过一条直线近似表示自变量与因变量的关系,所以被称为线性回归。而只有一个自变量,面积影响因变量价格,所以是一元线性回归。

我们使用平面上的直线来描绘一元线性回归的线性关系。直线方程hθ(x)=θ0 + θ1x,其中x代表面积,hθ(x)代表预测的房价,方程有两个参数,截距θ0和斜率θ1,当θ0和θ1 取不同的值时,可以得到不同的直线方程hθ(x)。后面就要找出最合适的θ0和θ1,使得直线hθ(x)最好的描绘出面积和价格的关系。

算法实现

尝试画出几组直线表示房屋面积和房价。例如,当θ0 = 0 ,θ1 = 4 时,得到图像1,很明显,斜率偏小,截距偏小。修改θ0 = 10,θ1 = 5,得到图像2,这条直线就基本符合面积和价格的关系了。

在此基础上,我们可以继续调整,挑选出一条最合适的直线。但是这时又出现一个问题,在调整过程中,直线变化不大,很难通过直观感受判断哪条直线最符合面积和房价之间的关系。

这时就需要使用均方误差来精确的选出最合适的直线,即最合适的θ0和θ1。

均方误差,MSE,mean square error,是反映真实值与预测值之间差异程度的一种度量。在样例数据中,真实房价与预测房价之间的差异程度,就可以使用均方误差来衡量。均方误差越小,说明用来预测的直线就越合适。

假如有m个样本,每个样本为平面中的一个点,第i个样本表示为xi,yi。例如,表中有8个样本,m=8,x代表面积,y代表价格,x0=50,y0=290,x1=60,y1=305。预测直线为hθ(x)=θ0+θ1x,那么hθ(x0),hθ(x1),hθ(xi)分别为第0个,第1个,第i个样本的预测值。这里如果我们选定了某个预测直线,那么θ0,θ1也就确定了,从而根据直线公式和房屋面积,也可以将样本的预测值计算出来。

均方误差的公式为,m分之sigema i= 1累加至m  h θ xi 减 yi 差的平方,其中m为样本的个数, h θ xi 为第i个样本的直线预测值,yi为第i个样本的真实值。那么均方误差公式即求m个样本的直线预测值与真实值差的平方和,再取平均。

上机实验

例如,假如预测直线的θ0 =10,θ1 = 5,即h(x) = 5x +10。那么8个样本,根据面积,可以计算预测价格为260,310,360,410,460,510,560,610。通过均方误差公式,得到均方差为268.75。不同的θ0和θ1会计算得到不同的均方差,均方差越小,θ0和θ1就越合适。

在此基础上,定义代价函数J(θ)为1/2倍的均方误差,由于样本的个数m,每个样本的横坐标x和纵坐标y都是已知的,所以代价函数J(θ)中的未知数为直线方程的截距θ0与斜率θ1。那么问题就转化为,求出一组θ0和θ1,使得代价函数J(θ)取得最小值。

例如,表格中有3个样本,x0,y0,x1,y1,x2,y2。预测直线为hθ(x)=θ0+θ1x,那么将J(θ)展开得到关于θ0与θ1的二元表达式。即求J(θ0,θ1)中使取得最小值θ0,θ1。

那么如何求出θ0和θ1呢?就可以使用本节课要讲的梯度下降算法了。至此,梯度下降算法的引入就讲完了,我们下节课再见。

更多精彩推荐
  • 微信群总有人发广告?用Python写一个自动化机器人消灭他

  • Cognitive Inference:认知推理下的常识知识库资源、常识推理测试评估与中文实践项目索引

  • 滴滴AI Labs负责人叶杰平离职!CTO 张博接任

  • 一年翻 3 倍,装机量 6 亿台的物联网操作系统又放大招!

  • 谷歌软件工程师薪资百万,大厂薪资有多高?

相关文章:

HTML4.0标准语法--文字布局

◇行的控制 段(Paragraph) (可以看作是空行) <p> 你好吗&#xff1f;<p>很好。 你好吗&#xff1f; 很好。 换行 <br> 你好吗&#xff1f;<br>很好。 你好吗&#xff1f;很好。 不换行<nobr> <nobr> 请改变您浏览器窗口的宽度&#x…

poj(2325)线段树

这里介绍另外一种解法&#xff0c;此题可以用线段树&#xff0c;可以用树状数组 其实这题求的都是下面的和左面的&#xff0c;线段树这种数组结构刚好可以满足&#xff0c;为什么呢&#xff1f;这里稍微解释下吧&#xff0c;也有助于以后的复习 看上面这个图&#xff0c;[1,1]&…

2017-1-7 html元素分类(1)

html元素分类结构性元素 section 在web页面应用中&#xff0c;该元素也可以用于区域的章节描述 header 页面主体的头部 footer 页面的底部 nav 专门用于菜单的导航、链接导航的元素 article 用于表示一篇文章的主体内用块级元素 aside 泳衣表达注记、贴士、侧栏、摘要的引用等作…

MyEclipse使用技巧小总结

1、 自动提示&#xff1a;窗口->首选项->Java->编辑器->内容辅助->自动激活&#xff0c;在下面的“Java的自动激活触发器里面填上“.abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789”。 2、 加快自动提示的时间&#xff1a;窗口->首选项…

开放源码,华为鸿蒙HarmonyOS 2.0来了

作者 | Just出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;去年8月&#xff0c;鸿蒙HarmonyOS一经发布&#xff0c;在开发者群体中引发强烈反响。有人赞赏华为的战略和技术&#xff0c;但也有不少人质疑那只是个PPT操作系统&#xff0c;凡此种种&#xff0c;热议不断…

纯CSS实现对白框

如果一个盒子的长宽都为零&#xff0c;那么它的四条border就会碰到一起&#xff0c;变成实心的&#xff0c;而且每一条border都是一个三角形&#xff1b;我们就可以利用三角形来实现对白框的尖下巴。 通过把border上左设置为有颜色&#xff0c;下右设置为透明&#xff0c;在#de…

HTML4.0标准语法--表格

表格的色彩 表元的背景色彩和背景图象<th bgcolor#> <th background"URL"> #rrggbb 16 进制 RGB 数码, 或者是下列预定义色彩名称&#xff1a;Black, Olive, Teal, Red, Blue, Maroon, Navy, Gray, Lime, Fuchsia, White, Green, Purple, Silver, Yello…

能力差的程序员90%输在这点上!CTO:其实都是瞎努力!

在大数据浪潮当中&#xff0c;数据分析是这个时代的不二“掘金技能”。我们每一个人&#xff0c;每天无时无刻都在生产数据&#xff0c;一分钟内&#xff0c;微博上新发的数据量超过10万&#xff0c;b站的视频播放量超过600万......这些庞大的数字&#xff0c;意味着什么&#…

zendframwork入口关键Zend_Application.php类

为什么80%的码农都做不了架构师&#xff1f;>>> 推荐阅读&#xff1a;http://www.cnblogs.com/rexy/archive/2010/05/13/1734406.html 里面有详细的类图关系&#xff0c;UML图。。。 转载于:https://my.oschina.net/wufa/blog/71634

2017伊始-随笔

微信小程序发布 今天&#xff0c;2017年1月9日&#xff0c;微信的小程序发布了。我打开了美团外卖小程序&#xff0c;然后把美团外卖app卸载了&#xff1b;我打开了摩拜单车小程序&#xff0c;然后把摩拜单车app卸载了。有人问&#xff0c;这种小程序与网页版的桌面图标有什么区…

广告条随滚动条的移动而移动

文章来源&#xff1a;蓝色理想<html><head><title>跟随滚动条的图片</title><meta http-equiv"Content-Type" content"text/html; charsetgb2312"><STYLE mediascreen typetext/css>#floater { POSITION: abs…

使用wget在linux服务器上下载oracle软件

今天需要在远程几台服务器上安装oracle软件&#xff0c;本地的网络不是很好&#xff0c;如果同本地下载&#xff0c;然后再上传到服务器上比较耗时。所以就想直接在服务器上直接下载软件&#xff0c;这样不光速度比较快&#xff0c;而且还节省了很多时间。 我是这样做的。 首先…

揭秘华为AI一站式开发平台,3步构建一个AI模型 | 华为昇腾师资培训沙龙西安场...

2018 年&#xff0c;在第三届 HUAWEI CONNECT&#xff08;华为全联接大会&#xff09;上&#xff0c;华为首次公布了 AI 战略与全栈全场景 AI 解决方案&#xff0c;其中包含全球首个覆盖全场景人工智能的华为昇腾&#xff08;Ascend&#xff09;系列处理器以及基于华为昇腾全栈…

PYTHON黑帽编程1.5 使用WIRESHARK练习网络协议分析

Python黑帽编程1.5 使用Wireshark练习网络协议分析 1.5.0.1 本系列教程说明 本系列教程&#xff0c;采用的大纲母本为《Understanding Network Hacks Attack and Defense with Python》一书&#xff0c;为了解决很多同学对英文书的恐惧&#xff0c;解决看书之后实战过程中遇…

20种看asp源码的方法及工具

作者&#xff1a;欧杨飘雪 http://blog.csdn.net/flyingsnowy/众所周知windows平台漏洞百出&#xff0c;补丁一个接一个&#xff0c;但总是补也补不净。我把我所知道的20种看asp源码的方法总结了一下&#xff0c;并且用c#写了个应用程序来扫描这些漏洞&#xff0c;发现虽然大…

关注度越来越高的行人重识别,有哪些热点?

来源 | HyperAI超神经责编 | Carol封图 | CSDN付费下载自视觉中国在茫茫人海中&#xff0c;你能不能一眼就找到想找的那个人&#xff1f;如今&#xff0c;这个任务对于计算机来说&#xff0c;可能是小菜一碟了。而这得益于近年行人重识别技术的飞速发展。行人重识别&#xff0…

《QTP自动化测试进阶》(1)

学习《QTP自动化测试进阶》第一章。 采用不同的项目开发模型对自动化测试有不同的影响。 &#xff08;1&#xff09;瀑布模型&#xff1a;瀑布模型在需求定义方面做得很好&#xff0c;这对自动化测试是有益的&#xff0c;包括可以尽早选择合适的自动化测试策略&#xff0c;让自…

JNDI概述(转载)

JNDI是 Java 命名与目录接口&#xff08;Java Naming and Directory Interface&#xff09;&#xff0c;在J2EE规范中是重要的规范之一&#xff0c;不少专家认为&#xff0c;没有透彻理解JNDI的意义和作用&#xff0c;就没有真正掌握J2EE特别是EJB的知识。那么&#xff0c;JNDI…

怎样用Python控制图片人物动起来?一文就能Get!

作者 | 李秋键责编 | 李雪敬头图 | CSDN 下载自视觉中国出品 | AI科技大本营&#xff08;ID&#xff1a;rgznai100&#xff09;引言&#xff1a;近段时间&#xff0c;一个让梦娜丽莎图像动起来的项目火遍了朋友圈。而今天我们就将实现让图片中的人物随着视频人物一起产生动作。…

Directx11教程(61) tessellation学习(3)

现在我们看看在不同tess factor的情况下&#xff0c;三角形是如何细分的&#xff1f;(这儿三条边和内部tess factor值是一样的&#xff0c;而且partitioning("integer")) 下面8张图是三角形在tess factor 1到8的情况下的细分细节&#xff1a; 因为TS阶段是硬件自己做…

HTML語法大全

作者&#xff1a;闪吧標籤 , 屬性名稱 , 簡介 <! - - ... - -> 註解 <!> 跑馬燈 <marquee>...</marquee>普通捲動 <marquee behaviorslide>...</marquee>滑動 <marquee behaviorscroll>...</marquee>預設捲動 <marquee beh…

php相关书籍视频

虽然如今web领域&#xff0c;PHP JSP .NET 并驾齐驱&#xff0c;但PHP用的最广&#xff0c;原因不用我多说。 首先发一个PHP手册&#xff0c;方便查询&#xff0c;这个肯定是学PHP必备的。 下载地址&#xff1a;http://u.115.com/file/aq3e5sv9PHP100的视频教程&#xff0c;这个…

你究竟了解多少HTML代码

作者&#xff1a;十二 文章来源&#xff1a; 蓝色理想今天想学习一下基础知识&#xff0c;就看了一下HTML(4.0)&#xff0c;发现自己对HTML掌握的太少了。很多代码都很陌生&#xff0c;根本就没见过&#xff0c;更别提用了。就拿<a></a>元素来举个例子。它的属性…

Delphi 调用webservice接口

一、使用向导 1.导入wsdl文件&#xff1a;file--new----other----webservice---WSDLimporter---输入wsdl地址 http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl 完成之后&#xff0c;即可导入wsdl文件。 注&#xff1a;结尾处的&#xff1f;wsdl不能少。 2…

都是程序员,凭什么他能站在鄙视链的顶端?

在写代码、改bug之中&#xff0c;有时候会陷入焦虑&#xff1a;明年我还要继续这样的生活吗&#xff1f;程序员群体中有一条无形的鄙视链&#xff0c;最直观的表现就是薪资差异。在最新的调查报告中&#xff0c;全国范围内&#xff0c;程序员年薪达到 50 万以上的&#xff0c;仅…

软件开发经验总结(一)细节决定软件的成败

最近在公司做开发的时候,需要开发一个自动备份的功能,于是我想到了SQL SERVER备份调度功能,于是打开SQL SERVER 备份调度界面,想照样画葫芦做一个,然后20分钟就把该功能做出来。30分钟过去了&#xff0c;我的界面依然还没有做完&#xff0c;原来打算很快做完的界面却总是离目标…

简明 HTML CSS 开发规范

作者&#xff1a;wjack 文章来源&#xff1a; 蓝色理想//总论本规范既是一个开发规范&#xff0c;也是一个脚本语言参考&#xff0c;本规范并不是一个一成不变的必须严格遵守的条文&#xff0c;特殊情况下要灵活运用&#xff0c;做一定的变通。但是&#xff0c;请大家千万不…

B 站神曲damedane:精髓在于换脸,五分钟就能学会

导读&#xff1a;AI 换脸技术层出不穷&#xff0c;但一代更比一代强。最近&#xff0c;一个发表在 NeurIPs 2019 的 AI 换脸模型 first order motion model 火了起来&#xff0c;其表情迁移效果胜过同领域其它方法。最近&#xff0c;这项技术在 B 站引起一波新潮流……来源 | H…

html select以数组的方式提交

2019独角兽企业重金招聘Python工程师标准>>> 1).select 以数组的方式提交 <form> <input type"hidden" name"app" value"wap_test"> <select name"attribute[颜色]"> &…

META的一些功用

作者&#xff1a;军军 文章来源&#xff1a;闪吧 META的一些功用 META标记用于描述不包含在标准HTML里的一些文档信息。基于这一基 础上又开发出一些其它的有用功能&#xff0c;下面我挑选几种功能和大家说一下&#xff1a; &#xff11;、如何让搜索引擎搜索到你的页面 …