机器学习总结.docx
- 文档编号:27473558
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:19
- 大小:27.25KB
机器学习总结.docx
《机器学习总结.docx》由会员分享,可在线阅读,更多相关《机器学习总结.docx(19页珍藏版)》请在冰豆网上搜索。
机器学习总结
机器学习总结
篇一:
机器学习总结
目录
前言.................................................................................................................................2
NaiveBayes.......................................................................................................................2
LinearRegression&LogisticRegression................................................................................3
Bias-variancetrade-off&Regularization...............................................................................5
SVM.................................................................................................................................8
Optimization...................................................................................................................13
EM.................................................................................................................................15
MixturesofGaussians...............................................................................................16
ME.................................................................................................................................17
HMM.............................................................................................................................18
MEMM...........................................................................................................................21
CRF................................................................................................................................22
DecisionTree...................................................................................................................23
ID3..........................................................................................................................24
........................................................................................................................24
CART.......................................................................................................................24
ModelTree..............................................................................................................24
ModelCombination.........................................................................................................26
Bagging...................................................................................................................27
RandomForest..................................................................................................28
Boosting..................................................................................................................28
AdaBoost..........................................................................................................28
FeatureSelection.............................................................................................................29
KNN...............................................................................................................................29
KDTree....................................................................................................................30
PCA&SVD......................................................................................................................31
Collaborativefiltering.......................................................................................................33
CFassupervisedlearning...........................................................................................34
CFasmatrixfactorization...........................................................................................35
前言
花了将近四个月时间,终于把机器学习最基本的东西大致过了一遍了,这中间还包括一个多月的时间用于复习数学了(坑爹啊),很久没有花这么大的精力学一样东西了,很高兴的是,在比较深入的去了解后,我还没有对机器学习失去兴趣?
,这至少说明,这个东西是真真正正吸引我的。
这阵子杂七杂八的看了不少东西,为了避免以后全还回去了,我决定一边复习一边写个总结,把这些七七八八的东西都塞一块儿吧。
这里涵盖了绝大多数我学过的机器学习相关的东西,有一些算法可能被我略过去了,比如k-means,层次聚类,Apriori等,冠冕堂皇的原因是这些算法比较简单,相信不那么容易忘记,其实真正的原因是写到最后实在疲了,懒得继续了-_-!
。
我最初对机器学习产生兴趣是源于吴军博士的《数学之美》,不能不说这本书实在是真好,反正我是结结实实的上套了,另外一个比较幸运的事情是,在我刚决定学习机器学习时,正好有一家叫“培乐园”的针对互联网高端技术的培训机构开张了,我也有幸成为了第一批学员,不得不说培乐园在机器学习方面对我的影响和《数学之美》一样巨大,正是蒋龙老师的课程让我了解了机器学习的框架,从而在后面的学习中不至于像无头苍蝇似的到处乱撞,另外,AndrewNg和龙星计划的机器学习课程对我帮助也都非常的大,感谢这些无私分享的老师们!
最后,作为机器学习的菜鸟,我只能说,路漫漫其修远兮,努力吧!
Kejun
kjliue@
NaiveBayes
NB是基于贝叶斯定理和条件独立性假设的分类器,贝叶斯定理简单的说就是已知条件概率p和先验概率p的情况下求p的方法,因为有些时候计算p和p比较容易,而计算p很困难,这时候就可以通过贝叶斯定理将困难的问题转化为简单问题解决,从另一个角度看,贝叶斯定理也可以理解为通过生成模型p求解判别模型p的方法,这里就必须提到条件独立性假设了,因为NB是生成模型,也就是对联合概率分布p=p*p建模,由于x的结构一般很复杂,直接建模会很困难,因此几乎所有的生成模型都对x的结构做了一定的假设,NB做的假设是在给定y的前提下,x的各个feature是条件独立的(非常强的假设,也许这就是该分类器名字里naive的来历吧),这样就可以很容易的将p分解为x的各个feature条件概率的乘积。
NB的模型学习采用MLE,这里有一个0概率问题,就是如果训练数据中某个的组合没有出现过的话,所有包含该feature的x属于类y概率会变为0,这显然不合理,一种
最简单的平滑方式是Laplace平滑(即+1平滑,分子加1,分母加上分子可能取值的个数),这样平滑后的p仍然是一个概率分布,或者可以引入一些先验知识,比如,采用如下的公式:
/count+weight,这里weight和assumedprob对应的是先验知识,而count是训练样本总数,prob是调整前的条件概率p。
对条件概率p的估计,当feature取值为离散值时,只需要简单的统计训练样本中的频率即可,当feature取值为连续值时,有两种处理方案:
1、计算给定y时feature的均值和方差,得到概率密度。
2、将连续值切分为多个区间,也就是将特征离散化,这样估计方法就和离散值一样了。
NB有很多优点,训练简单,模型易于解释,不容易overfitting,在小数据集上也能工作的相当不错,缺点就是条件独立性假设似乎过强了一些,导致精度可能没有其它分类器高。
LinearRegression&LogisticRegression
LinearRegression其实就是用一条函数曲线去拟合一组数据,Regression中文翻译叫“回归”,关于这个名字,我觉得培乐园的蒋龙老师解释的非常好,数据的内在规律就像是一股力量,拉动着我们拟合的函数曲线“回归”到正确的位置。
LinearRegression的基本形式是y=wx+b,这里的Linear应该是指对w的Linear,对于x,我们可以做变换,比如添加高次feature,就可以拟合非线性的情况,因此,对于原始输入x,方程未必是线性的。
关于在LinearRegression中如何添加feature来拟合非线性情况,这就是一个很有技术含量的活儿了(至少我不懂),听说过什么featurelearning啥的,以后再看吧,另外还有一种思路就是做特征离散化,我的理解就是将连续值的feature打散成许多小区间(和前面NB处理连续feature的一种思路差不多),通过这种方式,可能我们就不需要费劲的去发掘高次feature了?
LinearRegression的lostfunction是关于w的二次函数,通过gradientdescend或者quasinewtonmethod的lbfgs等方法可以得到全局最优解,当feature数量不是非常大时,也可以用最小二乘法求解:
这里解释下最小二乘法(不得不提下,要不最近线代就白复习了),其实,最初我们想解的是这个方程:
Ax=b(这里x是前面的theta/w),但由于这个方程一般无解(一般m很大,n很小,再加上有噪声,所以无解),无解的原因是因为b不在矩阵A的列空间中,如果我们能把b映射到矩阵A的列空间中,显然这个方程就有解了,那么,怎么映射呢?
在满足最小平方误差的情况下,答案显然是将b投影到A的列空间中,这样,b和投影向量的差的长度最小,自然就满足了最小平方误差(A’=0,也就是b减去它在A的列空间的投影应该和A的每一个列向量垂直)。
关于最小二乘法的另一个问题是,A’A可能不可逆,出现这个问题有两种可能,1、A的某些
,
列是完全线性相关的,2、m小于n。
解决这个问题的方法是加入L2regularization,这时求解theta的式子就变成了
一举两得,我喜欢?
。
,另外还顺带解决了overfitting的问题,真是
在使用gradientdescend或者quasinewtonmethod求解w时,有几个点我想提一下:
1、meannormalization,在训练前对每个feature的值做/s,这里μ是均值,s是标准
差,通过这种方式可以使各个feature的值域类似,这样lostfunction的等高线会更“圆”,收敛会更快。
2、关于learningrateα,对于α的取值,太大会导致震荡,无法收敛,太小会导致收敛过
慢,因此我们需要通过多次实验来取一个合适的值,另外对于gradientdescend,和quasinewtonmethod不同的是,learningrateα不需要做动态调整,保持一个固定值即可。
3、除了batchgradientdescend外,还有一种StochasticGradientDescent的方法,这种方法
和batchgradientdescend的区别是,每次只使用1条或者若干条样本进行训练,该方法不保证每次迭代lostfunction都变小,但是最终一定能收敛到全局最优值附近,非常适合大数据情况下的模型训练(属于onlinelearning),StochasticGradientDescent有时候会有periodicvariation,一个解决办法是动态调整α,比如设置α=4/+,另外一个要注意的地方就是在每轮迭代时对训练样本做随机排序。
关于LinearRegression中的参数项b,它的一个作用是,调节误差项的均值,因为对于LinearRegression来说,要求误差项是均值为0的高斯分布,这时候b就刚好可以做这个调节。
另外,估计误差项的方差时,我们采用如下的公式:
,这里的p是feature个数,这也说明了,模型总是倾向于overfitting的,而且当feature越多时,越容易overfitting。
想提下的还有Locallyweightedlinearregression,从名字可以看出,它就是加上了权重的LinearRegression,那么权重怎么计算呢?
简单的说就是,离待预测的点越近权重越大,否则越小,而且权重的衰减呈高斯分布,lostfunction是:
,权重是:
,采用最小二乘法的计算公式是:
pinvX’Wy(这里W是一个对角
矩阵),这应该算是一种无参数方法吧,有点像KNN,缺点就是,每来一个待预测的数据,都得重新train一个model。
这里还想记下的一个问题是,训练一个模型需要多少数据究竟是由什么因素决定的?
比如,两个LinearRegression模型的参数个数一样,那它们训练需要的数据一定是一样多吗?
是不是还和数据的分布有关呢?
这个问题我也没想清楚,可能得等了解learningtheory以后再说吧。
接下来说LogisticRegression,LogisticRegression其实就是在LinearRegression上套了一个Sigmoidfunction,但是这两个模型的作用就完全不一样了,LinearRegression主要用于预测连续值,用于回归问题,而LogisticRegression主要用于预测0-1值,用于分类,且输出的是概率值(属于概率模型,这点和svm不一样)。
一个有意思的事情是,log/p)=wx,这个值叫做几率,解释了wx的含义。
LinearRegression的学习采用log最大似然估计,
的是,对其求导后,梯度函数
它们俩的h完全不同了哦)。
,有趣外形和LinearRegression十分相似(注意,
Bias-variancetrade-off&Regularization
这应该是初学机器学习最重要的两个问题了,放在一起说吧。
当我们做模型训练时,数据一般分为trainingset和testingset,训练的目标有两个:
1、模型能良好的拟合trainingset。
2、模型在testingset上的表现应该和trainingset接近。
先上图:
结合该图可以看出,当bias较大(模型比较简单)时,模型在trainingset和testingset上的表现都很差,但此时两者比较接近,这就是underfitting,而当variance较大(模型比较复杂)时,模型在trainingset上表现很好,而在testingset上表现很差,这就是overfitting,因此,我们需要在bias和variance上做一个权衡,以期获得最好的模型,这就是crossvalidation的意义。
在这里模型复杂度不单单指模型本身,而是O,d是模型的参数空间,n是训练样本数,所以,即使模型参数非常多,但如果训练样本也非常多,这个模型的variance也会很小,所以,variance过大(overfitting)的问题总能通过增加训练样本解决。
最后,再附两张bias和variance的经典图,第一张是highbias,第二张是highvariance。
篇二:
机器学习算法优缺点改进总结
Lecture1IntroductiontoSupervisedLearning
(1)ExpectatinMaximizationAlgorithm
(2)LinearRegressionAlgorithm
(3)LocalWeightedRegression
(4)k-NearestNeighborAlgorithmforRegression
(5)LinearClassifier
(6)PerceptronAlgorithm
(7)FisherDiscriminantAnalysisorLinearDiscriminantAnalysis
(8)k-NNAlgorithmforClassifier
(9)BayesianDecisionMethod
Lecture2Feed-forwardNeuralNetworksandBPAlgorithm
(1)MultilayerPerceptron
(2)BPAlgorithm
Lecture3RudimentsofSupportVectorMachine
(1)SupportVectorMachine(此算法是重点,必考题)
此处有一道必考题
Lecture4IntroductiontoDecisionRuleMining
(1)DecisionTreeAlgorithm
(2)ID3Algorithm
(3)Algorithm
(4)粗糙集……
Lecture5ClassifierAssessmentandEnsembleMethods
(1)Bagging
(2)Booting
(3)Adaboosting
Lecture6IntroductiontoAssociationRuleMining
(1)AprioriAlgorithms
(2)FP-treeAlgorithms
Lecture7IntroductiontoCusteringAnalysis
(1)k-meansAlgorithms
(2)fuzzyc-meansAlgorithms
(3)k-modeAlgorithms
(4)DBSCANAlgorithms
Lecture8BasicsofFeatureSelection
(1)ReliefAlgorithms
(2)ReliefFAlgorithms
(3)mRMRAlgorithms最小冗余最大相关算法
(4)attributereductionAlgorithms
比较了几种分类算法性质。
(以下两个表格来自两篇该领域经典论文)
Lecture1Introductiont
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机器 学习 总结