自己研究方向的社交网络,会用到一些机器学习的方法,本身自己也很感兴趣,从去年开始就开始了学习,学习经历和相关资料,代码见GitHub主页:

https://github.com/lovesoft5/ml

学习机器学习大半年了,下面是自己整理的一些心得笔记

机器学习广泛应用于计算机视觉,自然语言处理,信息检索,推荐等领域,因为涉及面太广,现在并没有一个完整的定义什么是机器学习。个人偏向的理解是:机器学习过程本质都是在一个样本空间中,找出一个模型、搜索一组参数,按照需要使其描述这个样本空间(损失函数最小),从而可以对新样本做出某种判断。

一个完整的机器学习项目大体有如下步骤(kaggle比赛流程也大体如下):

首先、将所要解决的问题抽象成机器学习的问题(类似数学建模),目标问题到底是一个什么问题,分类,回归还是聚类问题,要达到的目标是什么,对准确率的要求等。

其次、明确该项目可以获取哪些数据,大概有多少样本,多少个特征,训练的时候内存占用量,需不需要用分布式,

接着、考虑对特征数据做处理和选择,包括特征筛选,数据清晰,归一化,缺失值处理......,然后利用特征选择的方法,比如相关系数法,卡方检验,逻辑回归权重选择,平均互信息等,如果需要,还可以进一步用PCA,LDA等方法降维。

然后 就是模型选择、训练与调优,根据样本大小特征选择相应模型,然后对参数进行调优,随后还需要模型诊断,进行特征融合,模型融合等进一步提高预测效果

最后、经过测试,方差可以接受以后就可以提交上线。

-------------------------------------------------------------------------------

二分类器转化为多分类器的方法,下面通过例子来说明:

1) 多个分类器组合法:比如预测结果有4种类型,把这4种类型两两组合,这样就得到6组样本(每个样本有两种类型),对每组样本分别用一个二分类器进行训练,相当于得到6个二分类器,把预测数据在6个分类器上分别计算,预测结果最多的那个类型就是预测结果。

2) 另一个思想就是:还是有4种类型,把其中一类作为正样本,另外3个作为负样本,可以得到4个二分类器,预测数据取分类为正的那个值(因为分类为负,我们无法判断是另外3类中的哪一类)

-----------------------------------------------------------------------------------

关于逻辑回归与SVM:

1、svm分类时,会存在无数个超平面,只有间隔最大化的超平面,泛化能力最强。通常表示为如下优化问题:

但是为什么是优化||W||,很多资料都没有讲清原因,下面这个图来自清华大学的数据挖掘课上的ppt,很好的解释了这个问题,

我们知道,支持向量机要找出一个间隔最大化的平面。间隔最大化如何表示呢?    通过投影(空间点投影参考线代相关知识,其实PCA降维也用到了相关方法)!      数据点到分界面的投影表示如上图,这里,为了表示方便,b是常数,我们通常取1.      于是就有了后面的优化目标。

2、同为分类模型。逻辑回归模型(LR)是参数模型,SVM是非参数模型。损失函数上,LR采用了Logistical Loss,SVM采用了hinge loss。这两个损失函数都是增加对分类影响较大的数据点的权重,减少与分类关系较少的数据点的权重。SVM处理数据时最考虑Support vector,也就是和分类相关的少数点去学习分类器,所以增加某些新的样本点不会对模型造成影响,而LR通过非线性映射,每个样本点都会对参数有影响,只不过距离分类面远的点影响权重越小。

3、逻辑回归本质上其实也是一个线性回归模型,所以处理不了非线性问题,通过sigmod函数把一个回归问题轻松转化为0/1分类问题,虽然简单,但是实用性强,典型的应用比如在线广告。SVM则可通过核函数把非线性数据映射到高维从而线性可分,但是模型训练时间平方级别增大,所以数据量太大,一般不用SVM,另一方面SVM没有处理缺失值的策略(决策树有)。

最大似然估计与最小二乘:

最大释然估计是找到参数估计值,使得前面已经实现的样本发生概率最大。最小二乘找到一个估计值,使得实际值与估计值的距离最小。
前面的回归模型在学习时,就是用的最大似然估计法,之说以不用最小二乘法是因为通过最小二乘法得到的损失函数是非凸,这样得不到全局最优解。

关于判别模型与生成模型:

之前也看了很多这方面的解释,但是都没有理解其本质,知道有一天看了一篇解释HMM与CRF的博客,一下子豁然开朗了。通俗理解如下:
判别模型其实从样本空间中学习一个到预测对象的映射函数(既然是函数,所以就要学习到一些参数),从而在新样本来临的时候,可以带入到函数中,预测出y。也可以说是在新样本下的条件概率P(Y|X)的大小。生成模型是学习样本数据在某个空间的分布规律(所以样本越多越好),即联合概率分布P(X,Y)。学习到了分布规律以后,对新样本,就可以用P(Y|X)来预测样本值。这也是概率模型不需要归一化的原因,它寻找的是分布规律。

GBDT,随机深林,XGBoost区别及采用的思想

1、随机深林是在传统决策上采用bagging(装袋)思想,它通过引入一组分类器(比如一组决策树)来完成学习。给出一个样本,所有的分类器都并行的工作,并对这一个样本各自标定类别。然后由一个“主”分类器负责收集这类信息,选择出现次数最多的类标来标记该样本。 通俗理解 bagging为什么有效:假设有3个分类器,每一个分类器可能会在检测不同的样本时犯错,在该次试验中,一个最多被错分一次,但是如果另外两个分类器给出的标记是正确的,那么结果就是:一个分类器偶然犯的错误会被其他分类器纠正。因此、一定程度上它解决了单个分类器准确率不高的问题。
但是,该思想存在一个严重的问题,就是参与投票的分类器之间的彼此独立的,使用的数据都是随机选择的。我们可以设计一个更为合理更有效的机制,使分类器之间互补。Boosting(提升)的机制就是前面分类器被错分的样本会成为下一轮训练集中的一员的可能性更高,采用了一种基于权重的多数投票机制。
随机深林在bagging的基础上,在决策树训练过程中引入了随机属性选择。传统决策树在选择划分属性的时候是在当前节点属性集合中选择最优属性,而随机深林则是对节点随机选择包含K个属性的子集,K的大小就控制着随机性的程度。
2、GBDT的训练基于Boosting思想,每一轮迭代根据上一轮错误更新样本权重,因此是串行化的方法。
3、XGBoost是GBDT的优化版,优化了损失函数(用泰勒展开式二次逼近),更为精确,而GBDT的直接用的一阶导数。 此外,也对树的结构进行了正则化约束,防止模型过度复杂,从而降低 了过拟合的可能,XGBoost工具支持并行(可参考其官方文档),实际使用过程中,XGBoost有大量参数可以调节,往往能取得比单模型好的效果。

机器学习的一些感悟(一)相关推荐

  1. 外贸乙方推广公司需要什么样的团队?

    1.懂产品, 知道怎么学习分类产品.公司目前系列产品任何一个行业方向了解的.英语不需要特别好()因为各行各业总会有特殊型号字词,不是只会英语就能看懂的),有一点儿语言基础,会分类学产品就行. 2.自主 ...

  2. Interview:算法岗位面试—2019秋招校园招聘—算法工程师【机器学习、深度学习(偏图像)】秋招感悟:初期阶段的傲娇→中期阶段的紧张→后期阶段的蜕变

    ML岗位面试:2019秋招&校园招聘-算法工程师[机器学习.深度学习(偏图像)]秋招感悟:初期阶段的傲娇→中期阶段的紧张→后期阶段的蜕变 Interview:算法岗位面试-2019秋招& ...

  3. 【机器学习基础】数学推导+纯Python实现机器学习算法30:系列总结与感悟

    Python机器学习算法实现 Author:louwill Machine Learning Lab 终于到了最后的总结.从第一篇线性回归的文章开始到现在,已经接近有两年的时间了.当然,也不是纯写这3 ...

  4. 【康奈尔大学】机器学习领域读博这段旅程的一些感悟

    点击上方,选择星标或置顶,不定期资源大放送! 阅读大概需要10分钟 Follow小博主,每天更新前沿干货 作者:Maithra Raghu 编译:ronghuaiyang 一位来自Cornell大学的 ...

  5. A2M人工智能与机器学习创新峰会参会感悟 by江舟

    AI 研习社再前几周的时候,发文说能提供5张2018年A2M人工智能与机器学习创新峰会的门票,机缘巧合下,作为一个小小普通译者,我得到了门票一张,非常开心,于是在上周末(8月25-26日)就去听了下. ...

  6. 机器学习基石(林轩田)第一章 笔记与感悟总结

    第一章学习问题 1.1课程生产 老师观点:从基础学起不要成为机器学习的奴隶. 1.2什么是机器学习 学习是从观察出发,视听嗅觉. 观察 - >学习 - >技能 电脑的观察是资料,然后进行处 ...

  7. 机器学习基石(林轩田)第七章 笔记与感悟总结

    7.1 VC尺寸 - VC尺寸的定义 我们上个周证明了艾因约等于Eout的,即测试的表现和训练的表现相似. 在成长函数在某个地方有break point和N足够大的时候. 意义在于之后介绍的VC维度. ...

  8. 原创推荐!B站最强学习资源汇总(数据科学,机器学习,Python)

    经过这几个月的居家隔离,想必大多数同学都开始习惯通过线上的方式开展学习了,在线教育领域也因此迎来了一波爆发,竞争异常激烈,既有知名平台如MOOC.学堂在线.网易云课堂等,也有不少初创新星.但要说最受年 ...

  9. 认认真真推荐几个机器学习、深度学习公众号

    "三人行,必有我师焉",学习就是要从别人身上学到好的.今天特意给大家推荐10个优质公众号,目前属于活跃度非常高的几个原创公众号,涵盖了python和AI,重点是他们还坚持在原创技术 ...

最新文章

  1. 二值网络--Optimize Deep Convolutional Neural Network with Ternarized Weights and High Accuracy
  2. buffersize越大越好吗_手机运行内存真的越大越好吗?看完长知识了
  3. java 怎么打印变量
  4. WEBTIMER控件研究的心得:丢开书本做一个WebTimer
  5. 最短路算法模板--SPFA
  6. C语言:L1-034 点赞 (20分)(解题报告)
  7. 矩阵论基础知识4——强大的矩阵奇异值分解(SVD)及其应用
  8. 3皮卡丘眨眼代码_活见久,皮卡丘居然是一门编程语言
  9. 设计模式——抽象工厂模式
  10. 日志log4j配置详情,日志log具体到你想不到
  11. html5新增graph,Qunee for HTML5
  12. Linux---解决校园网下VM与Xshell连接问题
  13. centos5.5+NAT+Squid透明代理总结
  14. 安卓模拟器genymotion连接eclipse成功但是不显示其中项目
  15. lintcode,翻转二叉树
  16. CRUISE软件测试工程师,CruiseControl.NET配置
  17. 数据禾|2001年东四盟地区植被类型分布数据
  18. matlab 使用.m文件,matlab 编写M文件(函数)
  19. 贯入用计算机怎样换算,标准贯入试验应用及其杆径换算研究
  20. firefox插件开发和调试

热门文章

  1. 解决idea运行Tomcat项目时网页自动打开test1_Web_exploded文件并且打开其他链接时报错404的问题
  2. pytorch学习之线性拟合
  3. 搜索引擎site关键字的站内搜索
  4. 2018航电多校练习第9场-快速幂
  5. security 二层交换安全
  6. python爬取12306列车信息自动抢票并自动识别验证码(二)selenium登录验证篇
  7. css 一行超出显示省略号 多行超出显示省略号
  8. Code Geass CD入手
  9. HeapCreate()
  10. Webstorm2019,最新激活码【永久】