关注微信公众号“”机器学习算法面试“获取更多机器学习和深度学习方面的面试题
这个问题可以使用反证法来证明,假设我们有一个最简答的神经网络,也就是一个输入层、隐藏层、输出层。也就是说给定个组样本
,我们网络的经验损失函数可以写成如下的形式:
其中,是我们要优化的权重,
代表输入层到隐层的权重,
代表隐层到输出层的权重。这里我们取
损失函数和ReLU作为我们的激活函数。即上式中(用max 代表对向量每一个元素取max),则有如下:
其中可以取max、relu等激活函数。注意到虽然像取平方,ReLU激活函数、求内积这些“函数”单独来看都是凸的,但他们这么一复合之后就不一定是凸的了。一些常见的判断凸函数的方法请见上这里。
为了方便说明这个函数是非凸的,需要一个经典引理:一个高维凸函数可以等价于无数个一维凸函数的叠加。一个(高维)函数是凸的,当且仅当把这个函数限制到任意直线上它在定义域上仍然是凸的。这是凸分析里很基本的一个定理,不熟悉的同学不妨尝试用定义来证明它。
反过来也就是说,只要我们找到一点 ,和一个“方向”
,使得这个
函数非凸就可以了! 回顾一维凸函数的定义,这就是说在这个方向上找到两个点,他们平均的函数值比他们平均值上的函数值要低就行了。
为了说明非凸,我们通过画图来验证,这里我们取真实的
。然后均匀随机地生成 100个
(二维的[0,1]均匀随机向量),
就用
生成,
是[0,0.5]的均匀随机数(这样图像看起来会比较规整)。我们固定住
,画出采样出来的
在
上的图像.
如上红线,我们可以很轻松的找到一条使 “非凸”的线,因此证明完毕:
是非凸的。
网友评论