首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

机器学习概述

机器学习概述

前言:

机器学习在当前问题繁多、解决难度日益增大的社会环境下,显得愈发重要。

机器学习也是一门跨学科、跨领域的学科。在计算机科学、工程技术、统计学等诸多领域的揉合,便成就了机器学习功能的强大性和多样的适用性。

在工程技术、设计、经济管理、供应链优化、人员合理配置等领域,机器学习都展现了其强大的适应性和解决问题的能力。

为什么要引入机器学习来解决生活中所遇到的问题呢?

首先,在生活中我们遇到的绝大多数问题都是无法给出直接的答案的,有些是因为在问题的理解上,我们无法完全理解问题的前因后果,以致于我们根本无法找寻到正确的建模思路;有些则是因为我们无法拥有足够的计算资源来为问题精确建立模型。这些种种的困境,导致了我们在遇到问题后,无法给出精确答案,那我们就得想个办法来解决这个问题。最开始想到要引入的解决方案之一,就是利用统计学的知识,用概率的方式来求解问题。引入统计学,我们无须得到问题的精确解,但通过求解概率问题,我们可以得到一个相较定性分析(或最原始粗糙的拍脑壳)解决问题而言的要好很多的方案和模型。

一 、机器学习的主要任务

机器学习有两大类的主要任务,一般可以分为分类和回归。而为了达到分类和回归的目的,通常我们会使用到的机器学习算法包括了监督学习方法和无监督学习方法。

01

分类

从字面意思,我们就可以理解,分类所表示的意思就是将不同的数据样本分门别类,适用于离散型数据,且一般情况下表示二分类问题,当然多分类问题才是更符合现实生活的。将属于同一类别的样本分到一起。若用图形来表示的话,则可以将不同的数据用边界线(二维情况)分开,就可以很清楚地看到不同类别数据之间的差异。

02

回归

回归相较于分类而言,是适用于连续型数据预测的任务。为了达到回归的目的,通常情况下,我们都会通过训练集进行模型的训练以及数据的拟合,可以得到数据点的最优拟合曲线,这样之后的数据我们就可以在数据拟合曲线上找到它所对应的点,从而得到回归预测结果。

03

监督学习

我们上面所提到的分类以及回归都属于监督学习的范畴。所谓监督学习就是指,已经知道了预测的对象,即算法知道预测什么(目标变量的分类信息)。也就是说,我们不仅知道数据样本特征值,同时我们也知道数据样本的标签值,这样我们就利用正确的已知的标签值去训练机器学习算法模型,再利用训练好的模型进行应用和推广。

04

无监督学习

无监督学习是相较于监督学习而言的。此时的数据集没有类别信息,也不会给定目标值,只采用输入集,然后去尝试发现数据集之间的关系。聚类、异常检测、密度估计等是常见的无监督学习模型。在当前深度学习愈发火热的情况下,很多神经网络的模型也开始使用无监督学习的方式,且在实际应用中获得了很不错的效果。

二 、机器学习算法的选择思路

如何从纷杂多样的算法中选择到最适合自己数据集的算法呢?

这个问题不仅是诸多刚刚踏入机器学习领域的新手们所头疼的问题,甚至也是那些职场、学术研究中经常使用各类算法模型的老手们所必须考虑的问题。

首先,我们需要考虑我们所面临的问题是什么?需要达到什么样的目的,判断是属于分类任务还是回归预测任务。经过初步的筛选后我们就可以从两个不同的算法集合中挑选出适合我们问题的解决方案。而具体到哪些算法适用于解决哪些问题的细节问题,则会在每次的算法介绍中给出总结。

其次,我们需要对自己所获取到的数据进行分析。如若目标变量是离散型,则可以考虑使用分类方法,如果目标变量是连续型,则可以考虑使用回归方法。同时,我们应当考虑数据特征值是属于离散型变量还是连续型变量,是否存在缺失值,缺失值出现的原因以及我们应当如何对缺失值进行处理,是否存在异常值,各特征的表现情况如何,是否属于经常出现的特征等。然后对症下药,选择与我们的数据相符合的机器学习算法模型。

经历过算法的初步选择后,我们就将算法选择的范围大大缩小了。但需要注意的是:一般并不存在最好的算法或者可以给出最好结果的算法,同时还要尝试不同算法的执行结果,但我们可以使用其他的机器学习技术来改进我们使用的算法,可以大大改良基础算法的预测结果。一般来说,发现最好算法的关键环节是反复试错的迭代过程。

三 、机器学习算法开发的一般步骤

01

收集数据

大数据时代,数据量疯狂增长,且每时每刻都在疯狂累积。数据获取的途径越来越多,可以制作网络爬虫从网页中获取所需数据、可以从数据库或者API接口获取数据,可以使用各种公开可用的数据源。但是,一定要记住,对隐私数据千万要谨慎使用,而且如果我们需要是常期的数据获取,则需要不断提升自己获取数据的能力。(尤其是爬虫技术的提升,很多网站都有各类防止爬虫的技术,我们需要不断增加自己的专业技能,攻克难关,直取我们所需的数据)

02

准备输入数据

在获取数据之后,我们需要对数据进行初步处理,以满足我们后续算法的要求,尤其是格式方面。

03

分析输入数据

通过人工分析,查看数据是否为空,是否可以展示出数据的模式,是否存在明显的异常值。通过图像化(一维、二维、三维等)分析数据,可以有效地帮助我们理解数据模式,可以带来后续分析的思路。

04

训练算法

将数据集分为训练集和测试集,利用训练集数据训练模型,从中抽取知识或信息,且将得到的知识存储为计算机可以处理的格式,以便后续使用。

05

测试算法

利用测试集检验第四步中得到的知识或信息的准确率,如若不满意结果,则可以返回第四步,对算法进行重新的训练。

06

使用算法

将机器学习算法转换为应用程序,执行实际任务,以检验上述步骤是否可以在实际环境中工作。若遇到新的数据问题,则重复执行上述的步骤。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180722G1CJMQ00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券