美文网首页
LR注意点

LR注意点

作者: 士多啤梨苹果橙_cc15 | 来源:发表于2017-08-16 11:23 被阅读0次

    下面这个人的笔记做的还不错

    http://www.cnblogs.com/jianzhitanqiao/p/5488659.html

    1. Logistic回归的决策函数是sigmoid函数,那么它的判定边界怎么求

    突然想通了,是f(z) = sigmoid(z)

    当z >0时,输出1

    当z<0时,输出0

    那么函数z=0就是判定边界

    关于z的解析式可以是高次的多项式函数

    逻辑回归的损失函数:---如果将sigmoid函数代入最小二乘会得到一条并不收敛的曲线

    sigmoid最小二乘损失函数

    Logistic回归损失函数若使用最小二乘得到的是非凸函数,容易陷入局部的极小值。

    解决方法:

    似然函数costfunc

    似然函数进行极大似然估计

    加入L2正则

    LR对于样本的处理

    样本太大怎么办?

    1. 采样再 LR

    2. 分布式上 spark mllib

    3. 将特征 离散化为 0-1,这样虽然训练数据量没有变,特征向量还变长了,

    但是 因为 0-1 操作,使得计算速度变快

    4. 连续值的特征,最好 scaling一样,使得因子图 不是 特别的细长,而是 圆形,这样利于优化的速度,这个也是可以 加速训练的

    --注意样本的平衡

    ·-》对样本分布敏感

    --》下采样 --》上采样

    --》修改loss func 给予不同权重

    --》采样后的预测结果,用排序作ok,用作判定请还原

    --使用LR 的tech关于特征的聚类

    提前,将一些特征先 hash,比如 uuid?

    ---LR也能用于特征选择(去除theta为0的特征,选择theta大的特征)

    -------------关于模型调优

    假设只看模型:

    ---选择合适的正则化(L1,L2,L1+L2):L2的准确度高一些,但是收敛时间长一些。L1是截断性效益【可以做一定程度的特征选择,数据量特别大用L1】

    --正则化系数C(lambda)【表示惩罚程度有多高】

    --收敛阈值e,迭代次数

    --调整loss func给定不同权重

    Bagging或其他方式的模型融合

    --最优化算法选择(‘newton-cg’,'lbfgs'--spark里面用的这个,'liblinear'--默认使用梯度下降,'sag')

    小样本liblinear

    大样本sag

    多分类‘newton-cg’和‘lbfgs’【也可以用liblinear和sag的one-vs-rest】

    -----liblinear--常用库【台湾大学】

    --------存储方式:libsvm稀疏向量存储格式,海量数据下单机速度还ok

    -------高维度离散化特征,准确率逼近非线性切分

    ------参数调节方便

    SKlearn中的LR实际上就是liblinear封装的

    L1正则和L2正则的区别

    L2正则是一种缩放效应,会让大部分特征都拿到权重但是,幅度小

    L1正则是截断式效应,有可能很多特征的权重会变为0

    2. SVM适合数据量比较小的情况,因为计算量大

    并且对于非均衡样本,效果较差

    相关文章

      网友评论

          本文标题:LR注意点

          本文链接:https://www.haomeiwen.com/subject/qsqirxtx.html