感觉在机器学习和深度学习的过程中遇到了瓶颈,细想觉得来自于之前对于优化课程里的知识,尤其是各类规划问题没有完全理解下来,没有把两个学科结合起来学习。
受挫明显让我觉得把只是重新拿出来啃一啃,对于复杂的数学式子逐步拆分理解下来。
课程学习的教材是经典的Boyd的convex optimization,同时也参考了一些csdn大神的文章。
-
引言
第一章,引言
就不说了,对于这种稍闭环的书,前面主要只是介绍一下研究对象
-
凸集和凸函数基础概念
第二章 凸集
引入凸集的概念:
对于一个点集C,其中任意两点连成的线段,线段上的每个点都在C内,则C被称为凸集。
由此可以得到点集C实际上是空间中的一个实心的没有凹陷的一个体,在二维上则是一个没有凹陷和缺失点的图形。
引入凸集的作用,我个人理解是为接下来的许多问题铺垫,凸集本身可引申出来的问题和研究不多。
第三章 凸函数
引入凸函数的概念:
引入凸函数是为凸优化问题铺垫。凸优化问题可以理解为一种具有某种条件的问题,只要满足这些条件,这个问题就绝对有解。
-
凸优化问题
第四章 凸优化问题
凸优化问题的标准形式:
重点是,凸优化问题的基础性质之一是其任意局部最优解也是全局最优解。
这里区别与拟凸优化问题,拟凸优化问题的局部最优解不一定是全局最优。
没错,把机器学习的一些问题,如线性回归问题转化成凸优化问题,就能进一步通过优化的理论,使用梯度下降法找到最优解。
线性回归问题,其实瞄准的就是最小化损失函数,也就是最小化:
设想是在二维空间中,x和y都是实数,那对这个函数求二阶后,就得到一个常数项,所以这个要么是凸函数要和是凹函数,可以相互转换。
无不等式约束和等式约束,于是这个得出:线性回归问题确实可以转化成凸优化问题。
再用梯度下降,得到”局部解“,根据凸优化问题的性质,这个局部解就是线性回归问题的全局最优解:
在这个基础上,也可以引入随机梯度下降的概念,也就是说我们不是每次迭代都施加m个累加来求解,而是随机抽取一个样本,这样做可以减少每次迭代的计算量,但可能难以收敛到最终结果;
同样如果随机抽取的是多个样本,比如32个什么的,那就是mini-batch,中文小批量下降方法。
关于mini-batch、批量下降和随机梯度下降的讲解在我的csdn中也有。