仿射集(Affine Sets):如果一个集合C∈R是仿射的,则在C中两点的直线也在C中,若x1∈C,x2∈C,则x=θx1+(1−θ)x2 ∈C,θ∈R,例如Ax=b的解集就是一个仿射集。
凸集:如果集合C∈R是凸集,如果C中两点间的线段也在C中,即x=θx1+(1−θ)x2 ∈C,θ∈[0,1] 。注意θ 取值范围的不同。
凸集和仿射集区别:θ 取值范围
注:所有仿射集都是凸的,因为它包含集合中任意不同点的所有直线
仿射集:若通过集合C中任意两个不同点的直线仍在集合C内,则称集合C为仿射集。
凸函数定义
如果“函数f上任意两点的连线”在“函数f这两点之间函数f图像”的上面的话,这样的函数就是凸函数。
或者简单的说:如果悬线在函数上方,那这样的函数就是凸函数。
任何线性规划的可行域都是凸集,线性函数即是凸函数也是凹函数,凸函数+凸函数为凸函数。
什么是范数?
总的来说,范数的本质是距离,存在的意义是为了实现比较。比如,在一维实数集合中,我们随便取两个点4和9,我们知道9比4大,但是到了二维实数空间中,取两个点(1,1)和(0,3),这个时候我们就没办法比较它们之间的大小,因为它们不是可以比较的实数,于是我们引入范数这个概念,把我们的(1,1)和(0,3)通过范数分别映射到实数根号2和 3 ,这样我们就比较这两个点了。所以你可以看到,范数它其实是一个函数,它把不能比较的向量转换成可以比较的实数。
在上面的例子里,我们用的范数是平方求和然后再开方,范数还有很多其他的类型,这个就要看具体的定义了,理论上我们也可以把范数定义为只比较x轴上数字的绝对值。
正则化的概念及原因
简单来说,正则化是一种为了减小测试误差的行为(有时候会增加训练误差)。我们在构造机器学习模型时,最终目的是让模型在面对新数据的时候,可以有很好的表现。当你用比较复杂的模型比如神经网络,去拟合数据时,很容易出现过拟合现象(训练集表现很好,测试集表现较差),这会导致模型的泛化能力下降,这时候,我们就需要使用正则化,降低模型的复杂度。