机器学习是什么
第一章 机器学习是什么
前言
- 机器学习——我们可以首先想想人类学习的目标是什么?是掌握知识、掌握能力、掌握技巧。最终能够进行比较复杂或高要求的工作。那么类比一下机器,我们让机器学习,不管学习什么,最终的目的都是为了让它能够独立或者半独立地进行相对复杂或者高要求的工作。我们在这里提到的机器学习更多的是让机器帮助人类做一些大规模的数据识别、分类和规律总结等人类坐起来比较花时间的事情。这就是机器学习的本质目的。
- 机器学习从学习的种类来分,我们常分为两种,一种是“监督学习”(unsupervised learning),另一种是“有监督学习”(supervised learning)。所谓“无监督学习”是指人们获得在获得训练的向量数据后在没有标签的情况下尝试找出数据内部蕴含的某种关系的一种挖掘工作,这个过程中使用者出了可能要设置一些必要的超参数(hyper-parameter)以外,不用对这些样本做任何的标记或者是过程干预;“有监督学习”与此不同,每一个样本都有明确的标签,最后我们只是要总结出这些训练样本向量与标签的映射关系。
`
一、聚类
聚类(clustering)是一种典型的“无监督学习”,是把物理对象或者抽象对象的集合分组为由彼此类似的对象组成的多个类的分析过程。
- 我们人类天生就具备对事物归纳和总结的能力,能够把相似的事物分类到一起作为同一大类的事物,虽然这些事物可能存在某些差异,但是在宏观的认知中,可以忽略这些差异,仍将这些事物归为一类。例如,小轿车、卡车、特种车是不同种类的车,但是我们习惯都将他们统称为车辆。
- 在没有人特意教给我们不同小种群的称谓和特性之前,我们自然具备将特征形态相同或相似的事物划分为一起,将特征形态不同的事物划分到不同概念下,这就是“聚类”的思维方式。
比较常见的聚类方法包括K-means、DBSCAN等几种,基本思路都是利用每个向量之间事物“距离”信息——空间中的欧氏距离或者曼哈顿距离,判断是否属于同一类。例如,下图中的三个样本点,一个是520,一个是521,顶一个是600,如果将样本点数据分为两类,则520和521为一类,600为一类,并不是因为520和521都是比较浪漫的数字,而是因为521与520相聚较近,而521与600相聚较远。机器学习也是用算法来感知数据两者之间的距离,然后将彼此之间靠的近的划分为一起,以区别其他类簇。
- 在聚类的过程中,从获得具体地样本向量到得出聚类结果,人对整个过程并没有进行干预,这就是“非监督”一词的由来。
二、回归
“回归”(regression)是一种“由果索引”的过程,是一种归纳的思想。
在机器学习领域,最常用的回归由两种——线性回归和非线性回归。
1.线性回归
线性回归:在观察和归纳样本的过程中认为向量和最终的函数值称呈现线性关系。
向量和函数值的线性关系表示为:
y = f(x) = wx + b
其中,(x,y)为样本数据,b为偏置误差。
例如,预测一个房子的价格主要考虑房子大小、位置、楼层等因素,我们猜测房子价格与上述因素的具有如下线性关系:
y = w1 * 位置 + w2 * 大小 + w3 * 楼层 + b
其中,价格y和位置、大小和楼层是已知的数据,而w 和 b是要训练的参数,我们的目的是得到一组合适的w 和b 从而让线性函数适合普遍数据情况。
那么,如何判断线性函数是否“合适”呢?这是就要用到“损失函数”了,这个损失函数是在整个数据样本中,根据线性函数预测得到的y 和真实观测到的y~的差距的加和,如下所示:
wxi + b -yi 为每一个训练向量xi 在通过我们假设的关系f(x)=wx+b 映射后与实际观测值yi的差距值,而Loss 则为所有样本向量的差距加和,所以Loss 越小就说明这个映射关系描述越精确。
所以我们的目的:使用相应的方法找出保证Loss 尽可能小的w 和b 的取值
2.非线性回归
非线性回归中,在机器学习领域应用最多的是逻辑回归。
逻辑回归看上去更像是分类,与前面说的线性回归不同,在这种模型中,观察者假设的前提是y只有两种值:一种是“1”,另一种是“0”,或者说为:“是”与“否”的判断。
线性回归的函数如下:
如果设z = wx + b ,那么这个回归的分类模型表达式就可以改写为:
函数对应的图像为:
三、分类
分类是机器学习中最常用的算法,通常把分类算法叫做“分类器”
逻辑回归和普通的线性回归不同,它的拟合是一种非线性的方式。而最终输出的标签值虽然是一种实数变量,而最终分类结果却期望是一种确定的值“是”(1)或“否”(0)。其他各种分类器的输出也是离散的变量。
分类训练过程和回归的训练过程一样:
- 1.输入样本和分类标签;
- 2.建立映射假说的某个y=f(x) 的模型;
- 3.求解出全局的损失函数Loss 和待定系数w 的映射关系,Loss= g(x);
- 4.通过迭代优化逐步降低Loss,最终找到一个w能使召回率和精确率满足当前需求。
总结
就机器学习作为研究对象来说,也有传统的机器学习和深度学习两个粗略的分类方式,他们最大的区别:
- 传统的机器学习通常需要人提前来做特征提取,把提取过来的特征向量化后再丢给模型去训练,这里人要做相当的前置工作。
- 深度学习通常可以采用端到端的学习方式,输入的内容只需要做很少的一些归一化(normalization)、白化(whitening)等处理就可以推给模型去训练,通常不需要人来做特征提取的工作。
本文参考文献:《白话讲深度学习与Tensorflow》高扬、卫峥 著
**
如果本文对您有帮助,请点赞哦亲!!!
谢谢你辣么好看,还给我点赞!!!
**