为什么要了解点数学基础
学习大数据分布式计算时多少会涉及到机器学习的算法,所以理解一些机器学习基础,有助于理解大数据分布式计算系统(例如spark)的设计。机器学习中一个常见的就是gradient descent算法,是线性回归问题的一个基础算法。gradient是数学概念。
Gradient
假设一个函数有n个自变量:
f(x1,x2......xn)
,且每个x都是标量值,那么该函数的gradient就是一个n维的向量函数,每个component是f函数针对
xi
的partial derivative,
f
的gradient反映的是
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
相对于
Derivative
一个一维变量的函数
f(x)
的derivative,反映的是
f(x)
在
x
的不同值的情况下,当
Gradient Descent算法
线性回归问题可以归结为求一个函数
f(x1,x2......xn)
的
(x1,x2......xn)
的某一个具体的值,使得
f
<script type="math/tex" id="MathJax-Element-32">f</script>有最小值。
如果把这个求解问题交给你,你能求出来吗?很难把,
而gradient descent算法则能解决这个问题。
……待续