机器学习与模式识别学习总结

引自:http://blog.csdn.net/zbc1090549839/article/details/45047377

有幸用最近两个月的业余时间把”统计机器学习”一书粗略的学习了一遍,同时结合“模式识别”、“数据挖掘概念与技术”的知识点,对机器学习的一些知识结构进行梳理与总结:

机器学习包括两个主要问题1、学习什么,2、怎么学习。

首先来梳理一下学习什么

一、学习什么

1.        要解决什么问题?机器学习中主要解决以下三类问题:

a)        监督学习问题:给定输入输出集(即人工标记的样本集合),使用这一数据集对某一选定的模型进行训练,训练得到的模型能够对新的输入预测其输出。具体的预测任务包括分类问题、标注问题及回归问题。
b)        半监督学习问题:使用部分人工标记的样本和部分未人工标记的样本组成的样本集对模型进行训练,训练得到的模型能够对新的输入预测其输出。
c)        非监督学习问题:对未经过人工标记的样本进行学习,以发现数据中的结构性知识。聚类分析、关联分析都属于这一类问题。

2.        学习哪种模型:针对具体问题选取切实可行的模型与方案

以下列举了各类学习问题中基本的模型,实际应用中的模型多是在这些基本模型上针对具体的业务要求进行了改进。
标注问题的基本模型包括:隐马尔可夫、条件随机场。
回归问题:神经网络、决策回归树、Logistic回归、以及普通的线性回归模型
b)        半监督问题包括1、自我训练模型:首先使用有类标记的数据进行模型的训练,使用模型对未标记的数据进行标记,选取最有把握的标记的样本加入到训练集合中并再次使用训练集合对模型进行训练,用新的模型对未标记的样本进行标记……如此反复。2、协同训练模型:包含多个子模型,每个子模型对已标记的数据进行学习,使用模型对未标记的数据进行标记并将最有把握的标记加入到已标记的数据集中,新的已标号数据集训练另外一个模型,再次对未标记的数据进行标记,供其他模型学习。在该模式下,一个模型是另外一个模型的老师,多个模型互教互学,故有协同训练这一名称了。
c)        非监督学习问题:其中包括聚类模型和关联分析模型。在关联分析问题中,常见的为频繁模型挖掘(发现数据集中频繁出现的子结构)、关联规则挖掘(购物车商品分析中常使用)。聚类问题中主要从四个方面进行聚类挖掘(1)、基于划分的聚类模型:K均值、K中心点,原理主要是基于属性的相似性进行划分(2)基于层次的聚类模型:主要为凝聚聚类及该方法的逆过程(分裂划分),该方法主要用于形成族群的聚类与划分。(3)基于密度的方法:上述(1)(2)方法的缺点主要是在聚类时难于发现具有任意形状的结构,基于密度的方法则可以克服这一缺点,利用高密度联通区域来识别聚类结构(在图像处理OCR识别中可用于对字符图像进行预处理操作)。(4)基于网格的方法。
a)        监督学习的分类问题使用的生成模型(朴素贝叶斯、神经网络),判别模型(K近邻、感知机、决策树、Logistic回归、SVM、boost等)。

其二,在基本理解问题。选定模型之后,需要解决模型怎么学习的问题:

二、怎么学习

1.        收集数据、预处理数据、提取特征:预处理数据通常需要对缺失值、异常值进行填充或者去除操作,也包括对原始数据进行适当变换(如PCA、ICA、小波变换、FFT等等),也包括对数据格式、大小的转换(如图像处理中将高清图压缩为固定大小、指定格式的图像)。
2.        采用什么算法进行求解并优化模型:不同的模型及求解算法决定了系统学习的成本与时效。常见的优化求解算法包括:梯度下降算法、牛顿法、拟牛顿法、LM算法,及使用拉格朗日对偶性的约束求解算法。在构建模型的过程中根据模型优化准则的不同需要对应的方法(分布参数估算使用极大似然方法、隐变量估算使用EM方法、决策树求解使用信息增益一类的方法等),不同的模型对象其优化准则各有不同,这一过程值得深入学习。同时,为了尽量避免过拟合,通常会在模型之中添加正则化的方法。
3.        模型评估:模型求解完毕之后,需要一定的准则对得到的模型质量进行度量,常用的评估指标包括:准确率、召回率、TP、FN、FP、TN、ROC曲线及面积,交叉验证等,回归问题中也会使用拟合残差、拟合优度进行度量。并不是每个指标都有效,结合自己的业务问题使用合适的指标进行度量才是关键。
 
  

机器学习中的特征工程总结一

俗话说“磨刀不误砍材工”,在机器学习领域,进行特征工程相关的工作就相当于磨刀了。那么,什么是特征工程呢?通俗来讲,特征工程就是为了使模型在未知数据集上获得更好预测精度而对原始数据集进行转换的一系列过程。
特征工程的具体过程则由以下四点决定:
1、评估模型优劣的方法、指标是什么?(RMSE还是AUC等)
2、要解决的问题属于分类问题还是回归问题..
3、具体使用的模型是什么?(决策树、svm还是什么)

4、原始数据的形态?是否抽样、是否为结构化数据?是否进行了数据清理等

 

一、特征提取,从原始数据中自动构造新特征:

通常得到的原始数据,比如音频、图像、文本等,使用列表数据表示时,其原始特征集通常可大数百万维。如此高的维数,怎么将它的维数减小并利于建模,就是特征提取需要做的事情了。特征提取的方法因具体领域而不同,对于列表数据,可以使用PCA、CCA等方法进行降维,提取重要的特征表示;对于图像音频数据,小波分析、傅里叶分析等信号处理领域的一些通用方法都可以借鉴。

二,特征选取,从大量特征中选取有有用的特征:
通常经过特征提取步骤得到的特征量依然较大,在大量特征中,需要识别出哪些特征有利于提高模型质量。一般从一下三方面进行考虑:

1、特征与待解决问题的相关性

2、特征对模型精度的影响

3、特征彼此间存在的冗余性。

从这三个方面考虑后,将一些不必要的特征从特征集中去除,将得到一个更优质的特征集。一些通用的方法包括:

1、使用卡方检验获得特征与待解决问题间的相关性,

2、使用决策树选取分类、回归精度高的特征

3、使用皮尔逊相关系数检验特征间的相关性。去除冗余性。

三,特征构造:由人工从原始数据集中构造出新特征:
原始数据集中存在的部分模式、结构上的信息,需要由人进行总结提取。对应于自动特征提取,这一部分可以称之为人工特征提取。这一部分主要依赖于从业人员的经验、直觉,同时可以借助一些统计工具、指标,进行探索性的提取新特征。能不能有效果,就看机缘和人品了。              

四,特征学习,从原始数据集中自动识别和使用特征:
特征提取,特征选取,特征构造无不依赖于人工 或定义特征 或定义获得特征的方法,同时原始数据集也依赖于人工方式进行转换,特征处理在建模过程中依然是个棘手的问题。目前主要借助深度学习的思路,使用自编码或者受限波尔兹曼机来进行特征提取。

 

总的来说,特征工程怎么做,还是取决于具体的数据和业务,做的好不好在,直接关系到模型的输出效果。

 
 
posted @ 2016-09-13 18:59  Anita-ff  阅读(4119)  评论(0编辑  收藏  举报