随笔分类 -  《机器学习实战》学习笔记

摘要:大致看来,我感觉xgboost就是GBDT的改进版,它在原来的基础上加了正则项,也就是优化函数中不仅考虑了误差,还考虑了拟合函数的复杂度。注意这里与GBDT一样,还是用的CRAT树,还是那种串行累加。具体原理与公式推导看这英文版,中文的(写得很好),辅看这个。 阅读全文
posted @ 2018-12-26 16:51 maxiaonong 阅读(124) 评论(0) 推荐(0)
摘要:集成学习有两大家族,Bagging家族与Boosting家族;相同家族的算法,思想有类似之处,例如Bagging家族主要并行思想,典型代表:随机森林;Boosting家族主要是串行思想,主要代表有AdaBoost,GBDT. AdaBoost与GBDT虽都是Boosting家族,但是还是有一定的区别 阅读全文
posted @ 2018-12-21 15:43 maxiaonong 阅读(233) 评论(0) 推荐(0)
摘要:主要目的:会推导,了解优缺点 主要看这三个链接。1)与李航的书比较接近的。2)公式版 。3)它们当中其实用的损失函数是log损失函数。 阅读全文
posted @ 2018-12-17 21:44 maxiaonong 阅读(120) 评论(0) 推荐(0)
摘要:这章主要是非线性回归问题,大致浏览后感觉应该是这样:先将非线性数据用树分段,然后每段取平均值就是树回归,如果每段再线性回归就还是模型树,具体可以参考这里与这里。一般它这个树这里都用CART,不过在sklearn文档中似乎只知道了CART的回归(是回归树),暂时没看到模型树回归。 阅读全文
posted @ 2018-12-03 14:31 maxiaonong 阅读(120) 评论(0) 推荐(0)
摘要:这一章先从最简单的回归开始,也就是基于普通最小二乘的线性回归。f(x)=w0x0+w1x1+w2x2+....。问题就在于求W矩阵。平方误差求导可得:W估计=(X^TX)^-1X^Ty。自写模块代码如下: 1 #!/usr/bin/env python 2 #-*-coding:utf-8 -*- 阅读全文
posted @ 2018-11-29 11:10 maxiaonong 阅读(196) 评论(0) 推荐(0)
摘要:恢复内容开始 集成学习其实不能算一个算法,应该算是一种框架,集百家之长。集成算法具体有Bagging与Boosting两种大类。两者区别: 1)Bagging是并行的,它就好比找男朋友,美女选择择偶对象的时候,会问几个闺蜜(几个算法)的建议,最后选择一个综合得分最高的一个作为男朋友。bagging中 阅读全文
posted @ 2018-11-28 19:38 maxiaonong 阅读(460) 评论(0) 推荐(0)
摘要:按照我的理解,支持向量机就是寻找最大间隔。比如两分类问题(它们线性可分),可能满足要求的分割线有很多条,支持向量是指两类中离分割线最近的元素。它追求的就是离支持向量最大的间隔。这里提到了序列最小优化(Sequential Minimal Optimization, SMO)算法。但是有时候有些问题线 阅读全文
posted @ 2018-11-27 20:22 maxiaonong 阅读(137) 评论(0) 推荐(0)
摘要:这一章主要讲的是逻辑回归,逻辑其实只是比线性回归多了一个逻辑函数。线性回归问题是f(x)=WTX+b用最优化方法求解W使得error=f(x)-y最小。线性回归是用f(x)取拟合的,但是逻辑回归的y值是{0,1},所以这里需要用一函数将所有输入映射到{0,1}。本来单位阶跃函数是最理想的,但是求最优 阅读全文
posted @ 2018-11-26 11:09 maxiaonong 阅读(796) 评论(0) 推荐(0)
摘要:贝叶斯分类器是基于概率计算的一种分类器,即测试特征分别算属于每个类别的概率,它里面也包含很多算法,比如,朴素贝叶斯、半朴素贝叶斯、EM算法等等。这里主要说朴素贝叶斯。 贝叶斯公式:,对于分类也就是。因为计算时,分母都一样,所以可以不用计算,故难点在于算右边分子P(特征|类别)。 朴素贝叶斯之所以叫朴 阅读全文
posted @ 2018-11-23 11:00 maxiaonong 阅读(430) 评论(0) 推荐(0)
摘要:自说原理:决策数是用训练集训练出一棵树,树怎么分叉是由属性(特征决定),测试集的属性按照这个树一直走下去,自然就分类了。一般树的深度越小越好,那如何选属性作为根节点,又选择哪一个属性作为第二个分叉点尼? 这就用到了信息熵与信息增益的知识。ID3中选择信息增益大的,C4.5中选择增益率大的。以书中的数 阅读全文
posted @ 2018-11-21 17:13 maxiaonong 阅读(181) 评论(0) 推荐(0)
摘要:kNN功能:解决输入是数值型或者标称型的分类问题 kNN大致原理:输入数据集相当于在一定维度的空间中标点,测试集(或者说要预测标签的),相当于是计算与这些已有点的距离(一般是欧式距离),选择前k个距离最近的,看这k个已标点的标签是什么(也就是属于哪一类),返回k个中占比最大的标签作为预测结果。ps: 阅读全文
posted @ 2018-11-19 16:16 maxiaonong 阅读(346) 评论(0) 推荐(0)