损失正则化简单易懂

模型思想(为什么要正则):

众所周知,同样表现下模型参数值(自变量系数)越小越好,因为y = 214124x1 + 24421x2 + 3x3 这样的x有轻微变化都会引起y剧烈抖动,在高维情况更为明显。因此,在损失函数后加入正则可以减少这个问题从而防止过拟合

 

正则:

L0 正则,NP-hard问题,e.g. 想让100个参数里只有10个参数不为0,那么哪10个呢?这就是个即使联立方程难以解决的问题。

L1正则,也叫Lasso,思想是在损失函数后面加上 系数 之和,从而让系数尽可能稀疏(让为0的参数尽可能多),因此可以被用来降维。

L2正则,也叫Ridge,思想是在损失函数后面加上 系数平方 之和,从而让每个系数值尽可能小。为什么呢?因为特征之间很难做到完全独立,因此,如果让系数稀疏的话会是的部分不为0的系数值会很大,从而使得平方会大---> 损失大。 因此,L2会让大多数系数 不为0,但是尽可能的小。

 

数据预处理:

为了减少数据相关性以及量纲对正则的影响,推荐Z-score标准化,同时使得每个特征均值为0,方差为1。

h(x1) = (h(x1)-mean(h(X)) / squareroot(sum of h(xi)*h(xi))
 

 

损失函数最小化方法:梯度下降,最小二乘,牛顿法,拟牛顿法。

Lasso是部分可导,因此可以用坐标轴下降法(分别在每个坐标轴找方向迭代寻优,不需要像梯度下降一样求导)和最小角回归法(找到与y最接近的x1,顺着x1走直到残差在x1和x2角平分线即根据最相关自变量系数开始?)。

logistic回归损失函数为对数似然函数。

目前效果好的求解方法:Momentum,Adam,RMSProp (简而言之,每次参数更新考虑了历史n个状态的参数更新)


 

FM(Factorization Machine)算法:

在线性回归基础上引入交叉项,考虑特征之间的关系。复杂度为线性,可以在稀疏情况下合理地估计参数。

度为2的模型为

需要xi与xj都不为0才可以训练wij,在稀疏情况下很难满足这个条件。因此为每个特征引入个长度为k的辅助向量V,使得Vi乘以VjT等于Wij。也就是为每个特征对应一个隐变量。

FFM则为每个特征对应n个隐变量(由于经过了one hot编码,可以根据实际特征种类来设置n)。

迭代求参时可以设置自适应学习率(随着迭代次数增加减少学习率)。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值