前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布

Finale

作者头像
西红柿炒鸡蛋
发布2018-09-07 16:56:30
3980
发布2018-09-07 16:56:30
举报
文章被收录于专栏:自学笔记自学笔记

Feature Exploitation Techniques

这几篇博客介绍的第一个feature transform方法就是kernel。kernel先出现是在SVM里面,原因就是为了减少 內积计算的复杂度,把特征转换和內积计算结合到一起。特征转换其实也是一种特征的提取。介绍过的kernel:polynomial kernel,Gaussion kernel,stump kernel。另外,不同的kernel相加或者是相乘做uniform或者是combination可以提取更加复杂的特征,比如Network。但是使用kernel是需要满足Mercer条件的,对称半正定。不同的kernel可以搭配不同的模型,SVM,SVR,probability SVM,或者是kernel ridge regression等等。之前学过的PCA,kmean这些算法都包括了內积的计算,所以它们各自也有对应的kernel函数,比如之前使用的Kmean是用的高斯距离,那么kernel就是Gaussion kernel了。

kernel是使用的第一种特征转换的方法,第二种方法就是aggregation了,之前介绍的所有的hypothesis都可以看做是一种特征转换,比如之前学过的decision tree,RBF Network。如果g是已知的,那我们可以把它们进行uniform的组合,non-uniform和conditional组合。如果g是未知的,那么我们就可以使用bagging或者Adaboost来建立模型。

其实就是总结了一下aggregation model。特征转换是一种寻找特征的方法,特征提取是另外学习到的,提取出隐藏的特征,hidden feature。一般通过unsupervised learning,从原始数据中提取特征,有点像生成模型,先摸清楚数据的情况分布特点,再进行模型的建立。比如:聚类算法,kmeans,mean shfit等等,PCA都是。

另外还有一种就是维度的压缩了,其实有点像特征提取,因为维度压缩其实就是先看看哪一个特征重要,然后把重要的特征留下了,不重要的去掉,比较有代表性的就是PCA,autoencode,matrix factorization,这种方法可以把数据从高纬度降到低纬度是很有用的。

顺带提一下,decision stump是遍历所有的维度看看哪一个维度分开的purity是最小的,random forest可以进行特征的重要性选择,通常也是随机选择一两个或者是做OOB特征重要性选择得到重要的特征。 总结一下特征处理的方法: 特征转换:可以使用kernel,aggregation 特征提取:matrix factorization,autoencode 降维:PCA,autoencode

Error Optimization Techniques

对于Ein的优化,首先第一个就是梯度下降或者是梯度上升,这两个方法都是比较常用的一次逼近方法,SGD、Steepest Descent和Functional GD都是利用了梯度下降的技巧。

除了梯度下降,还有一些是做不了的,比如SVM的dual problem和α的求解,都是需要数学上的一些推导和技巧来转换成其他形式之后再处理。

如果原始问题比较复杂,可以拆分求解,拆分成多个子问题进行求解,比如multi-stage。另外也可以使用交叉迭代,matrix factorization的优化方法就是一种。刚刚拆分子问题的也就是分而治之的方法就是decision tree了。

最后再来探讨一下梯度下降方法,梯度下降是一次逼近的方法,意味着他只是求了一次导数,也就是Taylor展开一次,它的视野就只能看到一阶的地方,所以他选取的方向就是一阶的方向而已。对于另外一种optimization 方法牛顿法就不太一样。牛顿法的是二次逼近,意味着牛顿法它看的更加远,看的是再二次导数的地方哪个是最远的,当然牛顿法也可以Taylor三次展开,但是一般都是二次了,所以牛顿法比梯度下降迭代的更加快,因为它看的更加远,走的就更加稳。

Overfitting Elimination Techniques

Feature Exploitation Techniques和Error Optimization Techniques都是为了优化复杂模型减小Ein,但是Ein过小就会造成overfitting的问题。因此机器学习中过拟合的处理是非常重要的。 处理过拟合的方法之前介绍过:large margin,regularization,voting。

除了上面提到的方法,还可以使用validation来处理

这个章节的东西比较少,也没有什么代码,是看机器学习技法课程最后一张总结的了,最后贴一下十大data mining算法:

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.07.31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Feature Exploitation Techniques
  • Error Optimization Techniques
  • Overfitting Elimination Techniques
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档