快速掌握 机器学习(Machine Learning) 常用概念术语,常用算法

Posted 小哈里

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速掌握 机器学习(Machine Learning) 常用概念术语,常用算法相关的知识,希望对你有一定的参考价值。

1、什么是机器学习?

机器学习的概念:

  • 传统上如果我们想让计算机工作,我们给它一串指令,然后它遵照这个指令一步步执行下去。有因有果,非常明确。这样的方式计算机是无法执行固定流程之外的东西的
  • 但是现实生活中,有很多无法被量化的东西,比如约会的时候要不要提前到,西瓜是否好吃,要不要录用一个人,人类在做事情的时候,解决问题的时候,大多数是懂得变通,不会那么死板的
  • 那么一个人是如何实现变通的呢?答案就是学习。维基百科对学习的定义是:学习是通过外界教授或从自身经验提高能力的过程。 所以人在解决问题的过程中,会使用已有的经验 ,以及通过经验得到的某种规律 ,并用此来预测可能会发生的事情 ,以做出相应调整
  • 那么机器学习就是,给机器经验(数据),通过某种算法(学习),让机器得到对应的规律,来完成一些相对具有变通性的无法确定描述的任务(手写字体识别,广告推荐,区分猫狗)

机器学习、人工智能、深度学习的关系:
——人工智能包含机器学习,机器学习包含深度学习。

  • 机器学习的定义:机器学习研究和构建的是一种特殊算法(而非某一个特定的算法),能够让计算机自己在数据中学习从而进行预测。——Arthur Samuel
  • 机器学习不是某种具体的算法,而是很多算法的统称。机器学习包含了很多种不同的算法,深度学习就是其中之一,其他方法包括支持向量机,决策树,K近邻,贝叶斯等等。
  • 深度学习的灵感来自大脑的结构,即许多神经元的互连。人工神经网络(ANN)是模拟大脑生物结构的算法。
  • 不管是机器学习还是深度学习,都属于人工智能(AI)。人工智能中还包括了自然语言处理(NLP), 计算机视觉(CV)等等多个领域。

机器学习的原理(概念):
——教小朋友区分猫猫和狗狗

  • 首先给小朋友很多猫猫和狗狗的图片(数据训练集),告诉他哪些是猫哪些是狗(数据标注)。
  • 小朋友发现猫猫长的更圆一点,小一点,,狗狗更大一点,颜色更深一点(特征集)。最后总结出了某种规律(模型),可以区别猫猫和狗狗。

2、机器学习的分类

机器学习根据训练方法一般大致可以分为3大类:

  1. 监督学习
  2. 非监督学习
  3. 强化学习

有监督学习:

  • 即存在外界知道的学习,比如看到一只动物时,家长主动告诉小朋友这是一只猫,不是一只狗,通过不断的观察和指导(提供了正确答案,即 数据标签 ),小朋友就形成了猫和狗的概念。
  • 有监督学习主要包括分类和回归 两大类。分类对应的为有限选择项的标签,比如根据身高体重年龄判断性别,根据图像选择数字。回归对应的标签为数值,比如根据年龄,学历,工作经验预测人的收入,这是一个范围的数值。
  • 数据集一般包括训练集和测试集,前者用于训练,后者用于测试。

无监督学习:

  • 无监督学习即不提供数据标签。比如小朋友很多次看到猫和狗,虽然并没有被告知是猫还是狗,但是再次看到已经能够区分他们了,这就是聚类。
  • 无监督学习只有聚类 一种。聚类在实际应用场景中一般价值更高,因为大多数天然数据并不包含聚类。
  • 半监督学习:结合了有监督学习和无监督学习,例如先通过无监督学习对数据进行聚类,再人工标注,在进行有监督学习。

增强学习:

  • 强化学习更接近生物学习的本质,因此有望获得更高的智能。它关注的是智能体如何在环境中采取一系列行为,从而获得最大的累积回报。通过强化学习,一个智能体应该知道在什么状态下应该采取什么行为。
  • 最典型的场景就是打游戏,比如Google的AlphaGo下围棋,或者自动跑FlappyBird游戏等。通过在历史数据中归纳和总结经验,在面对新状态时,尽可能使得目标函数做出最优行动。

附:
此外机器学习还有主动学习,迁移学习,集成学习等多种模式。

  • 主动学习:边学习边标注
  • 迁移学习:从一个域(Domain)迁移(Transfer)到另一个域
  • 集成学习:融合多个弱模型形成一个强的模型。

3、机器学习的流程和难点

学习的流程

  • 预处理:通过清洗数据,提高数据质量。
    数据重塑、缺失值处理(补全、统计为缺失特征)

  • 特征工程:在整个项目中占60%以上,关系到后期模型的潜力和提升空间。
    特征没做好,参数调到老。在已有的特征上生成新的特征,数值、类别

  • 特征选择、降维:筛选上面选出来的特征,保留相关性最强的特征,提高性能
    基于MIC、Pearson 相关系数、正则化方法、模型,PCA、tSNE

  • 训练模型、调参:尝试各种学习模型并比较性能,选择最优的。
    单模型,多模型融合,集成

  • 评估模型:有些模型可能能跑出训练集跑不出测试集。
    正确率(Acurracy)、准确值(Pecision)、召回值(Recall)、F 值、AUC

机器学习的两大难点:

  • 维度灾难:
    高维度的 数据量过大,特征数过多 ,导致模型过于复杂,训练和计算成本无法估计。
    但是一些模型低维度能实现很好的性能,在高维度下无法取得很好的效果。
    因此实际过程中一般更看重简单的模型,需要再性能和成本之间做出权衡。

  • 过拟合:
    过拟合指的是模型缺乏泛化能力 :即在训练集上训练的模型,能够在训练集上取得很好的性能,却无法在测试集上跑出合适的性能,
    一般来说,模型越复杂,学习能力越强,泛化能力越弱,越容易过拟合 。所以在性能相似的情况下,更青睐简单的模型。比如说身高和体重的关系,如果简单线性模型就能完成任务,那么就尽可能不要使用曲线。
    为了防止过拟合,在训练过程中,一般会使用正则化 等方法。正则化指的是,在训练过程中,认为的引入一些误差,从而避免模型过度拟合训练数据中的特征和标签之间的对应关系,而是把注意力更多的放在学习通用而泛化的关系和规律上
    过拟合往往会把人工智能训练成人工智障,比如扫地机器人不断制造垃圾再扫,比如飞机开局直接坠落,等等奇怪的模型。
    overfitting 过拟合,其实就是机器的sterotype----刻板印象 。看到一个新疆小偷,就把小偷这个属性赋予所有新疆人。三短一长选择最长的,不会蒙就c。)

4、机器学习常见模型及代码实现

机器学习的代码实现:
——使用Python的scikit-learn可以完成机器学习领域的大部分工作。

有监督的学习(分类,回归):

  • 线性回归 LR
    将每条记录表示为一个m维的向量x,m表示记录的特征向量。
    记y=kx+b, y和b为模型输出和偏置向量。训练时根据已有数据调整k和b,对于每一条记录,计算x得出对应的y,并比较y与真实记录的误差,使用梯度下降法对损失函数求导,并根据梯度下降的方向调整模型的参数。
  • Logistic回归
    在线性回归的基础上,令公式为y = logit(kx+b),其中logit函数对每个输入的向量的每一个值都进行了归一化处理,消除了原本向量x中可能存在的负数,并且让非负向量加起来为1,可以对应每个类别的输出概率。
  • 贝叶斯 NB
    选择概率最大的分类,各个分类的概率可以通过训练集统计获得。
  • K近邻 KNN
    为了确定一条记录的标签,可以找出训练记录中距离其最近的K条记录。
    如果需要分类,则选出K条记录中出现最多的分类标签。
    如果回归,则K条记录加权求和,权重和距离成反比,距离越远权重越小即可。
  • 决策树 DT
    根据训练集的数据,确定树的结构,每个非叶节点对应的判断条件和叶子节点对应的标签分类。
  • 支持向量机 SVM
    记录所在点的原始空间,通过一些可选的函数,将原空间变换到另一空间,在新空间里寻找margin 最大的分界面。

无监督的学习(聚类)

  • K-Means
    初始化中心,不断迭代,EM 算法
    将无标注的数据汇聚成K类,使得同一类记录之间特征相似,不同类差异显著。
    随机选择K个点作为初始聚类中心化,每轮迭代将记录点分配到对应的聚类中,选择最近的归类。然后根据所有的记录点的位置,修正中心点的位置。

神经网络(有监督-无监督都可)

  • 深度学习
    将神经元看做一个包含输入,处理,输出的单元。
    无数个神经元彼此连接,遵循相似的结构呈现激活或抑制,从而完成神经信号的处理和传递。

以上是关于快速掌握 机器学习(Machine Learning) 常用概念术语,常用算法的主要内容,如果未能解决你的问题,请参考以下文章

论文笔记:Mystique: Efficient Conversions for Zero-Knowledge Proofs with Applications to Machine Learnin

机器学习---线性回归(Machine Learning Linear Regression)

“3步套路”快速掌握机器学习算法和模型 | 极客时间

机器学习系统设计 ---- Machine Learning System Design

google学习

机器学习---朴素贝叶斯分类器(Machine Learning Naive Bayes Classifier)