机器学习数学基础- gradient descent算法(上)

为什么要了解点数学基础

学习大数据分布式计算时多少会涉及到机器学习的算法,所以理解一些机器学习基础,有助于理解大数据分布式计算系统(例如spark)的设计。机器学习中一个常见的就是gradient descent算法,是线性回归问题的一个基础算法。gradient是数学概念。

Gradient

假设一个函数有n个自变量:f(x1,x2......xn),且每个x都是标量值,那么该函数的gradient就是一个n维的向量函数,每个component是f函数针对xi的partial derivative,f的gradient反映的是f针对所有变量在各自维度的变化的敏感程度(以及正负性,即当自变量增加时,f值是增加还是减小,下同。)的合集。f的gradient记为?f

Partial Derivative

partial derivative是derivative的一个延伸概念,是一个有n维变量的函数f(x1,x2......xn),在假设其他变量值不变、仅有一个变量(假设为xi)变化的情况下,f函数针对该变量的derivative,写为f′(xi),或者?f?xi,f(x1,x2......xn)对xi的partial derivative也是xi的函数,它反映的是f相对于xi的变化的敏感程度(以及正负性)。

Derivative

一个一维变量的函数f(x)的derivative,反映的是f(x)在x的不同值的情况下,当x仅作无限小的变化时,f值的变化与x的变化的比值,因此derivative反映的是f(x)在x的不同值的情况下,f(x)对x的变化的敏感程度(以及正负性)。f(x)的derivative也是x的函数,写为f′(x).

Gradient Descent算法

线性回归问题可以归结为求一个函数f(x1,x2......xn)的(x1,x2......xn)的某一个具体的值,使得f有最小值。

如果把这个求解问题交给你,你能求出来吗?很难把,

而gradient descent算法则能解决这个问题。

……待续

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-13 12:26:24

机器学习数学基础- gradient descent算法(上)的相关文章

机器学习数学基础- gradient descent算法(下)

Gradient Descent算法 续上文. gradient descent的用途: 可以用于求解一个函数f(x1,x2,......xn)的local 最小值. 关于local最小值: 一个函数可能有多个local最小值,所谓local最小值是当给定(x1,x2,......xn)的某一个实例,如果在该实例的无限小的附近的任何一个实例的f值都大于该实例的f值,那么该实例所对应的就是f的一个local最小值. gradient descent算法求解local最小值的方法如下: 任意给定(x

(二)深入梯度下降(Gradient Descent)算法

一直以来都以为自己对一些算法已经理解了,直到最近才发现,梯度下降都理解的不好. 1 问题的引出 对于上篇中讲到的线性回归,先化一个为一个特征θ1,θ0为偏置项,最后列出的误差函数如下图所示: 手动求解 目标是优化J(θ1),得到其最小化,下图中的×为y(i),下面给出TrainSet,{(1,1),(2,2),(3,3)}通过手动寻找来找到最优解,由图可见当θ1取1时,与y(i)完全重合,J(θ1) = 0 下面是θ1的取值与对应的J(θ1)变化情况 由此可见,最优解即为0,现在来看通过梯度下降

梯度下降(Gradient descent)

首先,我们继续上一篇文章中的例子,在这里我们增加一个特征,也即卧室数量,如下表格所示: 因为在上一篇中引入了一些符号,所以这里再次补充说明一下: x‘s:在这里是一个二维的向量,例如:x1(i)第i间房子的大小(Living area),x2(i)表示的是第i间房子的卧室数量(bedrooms). 在我们设计算法的时候,选取哪些特征这个问题往往是取决于我们个人的,只要能对算法有利,尽量选取. 对于假设函数,这里我们用一个线性方程(在后面我们会说到运用更复杂的假设函数):hΘ(x) = Θ0+Θ1

机器学习(1)之梯度下降(gradient descent)

机器学习(1)之梯度下降(gradient descent) 题记:最近零碎的时间都在学习Andrew Ng的machine learning,因此就有了这些笔记. 梯度下降是线性回归的一种(Linear Regression),首先给出一个关于房屋的经典例子, 面积(feet2) 房间个数 价格(1000$) 2104 3 400 1600 3 330 2400 3 369 1416 2 232 3000 4 540 ... ... .. 上表中面积和房间个数是输入参数,价格是所要输出的解.面

机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

机器学习中的数学(1)-回归(regression).梯度下降(gradient descent) 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在

机器学习中的数学-回归(regression)、梯度下降(gradient descent)<1>

机器学习中的数学(1)-回归(regression).梯度下降(gradient descent) 版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: 上次写过一篇关于贝叶斯概率论的数学,最近时间比较紧,coding的任务比较重,不过还是抽空看了一些机器学习的书和视频,其中很推荐两个:一个是stanford的machine learning公开课,在

梯度下降(Gradient Descent)小结

在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法.这里就对梯度下降法做一个完整的总结. 1. 梯度 在微积分里面,对多元函数的参数求?偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度.比如函数f(x,y), 分别对x,y求偏导数,求得的梯度向量就是(?f/?x, ?f/?y)T,简称grad f(x,y)或者▽f(x,y).对于在点(x0,y0)的具体梯度向量就是(?f/?x0, ?f/?

梯度下降(Gradient Descent)

在求解机器学习算法的优化问题时,梯度下降是经常采用的方法之一. 梯度下降不一定能够找到全局最优解,有可能是一个局部最优解.但如果损失函数是凸函数,梯度下降法得到的一定是全局最优解. 梯度下降的相关概念: 1.步长或学习率(learning rate):步长和学习率是一个东西,只是在不同的地方叫法不一样,以下叫做步长.步长决定了在梯度下降过程中,每一步沿梯度负方向前进的长度. 2.假设函数(hypothesis function):也就是我们的模型学习到的函数,记为. 3.损失函数(loss fu

[NN] Stochastic Gradient Descent - SAG & SVRG

solver : {‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’}, default: ‘liblinear’ Algorithm to use in the optimization problem. For small datasets, ‘liblinear’ is a good choice, whereas ‘sag’ is faster for large ones. For multiclass problems, only ‘newton-cg