机器学习(二) ——线性回归、代价函数与梯度下降基础

机器学习(二)

——线性回归、代价函数与梯度下降基础

(原创内容,转载请注明来源,谢谢)

一、线性回归

线性回归是监督学习中的重要算法,其主要目的在于用一个函数表示一组数据,其中横轴是变量(假定一个结果只由一个变量影响),纵轴是结果。

线性回归得到的方程,称为假设函数(Hypothesis Function)。当假设函数是线性函数时,其公式为:

二、代价函数

代价函数是用于评价线性回归,其公式为:

计算方式是计算每一个点在当前假设函数情况下,偏差的平方和,再取平均数。m即表示一共取了几个点进行判断。

因此可知,假设函数预计的越准确的,其代价函数的结果越接近于0。对于不同的假设函数,其J的结果可以形成一个轮廓图,如下:

上图中,横坐标θ0表示与y轴的交点,纵坐标θ1表示斜率。同一个圆环,表示取值在这些范围内的假设函数,其代价函数的结果是一样的,即这些取值情况下的精度是一样的。

三、梯度下降算法

梯度下降(Gradientdescent)是获取代价函数最小值的过程。

1、思想

想象现在在一座山(三维立体图形),有多个山峰和山谷(极大值和极小值)。当你在某个位置,找到最快下山的路线(偏导数最小而且是负数的方向),并走一小步,然后接着寻找最快下山的路线,直到到达最低点。

2、存在问题

从上述思想可知,对于有多个极小值情况下,用梯度下降算法很有可能到不了最小值点,只会到达某个极小值点,就因为周围没有减小的路线,而停止。

因此,不同的起始值,最终得到的结果会不一样。

3、步骤

如下述公式:(图片来自视频课程)

其中,α就是“一小步”的距离,α取的大小的变化,会导致从一个点抵达的下一个点的位置不一样,会影响到最终抵达的位置。

不断的执行公式,最终会抵达一个结果。

要求:每次更新的时候,θ1和θ0都要更新,即将θ0和θ1的结果都算出来后,才更新θ0和θ1的值,进行下一次的计算。图中的“:=”符号,即赋值符号,对于大多数编程语言来说,就是=号。

——written by linhxx 2017.12.27

原文发布于微信公众号 - 决胜机器学习(phpthinker)

原文发表时间:2017-12-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习入门与实践

【深度学习系列】卷积神经网络CNN原理详解(一)——基本原理

上篇文章我们给出了用paddlepaddle来做手写数字识别的示例,并对网络结构进行到了调整,提高了识别的精度。有的同学表示不是很理解原理,为什么传统的机器...

1K10
来自专栏AI研习社

用卷积神经网络处理 “图” 结构数据应该怎么办?这篇文章告诉你答案

本文要介绍的这一篇 paper 是 ICML2016 上一篇关于 CNN 在图(graph)上的应用。ICML 是机器学习方面的顶级会议,这篇文章 --<<Le...

3419
来自专栏信数据得永生

《Scikit-Learn与TensorFlow机器学习实用指南》第15章 自编码器

3457
来自专栏机器学习从入门到成神

机器学习之深入理解K-means、与KNN算法区别及其代码实现

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinat_35512245/articl...

1131
来自专栏杨熹的专栏

为什么需要 Mini-batch 梯度下降,及 TensorFlow 应用举例

里面对 BGD,SGD,MBGD,Adagrad,Adadelta,RMSprop,Adam 进行了比较, 今天对其中的 mini-batch 梯度下降 作进...

641
来自专栏机器学习算法与Python学习

高斯混合聚类(GMM)及代码实现

通过学习概率密度函数的Gaussian Mixture Model (GMM) 与 k-means 类似,不过 GMM 除了用在 clustering 上之外,...

3925
来自专栏目标检测和深度学习

入门 | 从零开始,了解元学习

601
来自专栏有趣的Python

6- 深度学习之神经网络核心原理与算法-学习率

892
来自专栏专知

【最新TensorFlow1.4.0教程03】利用Eager Execution构建和训练卷积神经网络(CNN)

【导读】主题链路知识是我们专知的核心功能之一,为用户提供AI领域系统性的知识学习服务,一站式学习人工智能的知识,包含人工智能( 机器学习、自然语言处理、计算机视...

3285
来自专栏林欣哲

图像扩张

机器视觉中的图像识别问题,常常需要大量的数据,而带标签的数据需要人工标注,很难得到较多的数据。因此,我们需要使用图像扩张的方法,人工生成各种变换后的数据,扩大我...

35110

扫码关注云+社区