一、机器学习简介

1.1 机器学习简介

人工智能 (Artificial Intelligence,简称AI) 是对人的意识、思维过程进行模拟的一门新学科。

如今,人工智能从虚无缥缈的科学幻想变成了现实。计算机科学家们在 机器学习 (Machine Learning) 和 深度学习 (Deep Learning) 领域已经取得重大的突破,机器被赋予强大的认知和预测能力。2016 年 AplphaGO 成功击败人类世界冠军向世界证明,机器也可以像人类一样思考,甚至比人类做得更好。

人工智能、机器学习和深度学习三者关系

人工智能涵盖了机器学习和深度学习的所有范畴,人工智能研究的主要目标是使机器能够胜任一些通常需要人类才能完成的复杂工作,人工智能、机器学习、深度学习三者之间是逐层包含的关系。

在这里插入图片描述

机器学习:人工智能核心技术

机器学习是利用经验或数据来改进算法的研究,通过算法让机器从大量历史数据中学习和寻找规律,得到某种模型并利用此模型预测未来。

在这里插入图片描述

1.2 机器学习应用场景

机器学习:应用领域

从范围上来说,机器学习跟模式识别,统计学习,数据挖掘是类似的。同时,机器学习与其他领域的处理技术的结合,形成了计算机视觉、语音识别、自然语言处理等交叉学科。
在这里插入图片描述

机器学习:应用场景
  1. 客户分析
  2. 营销分析
  3. 社交媒体分析
  4. 网络安全
  5. 设备管理
  6. 交通物流
  7. 欺诈检测
机器学习应用场景:客户分析

主要是客户的基本数据信息进行商业行为分析。

  • 分析目标客户
    根据客户的需求,目标客户的性质,所处行业的特征以及客户的经济状况等基本信息使用统计分析方法和预测验证法,分析目标客户,提高销售效率。
  • 制定营销策略
    了解客户的采购过程,根据客户采购类型、采购性质进行分类分析制定不同的营销策略。
  • 分析客户价值
    根据已有的客户特征,进行客户特征分析、客户忠诚分析、客户注意力分析、客户营销分析和客户收益分析。
机器学习应用场景:营销分析

囊括了产品分析,价格分析,渠道分析,广告与促销分析这四类分析。

  • 产品分析
    主要是竞争产品分析,通过对竞争产品的分析制定自身产品策略。
  • 价格分析
    分为成本分析和售价分析,成本分析的目的是降低不必要成本,售价分析的目的是制定符合市场的价格。
  • 渠道分析
    指对产品的销售渠道进行分析,确定最优的渠道配比。
  • 广告与促销分析
    结合客户分析,实现销量的提升,利润的增加。
机器学习应用场景:社交媒体分析

以不同社交媒体渠道生成的内容为基础,实现不同社交媒体的用户分析,访问分析,互动分析等。同时,还能为情感和舆情监督提供丰富的资料。

  • 用户分析
    根据用户注册信息,登录平台的时间点和平时发表的内容等用户数据,分析用户个人画像和行为特征。
  • 访问分析
    通过用户平时访问的内容,分析用户的兴趣爱好,进而分析潜在的商业价值。
  • 互动分析
    根据互相关注对象的行为预测该对象未来的某些行为特征。
机器学习应用场景:网络安全和设备管理
  • 网络安全
    新型的病毒防御系统可使用数据分析技术,建立潜在攻击识别分析模型,监测大量网络活动数据和相应的访问行为,识别可能进行入侵的可疑模式,做到未雨绸缪。
  • 设备管理
    通过物联网技术能够收集和分析设备上的数据流,包括连续用电、零部件温度、环境湿度和污染物颗粒等无数潜在特征,建立设备管理模型,从而预测设备故障,合理安排预防性的维护,以确保设备正常作业,降低因设备故障带来的安全风险。
机器学习应用场景:交通物流和欺诈检测
  • 交通物流
    物流是物品从供应地向接收地的实体流动。通过业务系统和GPS定位系统获得数据,对于客户使用数据构建交通状况预测分析模型,有效预测实时路况、物流状况、车流量、客流量和货物吞吐量,进而提前补货,制定库存管理策略。
  • 欺诈检测
    身份信息泄露盗用事件逐年增长,随之而来的是欺诈行为和交易的增多。公安机关,各大金融机构,电信部门可利用用户基本信息,用户交易信息,用户通话短信信息等数据,识别可能发生的潜在欺诈交易,做到提前预防未雨绸缪。

1.3 机器学习算法分类

机器学习不同层次
  1. 两眼摸瞎,不知所措
  2. 会用工具跑模型和评估模型
  3. 根据应用的特点改进模型来获取更好的结果
  4. 熟悉各类模型及其特点并能准确应用
  5. 解决行业重点问题推动行业技术的发展
机器学习介绍
  • 数学基础
    • 微积分、矩阵计算、线性代数、概率论和数理分析
  • 计算机基础
    • Linux、DataBase、Python/R、Hadoop、Spark、HDFS、YARN、Pig、Flume、Sqoop、Hive、Impala、Sentry、Zookeeper
  • 传统机器学习算法
    • K-近邻算法、决策树、朴素贝叶斯、逻辑回归、支持向量机、聚类、主成分分析
机器学习提升路径

在这里插入图片描述

机器学习概念

  • 概念
    • 假设用PP来评估计算机程序在某任务类TT上的性能, 若一个程序通过利用经验EE在TT中任务上获得了性能改善,则我们就说关于TT 和PP,该程序对EE进行了学习。
  • 研究内容
    • 关于在计算机上从数据中产生 模型 (Model) 的算法,即学习算法 (Learning Algorithm)。
机器学习算法分类

按学习的方式来划分,机器学习主要包括:

  • 监督学习

输入数据带有标签。监督学习建立一个学习过程,将预测结果与 “训练数据”(即输入数据)的实际结果进行比较,不断的调整预测模型,直到模型的预测结果达到一个预期的准确率,比如分类和回归问题等。常用算法包括决策树、贝叶斯分类、最小二乘回归、逻辑回归、支持向量机、神经网络等。

  • 非监督学习

输入数据没有标签,而是通过算法来推断数据的内在联系,比如聚类和关联规则学习等。常用算法包括独立成分分析、K-Means 和 Apriori 算法等。

  • 半监督学习

输入数据部分标签,是监督学习的延伸,常用于分类和回归。常用算法包括图论推理算法、拉普拉斯支持向量机等。

  • 强化学习

输入数据作为对模型的反馈,强调如何基于环境而行动,以取得最大化的预期利益。与监督式学习之间的区别在于,它并不需要出现正确的输入 / 输出对,也不需要精确校正次优化的行为。强化学习更加专注于在线规划,需要在探索(在未知的领域)和遵从(现有知识)之间找到平q衡。

机器学习算法分类
  • 回归算法: 线性回归、逻辑回归
  • 基于实例的学习算法: K-邻近算法
  • 正则化算法: 岭回归、LASSO、Elastic Net
  • 决策树算法: 分类和回归树、ID3算法、C4.5/C5.0、随机森林、梯度推进机
  • 贝叶斯算法: 朴素贝叶斯、高斯朴素贝叶斯、多项式朴素贝叶斯
  • 基于核的算法: 支持向量机(SVM)、径向基函数(RBF)、线性判别分析(LDA)
  • 聚类算法: K-均值、K-中位数、EM算法、分层聚类
  • 关联规则: Apriori算法、Eclat算法
  • 神经网络: 感知器、反向传播
  • 深度学习: 卷积神经网络、递归神经网络
  • 降维算法: 主成分分析、主成分回归、偏最小二乘回归
  • 集成算法: Boosting、Bagging、AdaBoost

1.4 机器学习基本术语

机器学习的基本原理就是把现实世界当中要研究的对象通过特征值将其数字化,然后让计算机通过这些已有的数字学习“经验”,从而有了判断的能力,这时如果有了新的输入,计算机就能够根据这些经验来做出判断。

比如下面的例子就是要计算机判断西瓜是好瓜还是坏瓜,我们把西瓜对象提取出三种类型的特征值,然后通过算法让机器去学习,从而拥有了判断西瓜好坏的能力。我们把这个可以将经验(数据)转化为最终的模型(Model,也就是那个能判断好瓜还是坏瓜的程序)的算法称之为学习算法(Learning Algorithm)

在这里插入图片描述

  • 模型、学习算法、数据集、示例/样本、属性/特征、属性值

在这里插入图片描述

  • 维数、样本空间/属性空间、特征向量

在这里插入图片描述

我们可以看出现实世界的任何事物其实都可以通过属性或着特征来进行描述,上图给出的就是通过三个属性来描述西瓜的一组数据。属性的数目我们称之为维数,本例中表示西瓜用了三个特征,因此就是三维。

下面的图表示样本空间(Sample Space)或者属性空间(Attribute Space),我们也可以看到这是一个三维空间。

每个样本根据其特征值都会落在样本空间的一个点上,这个点由一组坐标向量来表示,因此样本又叫做特征向量(Feature Vector)。

机器学习的过程就是通过这些样本数据进行训练学习的过程,通过训练,我们可以得出自己的模型,这个模型我们可以理解为经过训练的机器大脑,这个机器大脑可以帮助我们做判断,比如判断一个西瓜的好坏,判断的越准确,说明我们的模型越好。

  • 标记、样例、标记空间/输出空间

当我们开始训练我们的模型的时候,只有上面所示的数据集是不够的,我们还需要一组带有判断结果的数据

判断结果我们叫做标记(Label),带有标记信息的样本,则称之为样例(Example)

所有标记的集合叫做标记空间(Label Space)或输出空间(Output Space)

((色泽='青绿',根蒂='蜷缩',敲声='浊响'), 好瓜)

通常我们训练模型就是为了找到输入空间到输出空间的对应关系,即给定输入空间的一个特征向量,能够对应到输出空间的一个值。

  • 分类问题
((色泽='青绿',根蒂='蜷缩',敲声='浊响'), 好瓜)
  • 回归问题
((色泽='青绿',根蒂='蜷缩',敲声='浊响'), 0.95)
  • 聚类问题
  • 监督学习/无监督学习

如果我们想让我们的模型只是简单地去判断(通常叫预测)一个瓜是好瓜还是坏瓜,即分成两类,这种学习任务称为分类问题(Classification),预测的是离散值;如果是想让其预测的是连续值,如预测西瓜成熟度0.95, 0.88,此类学习任务就叫做回归(Regression)

在我们的示例中只是简单地分为“好瓜”,“坏瓜”两类,此种分类称为二分类问题(Binary Classification),通常一个称为正类(Positive Class)也有翻译为“阳类”,另一个称为反类(Negtive Class)或者成为为阴类

如果是多个类别的话,就称为多分类问题

如果我们想将训练集中的西瓜分成若干组,每组就称之为一个(Cluster),这个过程就叫做聚类(Clustering)。这些簇可能对应一些潜在的分类,比如“浅色瓜”,“深色瓜”等。而这些分类可能是我们事先并不知道的,就是说学习算法在做聚类分析的时候是自动产生的类别,通常训练样本中也不需要标记信息。

根据训练数据是否有标记信息,学习任务可分为监督学习(Supervised Learning)和无监督学习(Unsupervised Learning)。

分类和回归是监督学习的典型代表,而聚类则是无监督学习的典型代表。

  • 假设
(色泽='青绿',根蒂='蜷缩',敲声='浊响')

每种特征的组合都认为是一个假设(Hypothesis),所有假设的集合我们称之为假设空间

  • 假设空间、版本空间

在这里插入图片描述

如果“色泽”,“根蒂”,“敲声”分别有3,2,2种可能,(每种特征值都要加一种任意值可能)那么假设空间的规模就是 43x=3+1=374∗3x=∗3+1=37

从这幅图可以看出,每种特征值在计算可能性的时候都加了一种可能,就是任意值可能,我们用“*”表示,最后结果加1是由于存在一种可能就是根本没有“好瓜”这个概念,或者说“好瓜”跟这些特征都没有关系。当给定一个训练集进行训练的时候,模型会逐渐删除那些与正例不一致的假设和(或)与反例一致的假设,最后获得与训练集一致的假设。而剩下的这些假设可能有多个,我们把剩下的这些假设的集合称之为版本空间(Version Space)。

  • 泛化
    • 学习到模型对未知数据的预测能力
  • 归纳
    • 从特殊情况到一般的泛化过程(具体事实一般性规律)
  • 演绎
    • 从一般到特殊的特化过程(基础原理具体状况)
  • 归纳学习
    • 从样例中学习显然时一个归纳的过程
    • 广义的归纳学习:从样例中学习
    • 侠义的归纳学习:从训练数据中学的概念/概念生成/概念(concept)学习
  • 归纳偏好
    • 机器学习算法在学习过程中对某种类型假设的偏好
  • 奥卡姆剃刀原则
    • 若有多个假设与观察一致,则选最简单的那个

在这里插入图片描述

Scikit-learn安装与查看

  • 安装Scikit-learn
    • !pip install -U scikit-learn
  • 安装Matplotlib
    • !pip install matplotlib

tips:镜像已经安装好相关库,你可以使用以下命令查看Scikit-learn版本

  • 先导入sklearn:import sklearn
  • 查看sklearn版本号:sklearn.__version__
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐