机器学习入门

发布于 2020-09-12  243 次阅读



机器学习


按照这几天了解的知识我把这篇文章分为以下内容

  1. 机器学习的定义
  2. 机器学习的范围
  3. 机器学习的方法
  4. 机器学习的应用
  5. 机器学习的子类
  6. 机器学习的父类

机器学习的定义

机器学习是计算机利用已有的数据,得出了某种模型,并利用此模型预测未来的一种方法。从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型预测的一种方法。

机器学习的范围

机器学习跟模式识别,统计学习,数据挖掘,计算机视觉,语音识别,自然语言处理等领域有着很深的联系。

  • 模式识别
    1. 模式识别=机器学习。
    2. 两者的主要区别在于前者是从工业界发展起来的概念,后者则主要源自计算机学科。
  • 数据挖掘
    1. 数据挖掘=机器学习+数据库。
    2. 大部分数据挖掘中的算法是机器学习的算法在数据库中的优化。
  • 统计学习
    1. 统计学习近似等于机器学习
    2. 统计学习者重点关注的是统计模型的发展与优化,偏数学,而机器学习者更关注的是能够解决问题,偏实践
  • 计算机视觉
    1. 计算机视觉=图像处理+机器学习
    2. 图像处理技术用于将图像处理为适合进入机器学习模型中的输入,机器学习则负责从图像中识别出相关的模式
  • 语音识别
    1. 语音识别=语音处理+机器学习
    2. 语音识别技术一般不会单独使用,一般会结合自然语言处理的相关技术。
  • 自然语言处理
    1. 自然语言处理=文本处理+机器学习

机器学习的方法

我仅仅了解了部分基础性算法,特别高难度的也没有深入,所以仅写出一部分基础的算法内容,其中算法广义上分为有监督算法和无监督算法,有监督算法中的一个显著特征就是我的训练数据中包含了标签,训练出的模型可以对其他未知数据预测标签,而无监督算法中,训练数据都是不含标签的,而算法的目的则是通过训练,推测出这些数据的标签。当然也有一些特殊的算法,比如推荐算法等等。

1.回归算法

回归算法有两个重要的子类:即线性回归和逻辑回归。

例如最常见的最小二乘法就是典型的线性回归,而逻辑回归与线性回归在处理问题的方面有着不同的特点,线性回归更注重数值分析,而逻辑回归更注重逻辑判断,例如判断病人是否生病,邮件是否为垃圾等等,具体实现方面是在计算结果加上了一个Sigmoid函数,将结果转化为概率中的0~1,从而进行逻辑判断。

逻辑回归算法划出的分类线基本都是线性的(也有划出非线性分类线的逻辑回归,不过那样的模型在处理数据量较大的时候效率会很低),这意味着当两类之间的界线不是线性时,逻辑回归的表达能力就不足。

2.神经网络

神经网络也称之为人工神经网络,ANN,神经网络的诞生起源于对大脑工作机理的研究。早期生物界学者们使用神经网络来模拟大脑。机器学习的学者们使用神经网络进行机器学习的实验,发现在视觉与语音的识别上效果都相当好。在BP算法(加速神经网络训练过程的数值算法)诞生以后,神经网络的发展进入了一个热潮。

神经网络的学习机理就是分解与整合。一个简单的神经网络的逻辑架构。在这个网络中,分成输入层,隐藏层,和输出层。输入层负责接收信号,隐藏层负责对数据的分解与处理,最后的结果被整合到输出层。每层中的一个圆代表一个处理单元,可以认为是模拟了一个神经元,若干个处理单元组成了一个层,若干个层再组成了一个网络,也就是"神经网络"。

在神经网络中,每个处理单元事实上就是一个逻辑回归模型,逻辑回归模型接收上层的输入,把模型的预测结果作为输出传输到下一个层次。通过这样的过程,神经网络可以完成非常复杂的非线性分类。

3.聚类算法

聚类算法中最典型的代表就是K-Means算法。通过计算种群中的距离,根据距离的远近将数据划分为多个族群。实现非监督算法中的给数据打上标签。

例如K-Means算法
其算法步骤为:
(1) 首先我们选择一些类/组,并随机初始化它们各自的中心点。中心点是与每个数据点向量长度相同的位置。这需要我们提前预知类的数量(即中心点的数量)。
(2) 计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中。
(3) 计算每一类中中心点作为新的中心点。
(4) 重复以上步骤,直到每一类中心在每次迭代后变化不大为止。也可以多次随机初始化中心点,然后选择运行结果最好的一个。

4.推荐算法

推荐算法在课上老师讲过(因为那位老师就是搞推荐算法的),比如当多个用户对一部分电影都打了分数,现在希望知道某一用户对其没看过的电影的打的分数是多少,一方面我们根据该用户之前看过的电影相似度来预测,另一方面我们可以根据与要预测用户相似度的高低来评分。

推荐算法中最有名的算法就是协同过滤算法。

机器学习的应用——大数据

大数据的核心是利用数据的价值,机器学习是利用数据价值的关键技术。

机器学习与大数据紧密联系。但是大数据并不等同于机器学习,同理,机器学习也不等同于大数据。大数据中包含有分布式计算,内存数据库,多维分析等等多种技术。单从分析方法来看,大数据也包含以下四种分析方法:

1.大数据,小分析:即数据仓库领域的OLAP分析思路,也就是多维分析思想。
2.大数据,大分析:这个代表的就是数据挖掘与机器学习分析法。
3.流式分析:这个主要指的是事件驱动架构。
4.查询分析:经典代表是NoSQL数据库。

当然机器学习仅仅是大数据的一部分,同样机器学习需要大量的样本数据,随着大数据的发展,提供的数据也越来越多,大数据与机器学习两者是互相促进,相依相存的关系。

机器学习的子类——深度学习

自从90年代以后,神经网络已经消寂了一段时间。由于神经网络在隐藏层扩大到两个以上,其训练速度就会非常慢,因此实用性一直低于支持向量机。直到出现了两种新的理论:

1.多隐层的神经网络具有优异的特征学习能力,学习得到的特征对数据有更本质的刻画,从而有利于可视化或分类;
2.深度神经网络在训练上的难度,可以通过“逐层初始化” 来有效克服。

通过这样的发现,不仅解决了神经网络在计算上的难度,同时也说明了深层神经网络在学习上的优异性。从此,神经网络重新成为了机器学习界中的主流强大学习技术。同时,具有多个隐藏层的神经网络被称为深度神经网络,基于深度神经网络的学习研究称之为深度学习。

机器学习的父类——人工智能

如果把人工智能比作完整的人,那么机器学习就起到了🧠的作用,而深度学习更加模拟了人类大脑的行为,所以说机器学习的父类是人工智能,而其子类是深度学习。

后记

大概是准备入门ML,避免当一个小白,所以看了一部分文章(跳过了算法实现部分),然后自己总结了一篇文章,其实看完一部分文章以后大概就有了个轮廓了,我觉得还是蛮不错所以就自己总结了一遍。💪继续加油吧,下一篇应该是RNN,CNN方面的了。✨


浪子三唱,不唱悲歌