admin管理员组

文章数量:1547453

前言:基于人大的《数据科学概论》第五章,数据的深度分析(数据挖掘、机器学习)。主要是机器学习与数据挖掘、具体的算法、主流工具、特征选择的内容。

文章目录

    • 一、机器学习与数据挖掘
      • (1)什么是机器学习?
        • 1、机器学习和人工智能紧密关联
      • (2)什么是数据挖掘?
      • (3)机器学习的目的
      • (4)机器学习的基本过程
      • (5)监督、非监督、半监督学习
    • 二、具体的机器学习算法
      • 2.1决策树
        • (1)决策树构造过程
        • (2)决策树的裁剪
      • 2.2聚类分析K-means算法
        • K-means算法的缺点
      • 2.3分类算法支持向量机SVM
        • 1、二维空间(即平面)数据点的分类
        • 2、支持向量
        • 3、核函数技巧
        • 4、异常值的处理
        • 5、支持向量回归及其特点
      • 2.4关联规则分析
        • (1)Apriori算法
      • 2.5、EM算法(Expectation-Maximization)算法
        • (1)一个栗子
        • (2)EM算法实例
      • 2.6、协同过滤推荐算法(Collaborative Filtering Recommendation)
        • 对推荐系统进行分类:
        • (1)基于内容的推荐
        • (2)基于人口统计学的推荐机制
        • (3)基于协同过滤的推荐
          • 1、基于用户(User-Based)的协同过滤推荐
          • 2、基于项目(Item-based)的协同过滤推荐
          • 3、基于模型(Model-based)的协同过滤推荐
        • 基于协同过滤推荐机制的优势:
        • 基于协同过滤推荐的一些问题:
      • 2.7、KNN(K邻近)算法
        • 具体过程:
        • 优点:
      • 2.8、朴素贝叶斯(Bayes(Naive Bayes))算法
        • 1、贝叶斯定理
        • 2、朴素贝叶斯分类
        • 3、贝叶斯分类实例
      • 2.9、AdaBoost算法
        • (1)整个AdaBoost迭代算法的主要三个步骤:
        • (2)AdaBoost算法思想
        • (3)AdaBoost算法的特点
        • (4)AdaBoost算法的应用
        • (5)AdaBoost算法的实例
      • 2.10线性回归、Logistic回归
        • (1)线性回归与多元线性回归
        • (2)多元线性回归模型的检验
          • 1、拟合优度检验
          • 2、回归方程显著性检验
          • 3、回归系数的显著性检验
        • (3)共线性检验
        • (4)自变量筛选法
          • 1、前向筛选法
          • 2、后向筛选法
          • 3、逐步筛选法
        • (5)Logistic回归
          • 欠拟合和过拟合
      • 2.11神经网络与深度学习(Neural Network and Deep Learning)
        • 1、神经元(感知机)
        • 2、带一个隐藏层的简单神经网络
        • 3、前向传播
        • 4、反向传播(Back Propagation)训练方法
        • 5、神经网络小结
        • 6、深度学习
          • 1、深度学习能够流行起来的原因
          • 2、深度学习例子
          • 3、深度学习可以自动识别样本的特征
          • 4、与传统的浅层学习对比
          • 5、深度学习的应用
          • 6、深度学习的局限性
        • 7、深度神经网络的基础模块和网络模块
          • (1)Autoencoder(自动编码器)
          • (2)Restricted Boltzmann Machines(RBM,受限玻尔兹曼机)
          • (3)堆叠的自动编码器(Stacked Autoencoders)
          • (5)深度信念网络(DBN,Deep Belief Network )
          • (6)卷积神经网络(CNN,Convolution Neural Network)
          • (7)循环神经网络(Recurrent Neural Network)
          • (8)双向RNN(Bidirectional Recurrent Neural Network,BRNN)
          • (9)LSTM(Long Short Term Memory)网络
          • (10)双向LSTM结构
    • 三、主流数据深度分析工具
    • 四、特征选择
      • 1、简说
      • 2、方法
        • (1)信息增益法
        • (2)卡方检验法
        • (3)互信息法
    • 四、特征选择
      • 1、简说
      • 2、方法
        • (1)信息增益法
        • (2)卡方检验法
        • (3)互信息法

一、机器学习与数据挖掘

**简说:**从基础数据计算一些聚集统计量(Aggregations),生成报表(Reports),观察同比/环比的变化,以及通过数据透视表(Pivotal Table),从不同维度观察数据的汇总信息,只能算是对数据的简单分析。

  • 要从数据里挖掘和提取隐含的模式和规律,简单分析是无能为力的。我们需要在数据上运行更加复杂的算法。这些算法主要是机器学习和数据挖掘算法。

(1)什么是机器学习?

  • 从广义上来说,机器学习是一种能够赋予机器学习的能力,让他完成直接编程无法完成的功能的方法。
  • 但从实践上来说,机器学习是一种通过利用数据,训练处模型,然后使用模型预测的一种方法。
  • 由此可见,数据对于机器学习的意义,可以说数据是原材料,机器学习是加工工具,模型是产品。我们可以利用这个产品做预测,指导未来的决策。
1、机器学习和人工智能紧密关联
  • 人工智能研究的联接主义(如神经网络)和符号主义(如符号推理系统)

(2)什么是数据挖掘?

数据挖掘,可以认为是机器学习算法在数据库上的应用,很多数据挖掘中的算法是机器学习算法在数据库中的优化。

但是,数据挖掘能够形成自己的学术圈,是因为它也贡献了独特的算法,其中最著名的是关联规则分析方法Apriori

(3)机器学习的目的

机器学习的目的是分类预测。所谓的分类是根据输入数据,判断这些数据隶属于哪个类别(Category)。而预测则是根据输入数据,计算一个输出值(Numeric)。输入数据一般为一个向量,也称为特征(Feature),输出则是一个分类或者一个数值。

(4)机器学习的基本过程

机器学习的基本过程是用训练数据(包含输入数据和预期输出的分类或者数值)训练一个模型(Model),利用这个模型,就可以对新的实例数据(Instances)进行分类和计算一个预测值。

(5)监督、非监督、半监督学习

  • 监督学习是机器学习的一种类别,训练数据由输入特征(features)和预期的输出构成,输出可以是一个连续的值(称为回归分析),或者是一个分类的类别标签(称为分类)。
  • 无监督学习与监督学习的区别是,它没有训练样本,直接对数据进行建模。
  • 半监督学习,是监督学习与无监督学习相结合的一种学习方法。它研究如何利用少量的标注样本和大量的未标注样本进行训练和预测的问题。半监督学习包括半监督分类、半监督回归、半监督聚类和半监督降维算法。

二、具体的机器学习算法

2.1决策树

定义在机器学习中,决策树是一个预测模型,它表示对象属性(比如贷款用户的年龄、是否有工作、是否有房产、信用评分等)和对象值(是否批准其贷款申请)之间的一种映射。决策树中的非叶子节点,表示用户对象属性的判断条件,其分支表示符合节点条件的所有对象,树的叶子节点表示对象所属的预测结果。

(1)决策树构造过程
  • 决策树的创建从根节点开始,也就是需要确定一个属性,根据不同记录在该属性上的取值,对所有记录进行划分。接下来,对每个分支重复这个过程,即对每个分支,选择一个另外一个未参与树的创建的属性,继续对样本进行划分,一直到某个分支上的样本都属于同一类(或者隶属该路径的样本大部分属于同一类)
  • 属性的选择也称为特征选择,特征选择的目标,是使得分类后的数据集比较纯。
  • 其中一个应用广泛的度量函数,是信息增益(Information Gain)
(2)决策树的裁剪

在决策树建立的过程中,很容易出现过拟合的现象(Overfitting)

  • 过拟合是指模型非常逼近训练样本,模型是在训练样本上训练出来的,在训练样本上预测的准确率很高,但是对测试样本的预测准确率不高,效果并不好(有不必要的属性)。
  • 剪枝分为预先剪枝后剪枝两种情况。
    • 预先剪枝指的是在决策树构造过程中,使用一定条件加以限制,在产生完全拟合的决策树之前就停止生长。
    • 后剪枝是在决策树构造完成之后,也就是所有的训练样本都可以用决策树划分到不同子类以后,按照自底向上的方向,修建决策树。
  • 使得模型不要过于复杂。

2.2聚类分析K-means算法

K-means算法是最简单的一种聚类算法,属于无监督学习算法。

  • 假设我们的样本是{x(1),x(2),…,x(m)},每个x(i) 属于R^n。现在用户给定一个K值,要求将样本聚类(CLustering)成K个类簇(Cluster)。

K-means算法的缺点
  1. K-means算法中K是事先给定的,一个适合的K值难以估计
  2. 在K-means算法中,首先需要根据初始类簇中心来确定一个初始划分,然后对初始划分进行优化。这个初始类簇中心的选择,对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类效果。可以使用遗传算法(Genetic Algorithm),帮助选择合适的初始类簇中心。
  3. 算法需要不断进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大的。

2.3分类算法支持向量机SVM

  • 支持向量机由Boser、Guyon、Vapnik等,在1992年的ACM Conference on Computational Learning Theory(COLT)会议上提出。从那以后,支持向量机以其在解决小样本非线性、以及高维模式识别中,表现出来的特有优势,获得广泛的应用。其应用领域包括文本分类、图像识别等。
1、二维空间(即平面)数据点的分类

通过一个二维平面上的简单分类,来介绍支持向量机分类技术。

2、支持向量
  • 我们寻找分类函数 y = f(x) = w^t x+b,超平面上的点代入这个分类函数,得到f(x) =0;超平面一边的数据点代入分类函数,得到f(x) =1 ;超平面另外一边的数据点代入分类函数,得到f(x) = -1.在二维平面上,这个分类函数对应一根直线y=f(x) = ax+b
  • 如何确定W和b呢?答案是寻找一个超平面,它到两个类别数据点的距离都尽可能大。这样的超平面为最优的超平面。


3、核函数技巧
  • 有时候两个数据点集,在低维空间中,我们无法找到一个超平面来进行清清晰的划分,如图中额的二维平面上的两类数据点,找不到一根直线把他们划分开。SVM数据分析方法里,有一个核函数(Kernel Function)技巧,可以巧妙地解决这个问题。通过核函数,可以把低维空间的数据点(向量)映射到高维空间的数据点,经过映射以后,两类数据点在高维空间里,可以有一个超平面把他们分开。


4、异常值的处理
  • 超平面本身是由少数几个支持向量(Support Vector)确定的,未考虑Outline(离群值,异常值)的影响。
  • 这个问题,通过在模型中引入**松弛变量**(Relax Variable)来解决,松弛变量是为了纠正或约束少量“不安分”或脱离集体不好归类的数据点的因子。
  • 支持向量机不仅能够处理线性分类,能够处理数据中的非线性(使用核函数)、容忍异常值(使用松弛变量),是一个强大的分类器。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-NLKuHZtD-1609316416847)(image-20201226120241362.png)]

5、支持向量回归及其特点


支持向量回归的特点

  • 可以把非线性函数f(x),看作是多维空间的一条曲线,训练数据点分布在这个曲线周围,形成一个“管道”。所有训练数据点,只有分布在“管道”壁上的那些训练数据点,才决定管道的位置。于是这些训练数据点,就称为“支持向量”。
  • 具体到二维平面空间,SVM的目的是通过一条直线,尽量把两类数据点分开。而**SVR则通过一个管道,尽量把数据点都囊括进来。**

2.4关联规则分析

简说关联规则分析,最典型的例子是购物篮分析。通过关联规则分析,能够发现顾客每次购物交易的购物篮中的不同商品之间的关联,从而了解客户的消费习惯,让商家能够了解哪些商品被客户同时购买,从而帮助他们制定更好的营销方案。

  • 关联规则是形如X->Y的蕴含式,表示通过X可以’推导出“ Y,X称为关联规则的左部(Hand Side ,LHS),Y称为关联规则的右部(Right Hand Side,RHS)。在购物篮分析结果里,“尿布->啤酒”表示客户在购买尿布的同时,有很大的可能性购买啤酒。
  • 关联规则有两个指标,分别是支持度(Support)和置信度(Confidence)。
  • 关联规则A->B的支持度support = P(AB),指的是事件A和事件B同时发生的概率。
  • 置信度confidence = P(B|A)= P(AB)/P(A),指的是是发生事件A的基础上,发生事件B的概率。
    • 比如,如果“尿布->啤酒”,关联规则的支持度为30%,置信度为60%,那么就表示所有的商品交易中,30%交易同时购买了尿布和啤酒,而在购买尿布的交易中,60%的交易同时购买了啤酒。
(1)Apriori算法

挖掘关联规则的主流算法为Apriori 算法。他的基本原理是,在数据集中找出同时出现概率符合预定义(Pre-defined)支持度的频繁项集,而后从以上频繁项集中,找出符合预定义置信度的关联规则。

  • 下面的实例中,我们的目标是,从这些数据中,挖掘出用户观看电影的关联规则,即购票观看某部(几部)电影的用户中,有多少比例会去购票观看其它哪些电影。

频繁1项集为:

频繁2项集为:

  1. 购票观看“sixth sense "的用户中,有83%会购票观看 ”Gladiator“,而同时购票观看这两部电影的用户占50%。
  2. 购票观看“Gladiator”的用户中,有85.7%会观看“Patriot”,而同时购票观看这两部电影的用户占60%。
  3. 购票观看“patriot”的用户中,100%同时也会购票观看“Gladiator”,而同时购票观看这两部电影的用户占60%。

2.5、EM算法(Expectation-Maximization)算法

EM(最大期望)算法,是在概率模型(Probability Distribution Model)中,寻找参数的最大似然

本文标签: 数据概论深度数据挖掘机器