代码地址:https://github.com/13372034568/machine_learn/ 下面的“工具类.py”
本文所说的自动求导,还停留在多项式求导上;
因为最终需要用图像进行展示,所以,选择了二元二次多项式作为示例。
因为为多项式,所以定义元组用于存储每一元的系数、指数,每一元本身也是多项式。元组的输出如下:
[[(1, 2), (-3, 1)], [(46, 2), (-39, 1), (-27, 0)]]
可以表示为:z = X^2 - 3 * X + 46 * Y^2 - 39 * y - 27
空间曲面如下所示:
里面的彩色线为梯度下降逼近轨迹
等高线形式表示如下:
代码包含几个独立模块,分别负责
(1)构造一个多元多次函数所需要的各元系数、指数
def
(2)实例化多元多次函数
def
(3)通过自变量求解应变量
def
(4)对多元多次函数的求导过程
def
(5)梯度下降
def
(6)使用matplotlib绘制空间函数曲线、等高线
def