ML学习笔记(一)机器学习概述

参考文献:张迪. 基于机器学习的手势识别技术研究[D].南京邮电大学,2019.

什么是机器学习

机器学习是一门涉及多领域的交叉型学科,研究计算机如何模拟人类的学习行为,从经验中获取知识与技能,通过不断学习对已有的知识结构进行完善。在机器学习中,人类的经验相当于数据、人类的学习能力相当于学习算法、已有的知识架构相当于模型。即机器学习是指计算机通过对大量数据样本进行分析,通过学习算法发现数据中隐藏的特征与规律,通过不断学习得到经验与知识模型,可以对未知的数据进行预测。
机器学习是对能通过经验自动改进的计算机算法的研究
机器学习是用数据或以往的经验来优化计算机程序的性能标准
机器学习是一门研究机器获取新知识和新技能,并识别现有知识的学问
机器学习的目的是根据给定的训练样本求取系统输入、输出之间的依赖关系的估计,使它能够对未知的输出做出尽可能准确的预测
在这里插入图片描述

机器学习的发展历程

机器学习的发展的五个阶段
一、1949 年至 1969 年:机器学习的“热烈期”
①1949 年 Hebb 提出了一种基于神经心理学的无监督学习机制,开启机器学习的第一步
②1950 年 Alan Mathison Turing 创造了图灵测试用于判定计算机是不是智能
③在 1952 年 Arthur Samuel 开发并实现了基于机器学习的跳棋程序
④在 1956 年 Dartmouth 学会上正式提出的人工智能的概念
⑤在 1957 年 Frank Rosenblatt 开发了两层感知器模型,是一个人工神经网络
⑥在 1967 年,机器学习经典算法—最近邻算法(k-NearestNeighbor,KNN)出现
⑦在 1969 年 Marvin Minsky提出了著名的 XOR 问题和感知器线性不可分的情形

二、60 年代中至 70 年代末:机器学习的“冷静期”
这个阶段由于计算机硬件性能无法达到要求不足以解决实际问题,整个人工智能领域都遭遇了瓶颈

三、70 年代末到 80 年代中:机器学习的“复兴期”
1980 年召开的第一届机器学习国际研讨会标志着机器学习进入复兴阶段
在 1981 至 1986 年,先后出现了经典的多层感知器(Multilayer Perceptron,MLP)、神经网络反向传播算法(Back Propagation,BP)、决策树算法等

四、1990 年至 2001 年:机器学习的“成型期”
在这个阶段出现了大量经典算法,如 Boosting 算法、AdaBoost(Adaptive Boosting)算法、SVM、逻辑回归(Logistic Regression, LR)等,使机器学习能切实的应用的现实生活中,产生了高效的理论和实践改善

五、21 世纪初至今:机器学习的“蓬勃期”
Hinton 提出了深度学习算法,使得神经网络的能力大大提高;同时出现了大量经典卷积神经网络模型,如 LeNet-5、AlexNet、GoogLeNet、VGG16等,广泛的应用于生活的方方面面
在这里插入图片描述

LeNet-5:LeNet-5是一个7层卷积神经网络,是在大小为32x32像素的灰度图像上进行训练的。LetNet是一个简单的卷积神经网络,可以用来做手写体识别。手写字体识别模型LeNet5诞生于1994年

AlexNet:AlexNet是2012年ImageNet竞赛冠军获得者Hinton和他的学生Alex Krizhevsky设计的、AlexNet共有八层,有60M以上的参数量。 由于受到计算机性能的影响,虽然LeNet在图像分类中取得了较好的成绩,但是并没有引起很多的关注。 知道2012年,Alex等人提出的AlexNet网络在ImageNet大赛上以远超第二名的成绩夺冠,卷积神经网络乃至深度学习重新引起了广泛的关注。
该网络一共有8个训练参数的网络(不包括池化层和LRN层),前5层为卷积层,后3层为全连接层。最后一个全连接层为1000类输出的Softmax分类层。LRN层出现在第1个及第2个卷积层后,最大池化层出现在LRN层及最后一个卷积层。每一层都有ReLu激活函数。

GoogLeNet:Inception V1(也称为GoogLeNet,命名致敬Google和LeNet)GoogLeNet是2014年Christian Szegedy提出的一种全新的深度学习结构,在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用,比如overfit、梯度消失、梯度爆炸等。inception(网络深度(depth)的增加)的提出则从另一种角度来提升训练结果:能更高效的利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果。

VGG16:VGG是由Simonyan 和Zisserman在文献《Very Deep Convolutional Networks for Large Scale Image Recognition》中提出卷积神经网络模型,其名称来源于作者所在的牛津大学视觉几何组(Visual Geometry Group)的缩写。该模型参加2014年的 ImageNet图像分类与定位挑战赛,取得了优异成绩:在分类任务上排名第二,在定位任务上排名第一。
VGG-16网络中的16代表的含义为:含有参数的有16个层,共包含参数约为1.38亿。
VGG-16网络结构很规整,没有那么多的超参数,专注于构建简单的网络,都是几个卷积层后面跟一个可以压缩图像大小的池化层

机器学习分类

机器学习根据训练数据是否已标注,可分为监督学习、无监督学习与半监督学习。其中
监督学习是指:(学习任务为分类和回归问题,且样本具有标记信息)训练数据与标注信息一一对应,可分为分类与回归两类。常见的分类算法有:逻辑回归算法、KNN 算法、决策树、SVM 等算法;常见的回归算法有:线性回归、多项式回归、岭回归等算法。 神经网络(ANN)AdaBoost(隶属集成学习)卷积神经网络(CNN)

无监督学习(学习任务为聚类问题,且样本不具有标记信息)是指不依靠标注信息,直接对训练数据进行分析,统计其规律与分布,根据分布情况可以把数据划分多个簇。常见的无监督学习算法有:K-means 算法、主成分分析(Principal Component Analysis,PCA),常用于对数据进行聚类等问题。

半监督学习是结合了监督学习与无监督学习的特点提出的一种算法,现实中在对数据进行统计时,并不能保证每个数据都带有标签。为了能极大限度的利用已标注的信息与未标注的数据信息,提出了一种半监督学习算法。常见的半监督学习算法主要有半监督支持向量机(SVMs)、graph-basedmethods 图论方法等。

在企业数据应用的场景下,人们最常用的就是监督学习模型和无/非监督学习模型。无监督学习是大数据时代科学家们用来处理数据挖据的主要工具。当然,用得最多的是用无监督学习算法训练参数,然后用一部分加了标签的数据测试。这种方法称为半监督学习。在图像识别等领域,由于存在大量的非标识数据和少量的可标识数据,目前,半监督学习是个很热的话题。而强化学习更多地应用在机器人控制及其他需要进行系统控制的领域。

机器学习的应用

机器学习作为工科技术,是一种通用性的数据处理技术,其包含大量的学习算法,且不同的算法在不同的行业及应用中能够表现出不同的性能和优势。日前,机器学习已经成功应用于以下领城。

金融领城: 检测信用卡欺诈、证券市场分析等。
互联网领域:自然语言处理、语音识别、语言翻译、搜索引擎、广告推广、邮件的反垃圾过滤系统等。
医学领城:医学诊断等。
自动化及机器人领城:无人驾驶、图像处理、信号处理等。
生物领域:人体基因序列分析、蛋白质结构预测、DNA序列测序等。
游戏领域:游戏战略规划等。
新闻领域:新闻推荐系统等。
刑侦领域:潜在犯罪预测等。

机器学习、数据挖掘及人工智能的关系

机器学习是最为通用的方法,包含在人工智能和数据挖掘内
在这里插入图片描述从本质上看,数据科学的目标是通过处理各种数据促进人们的决策,机器学习的主要任务是使机器模仿人类的学习,从而获得知识。而人工智能借助机器学习和推理最终是形成具体的智能行为。

人工智能

人工智能是让机器的行为看起来像人所表现出的智能行为一样。人工智能起源于1940年,目的在于开发一个能模拟人类在某种环境下作出反应和公为的系统或软件。由于这个领域极其广泛,人工智能将其目标定义为多个子目标,然后个子目标就都发展成了一个独立的研究分支。 主要子目标列举如下,

推理( Reasoning);

知识表示(Knowledge Representation);

自动规划(Automated Planning and Scheduling);

机器学习(Machine Learning);

自然语言处理(Natural Language Processing);

计算机视觉(Computer Vision);

机器人学(Robotics);

通用智能或强人工智能(General Intelligence or Strong AI)。

数据挖掘使用机器学习、统计学和数据库等方法在相对大量的数据集中发现模式和知识,它涉及数据预处理、模型与推断、可视化等

机器学习是人工智能的一个分支,作为人工智能的核心技术和实现手段,通过机器学习的方法解决人工智能面对的问题。机器学习是通过一些让计算机可以自动“学习”的算法,从数据中分析获得规律,然后利用规律对新样本进行预测。
在这里插入图片描述
总结:机器学习为人工智能和数据挖掘提供了底层的技术支撑。反过来说,机器学习也需要大量的有效数据进行训练,所以机器学习和数据挖掘是相互促进的。

机器学习的基本术语

数据集/样本集:记录这组数据的集合,也就是整个表 。数据集中的每一条记录是一个关于事件或对象的描述,每一个记录称为一个示例或者样本。
属性、特征:反应事件或者对象在某方面的的表现或者性质的事项称为属性或者特征
属性值:属性的取值称为属性值
属性空间、样本空间、输入空间:属性作为坐标轴张成的空间称为属性空间,每个点都对应一个坐标向量,这个向量称为特征向量。
特征向量:每一个样本在属性空间中可以找到坐标位置,空间中的每一个点对应一个向量,这个向量称为特征向量。
学习、训练:从数据中学得模型的过程称为学习或者训练,这个过程通过执行某个学习算法完成的。
训练数据:训练过程中使用的数据称为训练数据,训练过程中使用的每一个样本称为训练样本。训练样本的集合称为训练集。
假设:学得模型对应了关于数据的某种潜在的规律,称为假设。
标签:关于示例结果信息称为标签
样例:指既包含样本属性值,又包含标签的样本。注意与样本的区别,样本包括训练样本和测试样本,样本不一定具有标签。
预测:根据已有的众多样例,判断某一样本的输出结果
测试:通过学习得到模型后,使用样本进行检测的过程。
测试样本:用于进行检测的样本。
回归:当结果预测值为连续值时,如预测西瓜的成熟度,此类任务称为回妇
分类:当结果预测值为离散值时,如西瓜的“成熟”未成熟”,此类任务称为分类。尤其是只涉及两个类别时,称为“二分类”。通常,其中一个称为“正类”,另一个称为“反类”。涉及多个类别时,称为“多分类”。
新样本:没有用于模型训练的样本都可认为是对该模型的新样本。
泛化:指训练的模型不仅适用于调练样本,同时适用于新样本。

机器学习应用实现流程

收集数据→
准备输入数据(预处理、数据格式处理)
分析输入数据(确定是否存在垃圾数据)
训练算法(运用机器学习算法调用预处理过的数据进行自主学习,从而生成学习机模型,无监督学习不需要此步骤,因为不存在目标变量值,不需要训练算法模型)
测试算法:为了评估算法,必须测试算法的工作效果。对于监督学习,需要使用第4步训练算法得到的学习机,且需要已知用户评估算法的目标变量值;对于无/非监督学习,可用其它的评测手段来检验算法的效果。如果对算法的输出结果不满意,则可以回到第4步,进行进一步的算法改进和测试。当问题与数据收集准备相关时,则需要回到第1步。
使用算法:将机器学习算法转换为应用程序,执行实际任务,以检验算法在实际工作中是否能够正常工作

数据预处理

数据预处理可以分为五步
数据选取
数据清理:处理缺失数据、噪声数据、识别和删除孤立点
数据集成:将多个数据源中的数据集成到一起
数据变换:数据标准化(归一化),数据白化处理
数据规约:
数据归约通常用维归约、数值归约方法实现。维归约指通过减少属性的方式压缩数据量,通过移除不相关的属性,可以提高模型效率。常见的维归约方法有:通过分类树、随机森林判断不同属性特征对分类效果的影响,从而进行筛选;通过小波变换、主成分分析把原数据变换或投影到较小的空间,从而实现降维。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值