机器学习系列(一)——基础概念及分类

机器学习基础(一)

emm... 那个第一篇文章,简单的自我介绍一下,机器学习小白,但愿和你们一块儿进步,有什么问题能够留言一块儿探讨。编程

本文撰写于2020/1/1 是本人学习机器学习时,作的笔记摘要,为方便往后查漏补缺,以博客的形式粘贴出来,文中所引数据及内容仅做学习之用。网络

机器学习是人工智能的一个子集,目前已经发展出许多有用的方法,好比支持向量机,回归,决策树,随机森林,强化方法,集成学习,深度学习等等,必定程度上能够帮助人们完成一些数据预测,自动化,自动决策,最优化等初步替代脑力的任务。本章咱们主要介绍下机器学习的基本概念、监督学习、分类算法、逻辑回归、代价函数、损失函数、LDA、PCA、决策树、支持向量机、EM算法、聚类和降维以及模型评估有哪些方法、指标等等。框架

1 基本概念

机器学习(Machine Learning, ML),顾名思义,让机器去学习。这里,机器指的是计算机,是算法运行的物理载体,你也能够把各类算法自己当作一个有输入和输出的机器。那么到底让计算机去学习什么呢?对于一个任务及其表现的度量方法,设计一种算法,让算法可以提取中数据所蕴含的规律,这就叫机器学习。若是输入机器的数据是带有标签的,就称做有监督学习。若是数据是无标签的,就是无监督学习。dom

1.1 ML各类常见算法图示

​ 平常使用机器学习的任务中,咱们常常会碰见各类算法。机器学习

回归算法 聚类算法 正则化方法
决策树学习 贝叶斯方法 基于核的算法
:----------------------: :----------------------: :----------------------:
聚类算法 关联规则学习 人工神经网络
:----------------------: :----------------------: :-----------------------:
深度学习 下降维度算法 集成算法
:-----------------------: :-----------------------: :-----------------------:

1.2 导数的计算

计算图导数计算是反向传播,利用链式法则和隐式函数求导。函数

​ 假设 \(z = f(u,v)\) 在点 \((u,v)\) 处偏导连续,\((u,v)\)是关于 \(t\) 的函数,在 \(t\) 点可导,求 \(z\)\(t\) 点的导数。工具

根据链式法则有
\[ \frac{dz}{dt}=\frac{\partial z}{\partial u}.\frac{du}{dt}+\frac{\partial z}{\partial v} .\frac{dv}{dt} \]
​链式法则用文字描述:“由两个函数凑起来的复合函数,其导数等于里边函数代入外边函数的值之导数,乘以里边函数的导数。学习

1.3 关于局部最优和全局最优的描述

局部最优和全局最优测试

柏拉图有一天问老师苏格拉底什么是爱情?苏格拉底叫他到麦田走一次,摘一颗最大的麦穗回来,不准回头,只可摘一次。柏拉图空着手出来了,他的理由是,看见不错的,殊不知道是否是最好的,一次次侥幸,走到尽头时,才发现还不如前面的,因而放弃。苏格拉底告诉他:“这就是爱情。”这故事让咱们明白了一个道理,由于生命的一些不肯定性,因此全局最优解是很难寻找到的,或者说根本就不存在,咱们应该设置一些限定条件,而后在这个范围内寻找最优解,也就是局部最优解——有所斩获总比空手而归强,哪怕这种斩获只是一次有趣的经历。
柏拉图有一天又问什么是婚姻?苏格拉底叫他到树林走一次,选一棵最好的树作圣诞树,也是不准回头,只许选一次。此次他一身疲惫地拖了一棵看起来直挺、翠绿,却有点稀疏的杉树回来,他的理由是,有了上回的教训,好不容易看见一棵看似不错的,又发现时间、体力已经快不够用了,也不论是不是最好的,就拿回来了。苏格拉底告诉他:“这就是婚姻。”

​ 优化问题通常分为局部最优和全局最优。其中,

(1)局部最优,就是在函数值空间的一个有限区域内寻找最小值;而全局最优,是在函数值空间整个区域寻找最小值问题。

(2)函数局部最小点是它的函数值小于或等于附近点的点,可是有可能大于较远距离的点。

(3)全局最小点是那种它的函数值小于或等于全部的可行点。

1.4 大数据与深度学习之间的关系

首先来看大数据、机器学习及数据挖掘三者简单的定义:

大数据一般被定义为“超出经常使用软件工具捕获,管理和处理能力”的数据集。
机器学习关心的问题是如何构建计算机程序使用经验自动改进。
数据挖掘是从数据中提取模式的特定算法的应用,在数据挖掘中,重点在于算法的应用,而不是算法自己。

机器学习和数据挖掘之间的关系以下:
数据挖掘是一个过程,在此过程当中机器学习算法被用做提取数据集中的潜在有价值模式的工具。
大数据与深度学习关系总结以下:

(1)深度学习是一种模拟大脑的行为。能够从所学习对象的机制以及行为等等不少相关联的方面进行学习,模仿类型行为以及思惟。

(2)深度学习对于大数据的发展有帮助。深度学习对于大数据技术开发的每个阶段均有帮助,不论是数据的分析仍是挖掘仍是建模,只有深度学习,这些工做才会有可能一一获得实现。

(3)深度学习转变了解决问题的思惟。不少时候发现问题到解决问题,走一步看一步不是一个主要的解决问题的方式了,在深度学习的基础上,要求咱们从开始到最后都要基于一个目标,为了须要优化的那个最终目标去进行处理数据以及将数据放入到数据应用平台上去,这就是端到端(End to End)。

(4)大数据的深度学习须要一个框架。在大数据方面的深度学习都是从基础的角度出发的,深度学习须要一个框架或者一个系统。总而言之,将你的大数据经过深度分析变为现实,这就是深度学习和大数据的最直接关系。

2 机器学习的分类

根据数据类型的不一样,对一个问题的建模有不一样的方式。依据不一样的学习方式和输入数据,机器学习主要分为如下四种学习方式。

2.1 监督学习

​ 特色:监督学习是使用已知正确答案的示例来训练网络。已知数据和其一一对应的标签,训练一个预测模型,将输入数据映射到标签的过程。

​ 常见应用场景:监督式学习的常见应用场景如分类问题和回归问题

​ 算法举例:常见的有监督机器学习算法包括支持向量机(Support Vector Machine, SVM)朴素贝叶斯(Naive Bayes)逻辑回归(Logistic Regression)K近邻(K-Nearest Neighborhood, KNN)决策树(Decision Tree)随机森林(Random Forest)AdaBoost以及线性判别分析(Linear Discriminant Analysis, LDA)等。深度学习(Deep Learning)也是大多数以监督学习的方式呈现。

2.2 非监督式学习

​ 定义:在非监督式学习中,数据并不被特别标识,适用于你具备数据集但无标签的状况。学习模型是为了推断出数据的一些内在结构。

​ 常见应用场景:常见的应用场景包括关联规则的学习以及聚类等。

​ 算法举例:常见算法包括Apriori算法以及k-Means算法

2.3 半监督式学习

​ 特色:在此学习方式下,输入数据部分被标记,部分没有被标记,这种学习模型能够用来进行预测。

​ 常见应用场景:应用场景包括分类和回归,算法包括一些对经常使用监督式学习算法的延伸,经过对已标记数据建模,在此基础上,对未标记数据进行预测。

​ 算法举例:常见算法如图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM)等。

2.4 弱监督学习

​ 特色:弱监督学习能够看作是有多个标记的数据集合,次集合能够是空集,单个元素,或包含多种状况(没有标记,有一个标记,和有多个标记)的多个元素。 数据集的标签是不可靠的,这里的不可靠能够是标记不正确,多种标记,标记不充分,局部标记等。已知数据和其一一对应的弱标签,训练一个智能算法,将输入数据映射到一组更强的标签的过程。标签的强弱指的是标签蕴含的信息量的多少,好比相对于分割的标签来讲,分类的标签就是弱标签。

​ 算法举例:举例,给出一张包含气球的图片,须要得出气球在图片中的位置及气球和背景的分割线,这就是已知弱标签学习强标签的问题。

​ 在企业数据应用的场景下, 人们最经常使用的可能就是监督式学习和非监督式学习的模型。 在图像识别等领域,因为存在大量的非标识的数据和少许的可标识数据, 目前半监督式学习是一个很热的话题。

​ 处理标签不充分时的数据

2.5 监督学习有哪些步骤

​ 监督学习是使用已知正确答案的示例来训练网络,每组训练数据有一个明确的标识或结果。想象一下,咱们能够训练一个网络,让其从照片库中(其中包含气球的照片)识别出气球的照片。如下就是咱们在这个假设场景中所要采起的步骤。

步骤1:数据集的建立和分类
​ 首先,浏览你的照片(数据集),肯定全部包含气球的照片,并对其进行标注。而后,将全部照片分为训练集和验证集。目标就是在深度网络中找一函数,这个函数输入是任意一张照片,当照片中包含气球时,输出1,不然输出0。

步骤2:数据加强(Data Augmentation)
​ 当原始数据搜集和标注完毕,通常搜集的数据并不必定包含目标在各类扰动下的信息。数据的好坏对于机器学习模型的预测能力相当重要,所以通常会进行数据加强。对于图像数据来讲,数据加强通常包括,图像旋转,平移,颜色变换,裁剪,仿射变换等

步骤3:特征工程(Feature Engineering)
​ 通常来说,特征工程包含特征提取和特征选择。常见的手工特征(Hand-Crafted Feature)有尺度不变特征变换(Scale-Invariant Feature Transform, SIFT),方向梯度直方图(Histogram of Oriented Gradient, HOG)等。因为手工特征是启发式的,其算法设计背后的出发点不一样,将这些特征组合在一块儿的时候有可能会产生冲突,如何将组合特征的效能发挥出来,使原始数据在特征空间中的判别性最大化,就须要用到特征选择的方法。在深度学习方法大获成功以后,人们很大一部分再也不关注特征工程自己。由于,最经常使用到的卷积神经网络(Convolutional Neural Networks, CNNs)自己就是一种特征提取和选择的引擎。研究者提出的不一样的网络结构、正则化、归一化方法实际上就是深度学习背景下的特征工程。

步骤4:构建预测模型和损失
​ 将原始数据映射到特征空间以后,也就意味着咱们获得了比较合理的输入。下一步就是构建合适的预测模型获得对应输入的输出。而如何保证模型的输出和输入标签的一致性,就须要构建模型预测和标签之间的损失函数,常见的损失函数(Loss Function)有交叉熵(Cross Entropy)、均方差(MSE)等。经过优化方法不断迭代,使模型从最初的初始化状态一步步变化为有预测能力的模型的过程,实际上就是学习的过程。

步骤5:训练
​ 选择合适的模型和超参数进行初始化,其中超参数好比支持向量机中核函数、偏差项惩罚权重等。当模型初始化参数设定好后,将制做好的特征数据输入到模型,经过合适的优化方法不断缩小输出与标签之间的差距,当迭代过程到了截止条件,就能够获得训练好的模型。优化方法最多见的就是梯度降低法及其变种,使用梯度降低法的前提是优化目标函数对于模型是可导的

步骤6:验证和模型选择
​ 训练完训练集图片后,须要进行模型测试。利用验证集来验证模型是否能够准确地挑选出含有气球在内的照片。
​ 在此过程当中,一般会经过调整和模型相关的各类事物(超参数)来重复步骤2和3,诸如里面有多少个节点,有多少层,使用怎样的激活函数和损失函数,如何在反向传播阶段积极有效地训练权值等等。

步骤7:测试及应用
​ 当有了一个准确的模型,就能够将该模型部署到你的应用程序中。你能够将预测功能发布为API(Application Programming Interface, 应用程序编程接口)调用,而且你能够从软件中调用该API,从而进行推理并给出相应的结果。

相关文章
相关标签/搜索