第一章机器学习基础
一、机器学习怎么做(流程)
1、明确数据分析目标:应用机器学习解决实际问题,是机器学习首要的重要步骤,该步骤需要与用户进行充分的沟通。
2、数据收集:a.收集相关的数据(内部业务系统的数据、外部数据)
b.外部数据可以通过网络爬虫、购买或交易方式获得。
c.充足、全面的高质量数据是机器学习的基础。
d.数据要有代表性并尽量覆盖领域,否则容易出现过拟合或欠拟合。
3、数据预处理:原因:a.数据可能存在着噪声、不一致、异常、个人隐私保护等各类问题。
二、机器学习常用算法
机器学习算法是一类通过自动分析从数据中获得规律,并利用规律对未知数据进行预测的算法,可以分成有监督学习、无监督学习、强化学习等类别。
(一)、有监督学习是从有标记(注)的训练数据中学习一个模型,然后根据这个楼型对未知
样本进行预测。
(二)、无监督学习又称为非监督学习,它的输入样本并不需要标记,而是自动从样本中学习
特征实现预测。
(三)、强化学习是通过观察来学习做什么样的动作。
算法的分类
1、分类算法:a.回归分析是分析一个变量与其他一个(或几个)变量之间的相关关系的统计方法。 b.分类就是通过分析训练集中的数据,为每个类别做出准确的描述或建立分析模型或挖掘出分类规则,然后用这个分类规则对其它数据对象进行分类。
c.决策树、支持向量机、神经网络、贝叶斯网络、Bayes网络、k-最近邻(SVM、KNM)等是几种常用的分类方法。
2、神经网络:a.传统的神经网络为BP神经网络,基本网络结构为输入层、隐藏层和输出层,节点代表神经元,边代表权重值,对输入值按照权重和偏置计算后将结果传给下一层,通过不断的训练修正权重和偏置。递归神经网络(RNN)、卷积神经网络(CNN)都在神经网络在深度学习上的变种。
b.神经网络的训练主要包括前向传输和反向传播。
c.神经网络的结果准确性与训练集的样本数量和分类质量有关。
d.神经网络是基于历史数据构建的分析模型,新数据产生时需要动态优化网络的结构和参数
3、聚类算法:a.聚类分析是把一个给定的数据对象(样本集合分成不同的簇(组)。
b.聚类就是把整个数据分成不同的组,并使组与组之间的差距尽可大,组内数据的差异尽可能小。 c.K-means是一种常用的聚类算法,用户指定聚类的类别数K,随机地选择K个对象作为K个初 始聚类中心。对剩余的每个对象,分别计算 与初始聚类中心的距离,根据距离划到不同 的簇。然后重新计算每个簇的平均值,求出新的聚类中心,再重新聚类。这个过程不断重复,直到收敛(相邻两次计算的聚类中心相同)。
d.聚类是基于无监督学习的分类模型,按照数据内在结构特征进行聚集形成簇群。
e.聚类与分类的主要区别:有无标签(监督学习与无监督学习的区别)。
f.聚类首先选择有效特征向量,然后按照距离函数进行相似度计算。
4、深度学习
5.回归分析:a.回归分析是一种研究自变量和因变量之间关系 的预测模型,用于分析当自变量发生变化时,因变量的变化值
b.回归分析可以用于定性预测分析和定量分析各变量间的相关关系
7、关联分析:a. 关联分析(Associative Analysis )通过对数据集中某些属性同时出现的规律和模式来发现其中的属性间的关联、相关、因果等关系,典型应用是购物篮分析。
b.关联分析包括Apriori算法和FP-Growth算法。
c.Apriori 算法的基本思想是先找出所有的频繁项集,然后由频繁项集产生强关联规则,这些规则必须满足最小支持度和最小置信度。 算法要多次扫描样本集,需要由候选频繁项集生成频繁项集。
d.FP-Growth算法是基于FP树生成频繁项集的,算法只扫描两次数据集,且不使用候选项集,直接按照支持度构造出一个频繁模式树,用这棵树生成关联规则。
三、分布式机器学习
工具和框架:a.Apache Spark MLlib:基于内存的DML框架,提供了传统机器学习算法的分布式实现。
b. GraphLab和Apache Spark GraphX:图并行计算平台,提供了可扩展的机器学习工具包。 c.DMTK:微软发布的DML工具包,支持数据并行化的统一接口等。
四、数据挖掘常用算法
五、数据质量问题与预处理
数据量较少
数据量过多
异常数据
异常数据分为错误的数据和小概率事件(又称稀有事件)两类
对错误数据,需要将其剔除或修正
对稀有事件,如信用卡欺诈行为、垃圾邮件,需要重点分析其特征
六、数据分析常见陷阱
1、错误理解相关关系 :
a.事物间的相关性并不意味着存在因果关系,或者有可能其因果关系颠倒了
b.需要深入理解业务,规避大部分错误
c.需要分析是否由第三方变量同时引起两种变量的变化,找出其原因
第二章机器学习基本方法
一、统计分析的基本概念
统计学习的定义
1、统计学习基于数据分布:统计学习理论强调从数据中学习,通过估计数据的概率分布来构建预测模型,实现知识发现。
2、样本规模影响模型精度:较大的样本规模能够提供更的信息,使得学习到的模型更为准确和泛化能力强。
3、偏差与方差权衡重要:统计学习中偏差表示模型的准确性,方差反映模型的稳定性,合适的权衡是提高模型性能的关键。
4、正则化避免过拟合:通过添加正则化项到模型的习目标中,可以减少模型的复杂度,从而避免模型在训练数据上过度拟合。
生成模型和判别模型
1、生成模型如:朴素贝叶斯、隐马尔科夫模型等,通过学习数据的联合概率分布来生成新数据,能揭示数据间的内在关系。决策边界。
2、判别模型如:支持向量机、逻辑回归等,直接学习不同类别间的最优决策边界,对分类问题高效且准确。
3、生成模型适用于数据生成、异常检测等场景,而判别模型在分类任务中表现优越,具体选择需基于数据特性和任务需求。
二、统计学习方法三要素
(一)、模型
1、数据决定模型上限:在机器学习中,数据的丰富性和质量直接影响统计学习模型的性能上限。高质量数据能训练出更准确的模型。
2、算法优化模型性能:统计学习算法的选择和优化对于提升模型性能至关重要。合适的算法能更有效地从数据中提取特征,提升预测精度。
(二)、策略
1、策略选择影响模型性能:在机器学习中,策略的选择直接关系到模型泛化能力的高低。合理选择训练算法、参数调整和评估准则能有效提升模型性能。
2、数据分布影响策略有效性:统计学习理论表明,数据的真实分布影响学习策略的有效性。适应数据分布的策略能够减少过拟合,提高模型的准确性。
3、特征选择优化策略表现:策略实施前的特征选择能够显著降低数据的维度,选择有信息量的特征可以显著提升机器学习策略的性能表现。
(三)、算法
1、统计学习算法的重要性:统计学习算法是机器学习的基石,通过数据驱动,自动学习数据中的模式和规律,实现智能化预测和决策。
2、算法复杂性与过拟合:随着算法复杂性的增加,虽能拟合更复杂的数据,但过拟合风险也增大,导致泛化能力下降,需通过正则化等技术平衡。
3、数据量与算法性能:大数据时代,充足的数据能够支持更复杂算法的训练,提升模型的准确率和鲁棒性。
4、非参数方法与泛化能力:非参数方法如核方法和隨机森林等,因其不依赖数据分布假设,展现出强大的泛化能力和适应性。
三、模型假设与验证
模型的假设条件
1.模型假设的重要性:在机器学习中,模型假设是预测准确性的基石。例如,线性回归假设变量间存在线性关系,通过数据验证假设,可确保模型的有效应用。
2.数据分布影响假设:模型假设需符合实际数据分布,如支持向量机假设数据在高维空间可分,数据分布的多样性直接影响假设的合理性。
3.交叉验证验证假设:通过交叉验证技术如K折交叉验证,可以评估模型假设在不同数据集上的泛化能力,确保模型假设的稳健性。
交叉验证的原理
四、模型评估与选择
(一)、经验误差与过拟合
1.交叉验证避免过拟合:交叉验证通过多次分割数据训练和测试模型,有效评估模型的泛化能力,避免选择过度拟合训练数据的模型。
2.准确性与泛化性平衡:在模型评估中,我们追求的是不仅在训练集上表现良好,更要在未知数据上保持准确,实现准确性与泛化性的最佳平衡。
3.ROC曲线全面评估:ROC曲线综合考虑了不同分类阈值下的真正例率和假正例率,是评估二分类模型性能的全面工具。