l2的最优回归_回归分析

一、线性回归

1. 定义

回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。

单变量情形:y=ax+b,b为误差服从均值为0的正态分布。

多变量情形:

0d0e42d16cbf56d3976ce856f32239a0.png

2. 损失函数

要找到最好的权重/参数[θo,…θn]= θ
那怎么去衡量“最好”呢?
把x到y的映射函数f记作θ的函数hθ(x)
定义损失函数为:

b294fae76047a061244643075c326150.png


最小化损失函数可得最优值。

3. 梯度下降

逐步最小化损失函数的过程,如同下山,找准方向(梯度),每次迈进一小步,直至山底。

72ede1cfaa98ac562b7619bb6561c3f5.png


假如现在有n个特征/变量xj(j=1…n),则

cc0a58b5f1112de41ab80ec56453e700.png

4. 过拟合与正则化

欠/过拟合

fda8d18478edba4ff32a6f2620cbeba7.png


过拟合问题:如果我们有特别多的特征,我们的假设函数曲线可以对原始数据拟合得非常好(J(θ)≈0 ),但丧失了一般性,从而导致对新给的待预测样本,预测效果差。

正则化

  1. 正则化就是对最小化经验误差函数上加约束,这样的约束可以解释为先验知识(正则化参数等价于对参数引入先验分布)。约束有引导作用,在优化误差函数的时候倾向于选择满足约束的梯度减少的方向,使最终的解倾向于符合先验知识(如一般的l-norm先验,表示原问题更可能是比较简单的,这样的优化倾向于产生参数值量级小的解,一般对应于稀疏参数的平滑解)。
  2. 同时,正则化解决了逆问题的不适定性,产生的解是存在,唯一同时也依赖于数据的,噪声对不适定的影响就弱,解就不会过拟合,而且如果先验(正则化)合适,则解就倾向于是符合真解(更不会过拟合了),即使训练集中彼此间不相关的样本数很少。

5e00e245879abee30ee3a7893469f416.png

二、逻辑回归

1. 定义

逻辑(logistic)回归是一种广义的线性回归分析模型。有时候需要解决分类问题。
明明对离散值预测(分类),为啥叫回归?——归功于sigmoid函数:

d15923d4673fcd45baa1f0ea34bb2771.png

2. 损失函数

损失函数J(θ)非凸,

2099d5ee54202d16708a8dd01cc55069.png


我们希望它是凸函数:

d982f2fb52dca5ec2946b23ae9aafabd.png


故有:

ba123e5483bdca60b13e1330fe9818a8.png


则:

53e6a5584b6341b22e2e93e06858fe05.png

3. 梯度下降与正则化

梯度下降求最小值:

50ea79a3f9596774a31da8ba40cb505d.png

三、工程应用经验

1. 关于样本的处理

(1)样本量太大怎么办?

​ 离散化后用one-hot编码处理成0, 1值

​ 如果要用连续值,注意做scaling

​ 试试spark MIIib

​ 试试采样(注意采样方式:日期or用户or行为)

(2)注意样本的平衡

​ 对样本分布敏感

​ 下采样(样本量足的情况下),上采样(样本数量不太足)

​ 修改loss function, 给不同权重

​ 采样后的predict结果,用作排序0K, 用作判定请还原

2. 关于特征的处理

(1)离散化
映射到高维空间,用linear的LR(快,且兼具更好的分割性)
稀疏化,0, 1向量内积乘法运算速度快,计算结果方便存储,容易扩展;
离散化后,给线性模型带来一定的非线性模型稳定,收敛度高,鲁棒性好
在一定程度上降低了过拟合风险

(2)通过组合特征引入个性化因素
uuid + tag
uuid + cluster_ id…(3)注意特征的频度
区分特征重要度
可以产出层次判定模型(4)聚类/Hash
增强了极度稀疏的特征表达力
减小了模型.加速运算

3. 关于算法调优

​ 选择合适的正则化(L1,L2,L1+L2)
​ 正则化系数C
​ 收敛的阈值e,迭代轮数
​ 调整loss function给定 不同权重
​ Bagging或其他方式的模型融合
​ 最优化算法选择(‘newton-cg’, ‘lbfgs’, liblinear’,‘sag’)
​ 小样本liblinear,大样本sag,多分类’newton-cg’和‘lbfs’(当然你也可以用liblinear和sag的one-vs-rest)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值