[机器学习][理论知识]机器学习概述

1机器学习定义

Machine Learning(ML) is a scientific discipline that deals with the construction and study of algorithms that can learn from data.
机器学习是一门从数据中研究算法的科学学科。
机器学习直白来讲,是根据已有的数据,进行算法选择,并基于算法和数据构建 模型,最终对未来进行预测

2机器学习基本概念

输入: xXx\in X(属性值)
输出:yYy\in Y
获得一个目标函数(target function):

  • f:XYf:X \to Y(理想的公式)
    输入数据:D={(x1,y1),(x2,y2),....,(xn,yn)}D=\{(x_1,y_1),(x_2,y_2),....,(x_n,y_n)\}(历史信息)
    最终具有最优性能的假设公式:
    g:XYg:X\to Y(学习得到的最终式)

  • A program can be said to learn from experience E with respect to some class of tasks T and performance measure P , If its performance at tasks in T, as measured by P, improves with experience E.

  • 对于某给定的任务T,在合理的性能度量方案P的前提下,某计算机程序可以自主学习任 务T的经验E;随着提供合适、优质、大量的经验E,该程序对于任务T的性能逐步提高。

  • 其中重要的机器学习对象:

  • 任务Task T,一个或多个、经验Experience E、度量性能Performance P

  • 即:随着任务的不断执行,经验的累积会带来计算机性能的提升。

算法(T):根据业务需要和数据特征选择的相关算法, 也就是一个数学公式
模型(E):基于数据和算法构建出来的模型
评估/测试§:对模型进行评估的策略
拟合:构建的算法符合给定数据的特征
xiixx^i:表示第i个样本的x向量
xiix_i:向量的第i维度的值
鲁棒性:也就是健壮性、稳健性、强健性,是系统的健壮性;当存在异常数据的 时候,算法也会拟合数据
过拟合:算法太符合样本数据的特征,对于实际生产中的数据特征无法拟合
欠拟合:算法不太符合样本的数据特征

3机器学习实际用途

  • 个性化推荐:个性化指的是根据各种因素来改变用户体验和呈现给用户内容,这 些因素可能包含用户的行为数据和外部因素;推荐常指系统向用户呈现一个用户 可能感兴趣的物品列表。
  • 精准营销:从用户群众中找出特定的要求的营销对象。 客户细分:试图将用户群体分为不同的组,根据给定的用户特征进行客户分组。
  • 预测建模及分析:根据已有的数据进行建模,并使用得到的模型预测未来。

4机器学习、数据分析、数据挖掘区别与联系

  • 数据分析:数据分析是指用适当的统计分析方法对收集的大量数据进行分析,并 提取有用的信息,以及形成结论,从而对数据进行详细的研究和概括过程。在实 际工作中,数据分析可帮助人们做出判断;数据分析一般而言可以分为统计分析、 探索性数据分析和验证性数据分析三大类。
  • 数据挖掘:一般指从大量的数据中通过算法搜索隐藏于其中的信息的过程。通常 通过统计、检索、机器学习、模式匹配等诸多方法来实现这个过程。
  • 机器学习:是数据分析和数据挖掘的一种比较常用、比较好的手段。

5机器学习分类(1)

5.1有监督学习

用已知某种或某些特性的样本作为训练集,以建立一个数学模型,再用已建立的模型来预测未知样本,此种方法被称为有监督学习,是最常用的一种机器学习方法。是从标签化训 练数据集中推断出模型的机器学习任务。

5.1.1判别式模型(Discriminative Model)

直接对条件概率p(y|x)进行建模,常见判别模型有:
线性回归、决策树、支持向量机SVM、k近邻、神经网络等;

5.1.2生成式模型(Generative Model)

对联合分布概率p(x,y)进行建模,常见生成式模型有: 隐马尔可夫模型HMM、朴素贝叶斯模型、高斯混合模型GMM、LDA等;

5.1.3小结

  • 生成式模型更普适;判别式模型更直接,目标性更强
  • 生成式模型关注数据是如何产生的,寻找的是数据分布模型;判别式模型关注的数据的 差异性,寻找的是分类面
  • 由生成式模型可以产生判别式模型,但是由判别式模式没法形成生成式模型

5.2无监督学习

与监督学习相比,无监督学习的训练集中没有人为的标注的结果,在非监督的学习过程中, 数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。
无监督学习试图学习或者提取数据背后的数据特征,或者从数据中抽取出重要的 特征信息,常见的算法有聚类、降维、文本处理(特征抽取)等。
无监督学习一般是作为有监督学习的前期数据处理,功能是从原始数据中抽取出 必要的标签信息。

5.3半监督学习(SSL)

考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题,是有监督学习和无监督学习的结合
主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。 半监督学习对于减少标注代价,提高学习机器性能具有非常重大的实际意义。
SSL的成立依赖于模型假设,主要分为三大类:平滑假设、聚类假设、流行假设; 其中流行假设更具有普片性。
SSL类型的算法主要分为四大类:半监督分类、半监督回归、半监督聚类、半监 督降维。
缺点:抗干扰能力弱,仅适合于实验室环境,其现实意义还没有体现出来;未来 的发展主要是聚焦于新模型假设的产生。

6机器学习分类(2)

6.1分类

通过分类模型,将样本数据集中的样本映射到某个给定的类别中

6.2聚类

通过聚类模型,将样本数据集中的样本分为几个类别,属于同一类别的样本相似性比较大

6.3回归

反映了样本数据集中样本的属性值的特性,通过函数表达样本映射的关系来发现属性值之间的依 赖关系

6.4关联规则

获取隐藏在数据项之间的关联或相互关系,即可以根据一个数据项的出现推导出其他数据项的出 现频率。

7机器学习算法(TOP10)

  • C4.5:分类决策树算法,决策树的核心算法,ID3算法的改进算法。
  • CART:分类与回归树(Classification and Regression Trees)
  • kNN:K近邻分类算法;如果一个样本在特征空间中的k个最相似的样本中大多数属于某一个 类别,那么该样本也属于该类别
  • NaiveBayes:贝叶斯分类模型;该模型比较适合属性相关性比较小的时候,如果属性相关性比较大的 时候,决策树模型比贝叶斯分类模型效果好(原因:贝叶斯模型假设属性之间是互不影 响的)
  • SVM:支持向量机,一种有监督学习的统计学习方法,广泛应用于统计分类和回归分析中。
  • EM:最大期望算法,常用于机器学习和计算机视觉中的数据集聚领域
  • Apriori:关联规则挖掘算法
  • K-Means:聚类算法,功能是将n个对象根据属性特征分为k个分割(k<n); 属于无监督学习
  • PageRank:Google搜索重要算法之一
  • AdaBoost:迭代算法;利用多个分类器进行数据分类

8机器学习、人工智能和深度学习的关系

深度学习是机器学习的子类; 深度学习是基于传统的神经 网络算法发展到多隐层的一 种算法体现。
机器学习是人工智能的一个子类;

9机器学习开发流程

  • 数据收集
  • 数据预处理
  • 特征提取
  • 模型构建
  • 模型测试评估 投入使用(模型部署与整合) 迭代优化

10机器学习可用公开数据集

在实际工作中,我们可以使用业务数据进行机器学习开发,但是在学习过程中, 没有业务数据,此时可以使用公开的数据集进行开发,常用数据集如下:
http://archive.ics.uci.edu/ml/datasets.html
https://aws.amazon.com/cn/public-datasets/
https://www.kaggle.com/competitions
http://www.kdnuggets.com/datasets/index.html http://www.sogou.com/labs/resource/list_pingce.php https://tianchi.aliyun.com/datalab/index.htm http://www.pkbigdata.com/common/cmptIndex.html

11数据清洗和转换

实际生产环境中机器学习比较耗时的一部分
大部分的机器学习模型所处理的都是特征,特征通常是输入变量所对应的可用于模型的 数值表示
大部分情况下 ,收集得到的数据需要经过预处理后才能够为算法所使用,预处理的操作 主要包括以下几个部分:

  • 数据过滤
  • 处理数据缺失
  • 处理可能的异常、错误或者异常值
  • 合并多个数据源数据
  • 数据汇总

对数据进行初步的预处理,需要将其转换为一种适合机器学习模型的表示形式, 对许多模型类型来说,这种表示就是包含数值数据的向量或者矩阵

  • 将类别数据编码成为对应的数值表示(一般使用1-of-k方法)-dumy
  • 从文本数据中提取有用的数据(一般使用词袋法或者TF-IDF)
  • 处理图像或者音频数据(像素、声波、音频、振幅等<傅里叶变换>)
  • 数值数据转换为类别数据以减少变量的值,比如年龄分段
  • 对数值数据进行转换,比如对数转换
  • 对特征进行正则化、标准化,以保证同一模型的不同输入变量的值域相同
  • 对现有变量进行组合或转换以生成新特征,比如平均数 (做虚拟变量)不断尝试

11.1类型特征转换之1-of-k

功能:将非数值型的特征值转换为数值型的数据
描述:假设变量的取值有 k 个,如果对这些值用 1 到 k 编序,则可用维度为 k
的向量来表示一个变量的值。在这样的向量里,该取值所对应的序号所在的元素
为1,其他元素均为0.

T1 T2 T3
R1 A 1 2
R2 A 2 3
R3 B 3 3
R4 C 2 2
R5 C 1 2
A B C
A 1 0 0
B 0 1 0
C 0 0 1

最终转成以下形式

T1-A T1-B T1-C T2 T3
R1 1 0 0 1 2
R2 1 0 0 2 3
R3 0 1 0 3 3
R4 0 0 1 2 2
R5 0 0 1 1 2

11.2文本数据抽取

文档1内容:A(2)、B(1)、C(3)、D(9)、E(1)
文档2内容:A(1)、B(5)、C(2)、D(10)

A B C D E
文档1 2 1 3 9 1
文档2 1 5 2 10 0

TF(A|文档1)=1/8
TF(B|文档1)=1/16

TF(E|文档2)=0/18=0
IDF(A)=IDF(B)=IDF©=IDF(D)=2 / 2 = 1
IDF(E)=2/1=2

A B C D E
文档1 1/8 1/16 3/16 9/16 1/8
文档2 1/18 5/18 1/9 9/5 0

11.2.1词袋法

将文本当作一个无序的数据集合,文本特征可以采用文本中的词条T进
行体现,那么文本中出现的所有词条及其出现的次数就可以体现文档的特征

11.2.2TF-IDF

词条的重要性随着它在文件中出现的次数成正比增加,但同时会随着它 在语料库中出现的频率成反比下降;也就是说词条在文本中出现的次数越多,表 示该词条对该文本的重要性越高,词条在所有文本中出现的次数越少,说明这个 词条对文本的重要性越高。TF(词频)指某个词条在文本中出现的次数,一般会将 其进行归一化处理(该词条数量/该文档中所有词条数量);IDF(逆向文件频率)指 一个词条重要性的度量,一般计算方式为总文件数目除以包含该词语之文件的数 目,再将得到的商取对数得到。TF-IDF实际上是:TF * IDF

12模型训练及测试

  • 模型选择:对特定任务最优建模方法的选择或者对特定模型最佳参数的选择。
  • 在训练数据集上运行模型(算法)并在测试数据集中测试效果,迭代进行数据模型的修改, 这种方式被称为交叉验证(将数据分为训练集和测试集,使用训练集构建模型,并使用测 试集评估模型提供修改建议)
  • 模型的选择会尽可能多的选择算法进行执行,并比较执行结果
  • 模型的测试一般以下几个方面来进行比较,分别是准确率/召回率/精准率/F值
    • 准确率(Accuracy)=提取出的正确样本数/总样本数
    • 召回率(Recall)=正确的正例样本数/样本中的正例样本数——覆盖率
    • 精准率(Precision)=正确的正例样本数/预测为正例的样本数
    • F值=PrecisionRecall2 / (Precision+Recall) (即F值为正确率和召回率的调和平均值)
预测值 预测值
正例 负例
真实值 正例 真正例(A) 假负例(B)
真实值 负例 假正例(CC) 真负例(D)

A和D预测正确,B和C预测错误,测试计算结果为:
Accuracy=P(A)+P(D)P(A)+P(B)+P(C)+P(D)Recall=P(A)P(A)+P(B)Precision=P(C)P(A)+P(C)F=2RecallPrecisionRecall+Precision Accuracy = \frac{P(A)+P(D)}{P(A)+P(B)+P(C)+P(D)}\\ Recall = \frac{P(A)}{P(A)+P(B)}\\ Precision = \frac{P(C)}{P(A)+P(C)}\\ F = \frac{2*Recall*Precision}{Recall+Precision}

13ROC

ROC(Receiver Operating Characteristic)最初源于20世纪70年代的信号 检测理论,描述的是分类混淆矩阵中FPR-TPR两个量之间的相对变化情况, ROC曲线的纵轴是“真正例率”(True Positive Rate 简称TPR),横轴是“假 正例率” (False Positive Rate 简称FPR)。
如果二元分类器输出的是对正样本的一个分类概率值,当取不同阈值时会 得到不同的混淆矩阵,对应于ROC曲线上的一个点。那么ROC曲线就反映了 FPR与TPR之间权衡的情况,通俗地来说,即在TPR随着FPR递增的情况下,谁 增长得更快,快多少的问题。TPR增长得越快,曲线越往上屈,AUC就越大, 反映了模型的分类性能就越好。当正负样本不平衡时,这种模型评价方式比起 一般的精确度评价方式的好处尤其显著。

14AUC

AUC的值越大表达模型越好
AUC(Area Under Curve)被定义为ROC曲线下的面积,显然这个 面积的数值不会大于1。又由于ROC曲线一般都处于y=x这条直线的 上方,所以AUC的取值范围在0.5和1之间。使用AUC值作为评价标准 是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好, 而AUC作为数值可以直观的评价分类器的好坏,值越大越好。
AUC = 1,是完美分类器,采用这个预测模型时,不管设定什么阈值 都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值 的话,能有预测价值。
AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。 AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机 猜测。

15模型评估

回归结果度量
explained_varicance_score:可解释方差的回归评分函数
mean_absolute_error:平均绝对误差
mean_squared_error:平均平方误差

15.1模型评估总结_分类算法评估方式

指标 描述 SK函数
Precision 精确度 from sklearn.metrics import precision_score
Recall 召回率 from sklearn.metrics import recall_score
F1 F1指标 from sklearn.metrics import f1_score
Confusion Matrix 混淆矩阵 from sklearn.metrics import confusion_matrix
ROC ROC曲线 from sklearn.metrics import roc
AUC ROC曲线下的面积 from sklearn.metrics import auc

15.2模型评估总结_回归算法评估方式

指标 描述 SK函数
Mean Square Error (MSE, RMSE) 平均方差 from sklearn.metrics import mean_squared_error
Absolute Error 绝对误差 from sklearn.metrics import mean_absolute_error, (MAE, RAE) median_absolute_error
R-Squared R平方值 from sklearn.metrics import r2_score

16模型部署和整合

当模型构建好后,将训练好的模型存储到数据库中,方便其它使用模型的应用加 载(构建好的模型一般为一个矩阵)
模型需要周期性(一周,一月)

17模型的监控与反馈

  • 当模型一旦投入到实际生产环境中,模型的效果监控是非常重要的,往往需要关 注业务效果和用户体验,所以有时候会进行A/B测试
  • 模型需要对用户的反馈进行响应操作,即进行模型修改,但是要注意异常反馈信 息对模型的影响,故需要进行必要的数据预处理操作
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章