机器学习数学基础- gradient descent算法(上)
为什么要了解点数学基础
学习大数据分布式计算时多少会涉及到机器学习的算法,所以理解一些机器学习基础,有助于理解大数据分布式计算系统(比如spark)的设计。机器学习中一个常见的就是gradient descent算法,是线性回归问题的一个基础算法。gradient是数学概念。
Gradient
如果一个函数有n个自变量:f(x1,x2......xn)。且每一个x都是标量值。那么该函数的gradient就是一个n维的向量函数,每一个component是f函数针对xi的partial derivative。f的gradient反映的是f针对全部变量在各自维度的变化的敏感程度(以及正负相关性。即当自变量添加时,f值是添加还是减小,下同。
gradient所反映的正负相关性非常重要,是理解gradient descent算法的一个关键)的合集。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算法则能解决问题。
……待续
机器学习数学基础- gradient descent算法(上)的更多相关文章
- (二)深入梯度下降(Gradient Descent)算法
一直以来都以为自己对一些算法已经理解了,直到最近才发现,梯度下降都理解的不好. 1 问题的引出 对于上篇中讲到的线性回归,先化一个为一个特征θ1,θ0为偏置项,最后列出的误差函数如下图所示: 手动求解 ...
- CS229 2.深入梯度下降(Gradient Descent)算法
1 问题的引出 对于上篇中讲到的线性回归,先化一个为一个特征θ1,θ0为偏置项,最后列出的误差函数如下图所示: 手动求解 目标是优化J(θ1),得到其最小化,下图中的×为y(i),下面给出TrainS ...
- 梯度下降(gradient descent)算法简介
梯度下降法是一个最优化算法,通常也称为最速下降法.最速下降法是求解无约束优化问题最简单和最古老的方法之一,虽然现在已经不具有实用性,但是许多有效算法都是以它为基础进行改进和修正而得到的.最速下降法是用 ...
- 梯度下降(Gradient descent)
首先,我们继续上一篇文章中的例子,在这里我们增加一个特征,也即卧室数量,如下表格所示: 因为在上一篇中引入了一些符号,所以这里再次补充说明一下: x‘s:在这里是一个二维的向量,例如:x1(i)第i间 ...
- 基于baseline、svd和stochastic gradient descent的个性化推荐系统
文章主要介绍的是koren 08年发的论文[1], 2.3部分内容(其余部分会陆续补充上来).koren论文中用到netflix 数据集, 过于大, 在普通的pc机上运行时间很长很长.考虑到写文章目 ...
- 基于baseline和stochastic gradient descent的个性化推荐系统
文章主要介绍的是koren 08年发的论文[1], 2.1 部分内容(其余部分会陆续补充上来). koren论文中用到netflix 数据集, 过于大, 在普通的pc机上运行时间很长很长.考虑到写文 ...
- 机器学习(1)之梯度下降(gradient descent)
机器学习(1)之梯度下降(gradient descent) 题记:最近零碎的时间都在学习Andrew Ng的machine learning,因此就有了这些笔记. 梯度下降是线性回归的一种(Line ...
- 斯坦福机器学习视频笔记 Week1 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
- 斯坦福机器学习视频笔记 Week1 线性回归和梯度下降 Linear Regression and Gradient Descent
最近开始学习Coursera上的斯坦福机器学习视频,我是刚刚接触机器学习,对此比较感兴趣:准备将我的学习笔记写下来, 作为我每天学习的签到吧,也希望和各位朋友交流学习. 这一系列的博客,我会不定期的更 ...
随机推荐
- python开发_difflib字符串比较
在python的difflib中 HtmlDiff:比较后以html方法展示 我们比较的是字符串: 'hello world!' 和 'hElLO Wor2d!' 具体代码: from difflib ...
- 【原】Eclipse更改字符编码,精华版
- CROC 2016 - Qualification B. Processing Queries 模拟
B. Processing Queries 题目连接: http://www.codeforces.com/contest/644/problem/B Description In this prob ...
- flex弹性盒子
注意事项 1.设为Flex布局之后,子元素的float,clear和vertical-align属性都讲失效 2.采用Flex布局的元素,称为Flex容器(Flex container),所有的子元素 ...
- Simple Addition Permits Voltage Control Of DC-DC Converter's Output
http://electronicdesign.com/power/simple-addition-permits-voltage-control-dc-dc-converters-output In ...
- Oracle简单脚本演示样例
Oracle简单脚本演示样例 1.添加表 --改动日期:2014.09.21 --改动人:易小群 --改动内容:新增採购支付情况表 DECLARE VC_STR VARCHAR2( ...
- linq Distinct 去除重复数据
转载:http://www.cnblogs.com/ldp615/archive/2011/08/01/distinct-entension.html 只可惜linq默认不支持.Distinct(p ...
- InstallShield 2010集成.net Framework 4的安装包制作
InstallShield 2010中制作安装包时,对于集成.net Framework 4以前的版本,如3.5 sp1/3.5/3.0/2.0 sp2/2.0sp1/2.0等提供了现成的prq文件模 ...
- Flex入门(一)——基本理论
Flash作为一款美丽动画的产品,是大家所喜爱的,他能够给我们带来更好的视觉效果.可是怎样使其非常快非常好的让Java程序猿,.net程序猿等所接受,并进行相关开发.Macromedia公司在2004 ...
- matlab中m文件与m函数的学习与理解
1. m文件与m函数的区别 所谓 MATLAB 程序,大致分为两类: M 脚本文件 (M-Script) 和 M 函数 (M-function), 它们均是普通的 ASCII 码构成的文件. M 脚本 ...