一、机器学习初步介绍

写在前面:

由于涉及机器学习领域还不深,只是在一边学习一边实践阶段,所以所写内容仅代表我学习《机器学习实战》书籍的笔记。不足之处请大家批评指正!

1.什么是机器学习

机器学习是一门通过编程让计算机从数据中学习的科学。

类比“人类学习”,我们从小开展的学习,都是在已有的数据、书本上,总结规律、发现相似问题、解决相似问题,用总结出来的解决问题的方法去解决更多的实际问题。“机器学习”也是一样,从给定的数据中发现规律,建立模型,把测试数据输入得到学习结果。

2.为什么使用机器学习

机器学习与传统方法相比,有优有劣。在数据量较少时、项目层级较简单时,传统方法会比及其学习更省时省力,因为在构建模型阶段,我们需要花较多时间调整参数或者调整模型,让机器学习达到理想效果,这比传统方法要冗杂一点。

但是当我们面对的数据集过大、系统较难维护、项目层级复杂时,机器学习是我们很好的帮手。前期通过模型对比、选出较好模型、调整参数…将模型构建好后,后期只需要定时维护(甚至我们可以设置自动定期训练模型、更细腻参数)就能达到更好的效果。

3.应用方面

1.图像分类

eg:分析生产线上的产品图像对产品进行自动分类

2.语义分割

eg:医疗上通过脑部扫描发现肿瘤

3.自然语言处理

eg:在新闻app上,上传新闻后会根据内容自动分类到相同标签中去

4.文本分类

eg:自动标识恶评

5.异常检测

eg:异常来电拦截

6.聚类问题

eg:网购平台通过浏览记录对用户分类,推送更多相关内容

7.数据可视化

eg:用清新有洞察力的图表表示复杂的高维数据

8.强化学习

强化学习是机器学习的一个分支,在一个给定的环境中,训练代理选择在一段时间内将它们的奖励最大化的行动

eg:为游戏建造智能机器人

…………

4.机器学习系统的类型

4.1.有监督学习和无监督学习

根据训练期间接受监督的数量和类型,可将机器学习系统分为:有监督学习、无监督学习、半监督学习、强化学习。

1.有监督学习

在有监督学习中,所有训练集都有标签。相当于在训练数据时,我们已经知道了每个数据对应的答案(标签),模型要做的是从数据与答案(标签)的对应关系中找出规律,解决测试集中没有标签的数据(测试集也是有标签的,只不过我们将机器学习测试结果与实际结果进行对比,评价模型好坏)。有监督学习中两大常见的任务分别是:任务与回归。(在后面的博客中我们会详细介绍)

常见算法:

线性回归;

逻辑回归;

k-近邻算法;

支持向量机;

决策树和随机森林;

神经网络……

2.无监督学习

与有监督学习相反,在无监督学习中数据没有标签,相当于我们在研究一个课题时,没有给出固定答案。我们能做的就是从已给数据中发现规律、挖掘规律,通过不同模型的对比、调整参数,实现预期结果的最优化。

常见算法:

聚类算法(k-means,分层聚类分析……)

异常检测(单类SVM,孤立森林……)

可视化和降维(主成分分析,局部线性嵌入……)

关联规则学习(Apriori,Eclat……)

3.半监督学习

训练集中仅有部分已经标记的数据。由于对大量数据做标记的过程麻烦,且耗时耗力,因此,我们常用可以处理部分已标记数据的算法解决。

eg:相册里的托管服务。在已有图库中对某一个人进行命名,那么下次再次传入该人的图片时,手机就会将这张图像自动分类到之前标记好的标签中。

4.强化学习

强化学习是一个非常不同的巨大智能体,它的学习系统(在其语境中称为智能体)能够观察环境,做出选择,执行动作,并获得回报(或者是得到惩罚)。所以它必须自主学习什么是最好的策略,从而随着时间的推移获得最大的回报。

eg:无人驾驶汽车。汽车不断地识别障碍物、行人、其他汽车,在多次碰撞到障碍物,获得惩罚后,它就会更新策略,下次识别到类似的障碍物就会自主避开。

4.2批量学习和在线学习

根据系统是否可以动态地从传入的数据流中进行增量学习,可将机器学习分为:在线学习和批量学习。

1.批量学习

批量学习中系统无法进行增量学习——必须使用所有可用数据进行训练。这需要大量时间和资源,通常都是离线完成。在离线之前将系统训练好,离线之后,只是通过训练好的系统训练导入数据。

2.在线学习

在线学习中,可以不断地给系统提供数据,逐步积累学习成果,不断更新系统参数。提供数据的方式可以是单独的,也可以采用小批量的小组数据进行训练。

在线学习的一个重要参数是其适应不断变化的数据的速度,也就是我们常说的学习率。如果设置的学习率过高,系统会快速的适应新数据,但同时也很快忘记旧数据。相反,如果学习率过低,系统会学习得更慢,对异常点、噪声值不敏感。

4.3基于实例的学习与基于模型的学习

根据系统如何对数据进行预测(泛化),可将机器学习分为基于实例的学习与基于模型的学习。

1基于实例的学习

系统学习给定的实例,通过使用相似度度量来比较新实例和已经学习的实例,从而泛化新实例。

2.基于模型的学习

通过构建实例的模型,使用该模型并进行预测,称为基于模型的学习。

5.机器学习的主要挑战

由于机器学习的任务主要是学习一个算法,并对给定数据进行预测,所以最可能出现的问题无非就是“不良算法”与“不良数据”。

不良数据:

1.训练数据的数量不足

大部分机器算法需要大量的数据才能正常预测,很多模型的规律要通过长期的趋势才能发现,这些都需要我们提供大量的数据来支撑算法发挥优势、构建合理可靠的模型。

2.训练数据不具有代表性

为了实现更好的泛化,训练数据除了保证数据量充足之外,还要保证其在研究领域有足够代表性。

eg:要对比几个省近年来人口的变化趋势,那么我们需要收集几年来各省的总人口,如果收集到的数据中有些仅代表省会的人口,不代表整个省的人口,那这样的数据就不具有代表性。

3.低质量数据

如果收集到的数据集满是异常值、噪声,还有缺失值,肯定不利于数据的表达及模型的训练。因此,数据清理是机器算法实战中很重要的一个环节,同时也是较为复杂的一个环节。

不良算法:

1.过拟合

过拟合表示算法过于复杂,把很多个别样本的个别特性一并体现在模型中,比如:有的异常点数据,因为噪声的影响与其他数据点出入较大,并不能表现数据集的特性,但在模型训练中,考虑到该过多的这样的点,模型就会过于复杂,适用于训练集的“个别特征”,不适用于同类数据集的“共性特征”。在训练集上表现非常优异,但在测试集上表现不好。

2.欠拟合

与过拟合相反,欠拟合是模型过于简单。没有充分考虑数据特性、或者算法设计的过于简单,对测试集预测效果不佳。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值