数学基础(一):无约束优化问题

数学基础系列博客是自己在学习了稀牛学院&网易云课堂联合举办的《人工智能数学基础》微专业后的课程笔记总结。怀着对授课讲师Jason博士无限的敬佩与感激之情,我在完整听了两遍课程之后,对这门进行了笔记整理。Jason博士用深入浅出的方式把数学知识真的是讲透彻了,我的笔记显然无法完整传达Jason博士的精彩授课内容,在此非常推荐每一个打算进入或了解AI的同学去学习这门课程!

一:问题引入:线性回归问题

现在,我有如下一组关于病人收缩压的数据,包括患者姓名,性别,年龄,体重等信息,每一种信息为表中的一列。数据其中第6列为病人的收缩压。根据已有的这些数据记录,我需要对新的病例进行预测,那么怎么办呢?按照机器学习的方法,是首先对已有的数据进行训练,得到一个模型,然后利用该模型对新的未知病例进行预测。

1_1.png

符号说明:

1. { ( x ( i ) , y ( i ) ) } \left\{\left(x^{(i)}, y^{(i)}\right)\right\} { (x(i),y(i))}是一个训练样本,其中上角标 i i i表示样本的编号;

2. { ( x ( i ) , y ( i ) ) ; i = 1 , ⋯   , N } \left\{\left(x^{(i)}, y^{(i)}\right) ; i=1, \cdots, N\right\} { (x(i),y(i));i=1,,N}是训练样本集,共有 N N N个样本;

3. { ( x 1 ( i ) , x 2 ( i ) , y ( i ) ) } → { ( x ( i ) , y ( i ) ) } , x ( i ) = [ x 1 ( i ) x 2 ( i ) ] \left\{\left(x_{1}^{(i)}, x_{2}^{(i)}, y^{(i)}\right)\right\} \rightarrow\left\{\left(\mathbf{x}^{(i)}, y^{(i)}\right)\right\}, \mathbf{x}^{(i)}=\left[ \begin{array}{c}{x_{1}^{(i)}} \\ {x_{2}^{(i)}}\end{array}\right] { (x1(i),x2(i),y(i))}{ (x(i),y(i))},x(i)=[x1(i)x2(i)] ,将多个影响因素组合成一个向量表示。其中 x ( i ) \mathbf{x}^{(i)} x(i)表示特征, y ( i ) y^{(i)} y(i)表示预测值(标签值)。

1_2.png

上图便是我们熟悉的线性回归模型,只不过是一维情况下的示意图。在实际的机器学习过程中,影响 y y y的因素肯定不只有一个,就拿上述收缩压的例子来讲,影响收缩压的因素就有性别,年龄等诸多因素。因此,一维情形下的线性回归模型肯定不能够满足要求。这就引出了多维情形下的线性回归模型。

以下对一维和多维情形下的线性回归问题进行对比观察:

  • 对于一维的线性回归,试图学习: f ( x ) = w x + b f(x)=w x+b f(x)=wx+b,使得 f ( x ( i ) ) ≈ y ( i ) f\left(x^{(i)}\right) \approx y^{(i)} f(x(i))y(i)

  • 对于多维的线性回归,试图学习: f ( x ) = w T x + b f(\mathrm{x})=w^{T} \mathrm{x}+b f(x)=wTx+b,使得 f ( x ( i ) ) ≈ y ( i ) f\left(\mathrm{x}^{(i)}\right) \approx y^{(i)} f(x(i))y(i),其中输入为向量,输出是标量。 w T x w^{T}\mathrm{x} wTx代表向量内积(或者称为向量点乘),最终的结果是一个具体的数字(标量)。在线性代数中,向量默认是列向量。

接下来,核心的问题就在于怎么学到 w w w b b b?

二:无约束优化梯度分析法

2.1 定义无约束优化问题

自变量为标量的函数 f f f: R → R R\rightarrow R RR:
min ⁡ f ( x ) x ∈ R \min f(x) \quad x \in {R} minf(x)xR
自变量为向量的函数 f f f: R n → R R^{n}\rightarrow R RnR:
m i n f ( x ) x ∈ R n minf(\mathrm{x}) \quad \mathrm{x} \in R^{n} minf(x)xRn
通过将一维和多维情形下的优化函数进行对比,我们可以清楚的明白,优化问题的目的是求一个函数的最小值。在一维情况下,自变量为标量,而在多元情况下,自变量变成向量,但是最优的函数值依旧是标量。在实际应用中,一元的情况很少见,最常见到的就是多元的情况,而且自变量 x \mathrm{x} x的维度有可能非常高。

优化问题可能的极值点情况:

]

第一个图有极小值,第二个图有极大值,第三个图有鞍点(saddle point),可以类比( y = x 3 x = 0 y = x^{3} \quad x = 0 y=x3x=0)的情况。第四张图中,既有极大值也有极小值,而且有局部极大(小)值。在实际的应用中,最常出现的是最后一种图,当维度很高时,我们有时候根本就不可能知道函数到底是什么样子的,也无法可视化。而且我们往往只能找到函数的局部极值,很难找到函数的全局最值(客观条件所限)。但是能够找到函数的局部极值也是非常有意义的。

2.2 梯度和Hessian矩阵

同样采用一阶和二阶对照的角度来理解

一阶导数和梯度: f ′ ( x ) ; g ( x ) = ∇ f ( x ) = ∂ f ( x ) ∂ x = [ ∂ f ( x ) ∂ x 1 ⋮ ∂ f ( x ) ∂ x n ] f'(x) ; \quad \mathbf{g}(\mathbf{x})=\nabla f(\mathbf{x})=\frac{\partial f(\mathbf{x})}{\partial \mathbf{x}}=\left[ \begin{array}{c}{\frac{\partial f(\mathbf{x})}{\partial x_{1}}} \\ {\vdots} \\ {\frac{\partial f(\mathbf{x})}{\partial x_{n}}}\end{array}\right] f(x);g(x)=f(x)=xf(x)=x1f(x)xnf(x)

注解:

  1. 导数的大小代表了函数在某个方向上变化的快慢;梯度的方向为函数值增加最快的方向。梯度本身是一个n维向量

  2. 一阶导数为对x(标量)求导,二阶导数为对 x \mathbf{x} x(n维的向量)求导,结果为 f f f对向量中的每一个 x x x单独求导,然后组成一个向量(列向量)。

二阶导数和Hessian矩阵:
f ′ ′ ( x ) ; H ( x ) = ∇ 2 f ( x ) = [ ∂ 2 f ( x ) ∂ x 1 2 ∂ 2 f ( x ) ∂ x 1 ∂ x 2 ⋯ ∂ 2 f ( x ) ∂ x 1 ∂ x n ⋯ ∂ 2 f ( x ) ∂ x 2 ∂ x 1 ∂ 2 f ( x ) ∂ x 2 2 ∂ 2 f ( x ) ∂ x n ∂ x 1 ∂ 2 f ( x ) ∂ x n ∂ x 2 ⋯ ∂ 2 f ( x ) ∂ x n 2 ] = ∇ ( ∇ f ( x ) ) T f^{\prime\prime}(x) ; \quad \mathbf{H}(\mathbf{x})=\nabla^{2} f(\mathbf{x})=\left[ \begin{array}{ccc}\begin{array}{ll}{\frac{\partial^{2} f(\mathbf{x})}{\partial x_{1}^{2}}} & {\frac{\partial^{2} f(\mathbf{x})}{\partial x_{1} \partial x_{2}}} & {\cdots} & {\frac{\partial^{2} f(\mathbf{x})}{\partial x_{1} \partial x_{n}} \cdots} \\ {\frac{\partial^{2} f(\mathbf{x})}{\partial x_{2} \partial x_{1}}} & {\frac{\partial^{2} f(\mathbf{x})}{\partial x_{2}^{2}}} \\ {\frac{\partial^{2} f(\mathbf{x})}{\partial x_{n} \partial x_{1}}} & {\frac{\partial^{2} f(\mathbf{x})}{\partial x_{n} \partial x_{2}}} & {\cdots} & {\frac{\partial^{2} f(\mathbf{x})}{\partial x_{n}^{2}}}\end{array}\end{array}\right]=\nabla(\nabla f(\mathbf{x}))^{T} f(x);H(x)=2f(x)=x122f(x)x2x12f(x)xnx12f(x)x1x22f(x)x222f(x)xnx22f(x)x1xn2f(x)xn22f(x)=(f(x))T

注解:

  1. 在多维情况下,二阶导数即为Hessian矩阵,在梯度的基础上再求一次导。是一个n ∗ * n的矩阵。
  2. Hessian矩阵其实是一个实对称矩阵,对角元相等。

2.3 二次型

2.3.1 定义

给定矩阵 A ∈ R n × n \mathbf{A} \in \mathbb{R}^{n \times n} ARn×n,函数
x T A x = ∑ i = 1 n x i ( A x ) i = ∑ i = 1 n x i ( ∑ j = 1 n a i j x j ) = ∑ i = 1 n ∑ j = 1 n x i x j a i j \mathbf{x}^{T} \mathbf{A} \mathbf{x}=\sum_{i=1}^{n} x_{i}(\mathbf{A} \mathbf{x})_{i}=\sum_{i=1}^{n} x_{i}\left(\sum_{j=1}^{n} a_{i j} x_{j}\right)=\sum_{i=1}^{n} \sum_{j=1}^{n} x_{i} x_{j} a_{i j} xTAx=i=1nxi(Ax)i=i=1nxi(j=1naijxj)=i=1nj=1nxixjaij
被称为二次型。

  • 给定对称矩阵 A ∈ R n × n \mathbf{A} \in \mathbb{R}^{n \times n} ARn×n,如果对于所有的 x ∈ R n \mathbf{x}\in{R }^n xRn,有 X T A x ≥ 0
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值