2019.03.04学习笔记

1.手撕SVM:

    https://blog.csdn.net/qy724728631/article/details/82622535

    https://blog.csdn.net/Cheese_pop/article/details/79916557

    http://www.360doc.com/content/18/0905/17/17157244_784140267.shtml

    https://blog.csdn.net/cppjava_/article/details/68060439

    https://blog.csdn.net/Mr_HHH/article/details/79093174

    https://blog.csdn.net/szlcw1/article/details/52259668

2. 哪些机器学习算法不用做归一化:

树形模型不需要归一化,因为它们不关心变量的值,而是关心变量的分布和变量之间的条件概率,如决策树、随机森林(Random Forest) 。按照特征值进行排序的,排序的顺序不变,那么所属的分支以及分裂点就不会有不同。而且,树模型是不能进行梯度下降的,因为构建树模型(回归树)寻找最优点时是通过寻找最优分裂点完成的,因此树模型是阶跃的,阶跃点是不可导的,并且求导没意义,也就不需要归一化。

3.欧式距离与曼哈顿距离:

欧式距离将不同属性之间的差别同等看待,每个属性的重要性是相同的。

曼哈顿距离:从一个十字路口开车到另外一个十字路口。

4.归一化与标准化的不同:归一化是指使得数据分布在一个范围之内,标准化是指将控制数据的均值和方差。

5.一个完整的机器学习项目的流程:

    1.抽象成数学问题:明确可以获得什么样的数据,目标是一个分类,回归还是聚类问题。

    2.获取数据

    3.特征预处理与特征选择

    4.训练模型与调优

    5.模型诊断

    6.模型融合

    7.上线运行

6.逻辑回归往往将特征离散化,是因为:

         0. 离散特征的增加和减少都很容易,易于模型的快速迭代;

         1. 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;

         2. 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数           据“年龄300岁”会给模型造成很大的干扰;

         3. 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;

         4. 离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;

         5. 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;

         6. 特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。

7.手撕逻辑回归:

        https://blog.csdn.net/cyh_24/article/details/50359055

        https://blog.csdn.net/zouxy09/article/details/20319673

8.过拟合怎么办:

      1.L1,L2正则化

     2.随机失活(dropout)。在训练的运行的时候,让神经元以超参数p的概率被激活(也就是1-p的概率被设置为0), 每个w因此随机参与, 使得任意w都不是不可或缺的, 效果类似于数量巨大的模型集成。

     3.逐层归一化(batch normalization)这个方法给每层的输出都做一次归一化(网络上相当于加了一个线性变换层), 使得下一层的输入接近高斯分布. 这个方法相当于下一层的w训练时避免了其输入以偏概全, 因而泛化效果非常好.

    4.提前终止训练。

    5.降低学习率。

 

9. RL与SVM的联系:

联系:

1、LR和SVM都可以处理分类问题,且一般都用于处理线性二分类问题(在改进的情况下可以处理多分类问题)

2、两个方法都可以增加不同的正则化项,如l1、l2等等。所以在很多实验中,两种算法的结果是很接近的。

区别:

1、LR是参数模型,SVM是非参数模型。

2、从目标函数来看,区别在于逻辑回归采用的是logistical loss,SVM采用的是hinge loss,这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重。

3、SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器。而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重。

4、逻辑回归相对来说模型更简单,好理解,特别是大规模线性分类时比较方便。而SVM的理解和优化相对来说复杂一些,SVM转化为对偶问题后,分类只需要计算与少数几个支持向量的距离,这个在进行复杂核函数计算时优势很明显,能够大大简化模型和计算。

5、logic 能做的 svm能做,但可能在准确率上有问题,svm能做的logic有的做不了。

 

 

 

 

 

 

 
 
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值