导读:人工智能、机器学习、深度学习的关系
一、机器学习分类应用
二、机器学习流程
人们在使用机器学习的时候,把很大的精力放在了选择算法、优化算法上面,其实算法的选择只是机器学习其中的一个步骤,但是机器学习其他的步骤也是很关键的,尤其是作为产品经理,了解这个机器学习流程也是至关重要的。
机器学习的流程本质上就是数据准备、数据分析、数据处理、结果反馈的过程,按照这个思路,我们可以把机器学习分为如下步骤:业务场景分析、数据处理、特征工程、算法模型训练、应用服务。下面具体介绍一下这几个步骤。
1. 业务场景分析
业务场景分析就是将我们的业务需求、使用场景转换成机器学习的需求语言,然后分析数据,选择算法的过程。这个是机器学习的准备阶段,主要包括以下3点:业务抽象、数据准备、选择算法。
(1)业务抽象
业务抽象说白了就是针对于业务需求,抽象成机器学习的应用场景的问题,我们上节中讲了机器学习的分类、聚类、回归、降维的应用场景,其实业务抽象就是把我们遇到的业务需求抽象成上述应用场景。
比如我们要做产品推荐的需求,我们要把指定的产品推荐给相应的用户,也就是如何精准营销,给用户推荐是合适的产品。
我们抽象成机器学习的语言就是一个产品A是否要推荐给用户a,这就是一个是或者否的问题,也就是一个分类应用场景。这就是业务抽象,就是把业务需求抽象成机器学习的应用场景。
(2)数据准备
机器学习的基础就是数据,没有数据是无法训练模型,也就是机器是无法学习的,所以数据准备就是识别、收集、加工数据阶段。
通过图谱我们了解到,我们能获取到的数据有机构化数据、半结构化数据、非结构化数据,机器学习同样的是这些数据,这些数据类型在知识图谱有讲解,不在赘述,这里主要讲一下作为产品经理进行数据准备时需要考虑的因素。
1)数据字段的考虑
关于数据字段考虑就是说我们在准备数据时,无论是结构化数据、非结构化数据、半结构话数据,我们都要抽象成一个二维表,二维表表头就是这些数据的表示或是数据的名称,这个就是数据字段。
对于数据字段涉及到两方面:
一方面就是数据字段范围,也就是我们在做业务需求的时候需要哪些字段作为机器学习参数,这跟我们做后台产品经理类似。
做后台涉及需要进行数据项字段的设计,这些字段有业务字段、逻辑字段、系统字段等,对于机器学习字段考虑要比后台设计的字段考虑更深一些,他不仅仅是后台产生的这写数据,还包括一些过程数据、结果数据、埋点数据、转换数据(定性转定量)等,具体我们可以参考一些统计学的方法,去收集、制定机器学习的字段。
一方面就是字段类型的判定,比如到底是字符串型的还是数值型的。
我们做回归分析,需要的必须是数值型的,因为回归是连续变量的分析,假如你要分析性别这个字段,那么必须把他的字段值定义成数值型的,例如0和1,这样才算是连续变量,才能做回归分析,假如要做分类,我们就可以把性别的字段设定成字符串,例如男和女。
2)数据的考虑
关于数据的考虑就是你能获取到的数据案例,就是二维表中除了表头数据字段名称剩下的真实数据了,对于数据考虑,作为产品经理我们要考虑两点:
一个是数据量,在机器学习中,数据需要一定的量,希望可以尽可能的大;
一个是数据的缺省,这个是数据质量问题,要求我们尽可能完善的收集数据,如果数据缺失比较多或者数据乱码比较多的字段,可以不参与模型测算,否则会影响结果,
(3)算法选择
算法选择确定了机器学习的需求、确定了数据项,选择何种算法模型的问题,此阶段由算法工程师主导的,我们知道机器学习有很多的算法,所以算法选择也具有多样性;
同样一个问题可以多种算法解决,随着计算机科学的发展,为了也会有更多的算法支持,同时同一种算法也可以通过调参进行优化。
2. 数据处理
数据处理就是数据的选择和清洗的过程,数据准备好后,确定了算法,确定了需求,就需要对数据进行处理,数据处理的目的就是尽可能降低对算法的干扰。在数据处理中我们会经常用到“去噪”和“归一”。
去噪就是去除数中干扰的数据,也就是说你的数据案例中存在特别情况的,或者是不正常的数据,一方面要求我们产品经理拿到的数据是反映真实世界的数据,一方面我们通过算法可以识别干扰的数据,比如对于数据有正态分布效果的我们可以通过3标准差去噪,因此去噪的目的就是去除掉数据中异常的数据。
归一就是将数据进行简化,一般将数据简化在【0,1】,数据归一化主要是帮助算法能够很好的寻找最优解。
一方面解决的是对于一个数据字段可有多重标示方式,然后数据拿到的多重标示方式的时候,比如一群羊有30只羊,然后你那到的数据有以群为单位的,有以只为单位的,那么着数据必然有误差;
再比如形容一个小时,我们可以以小时单位,也可以以分钟为单位,也可以以秒单位,因为数据分析是不分析单位的,就需要归一化处理,这也就是归一化解决的第一个问题“去量纲”这需要产品经理在获取数据的时候,统一数据计量单位;
归一化另外一个问题就是解决算法“收敛”的问题,这个需要算法去实现,比如你要分析X和Y,X的数据范围是【0-10】,Y的数据范围是【0-100000】算法在处理时考虑到数据收敛问题,会对数据标准化处理。
当然在数据处理中有很多手段,并且有很多算法协助去处理,数据梳理的目的就是按照业务场景将数据优化成对算法模型干扰最小的阶段。
3. 特征工程
在机器学习中有这么一种说法,数据和特征决定了机器学习的上限,模型和算法只是逼近这个上限,数据和特征是算法模型的基础,所谓特征工程就是对处理完成后的数据进行特征提取,转换成算法模型可以使用的数据。
特征功能的目的有以下几个方面:
从数据抽取出对预测结果有用的数据;从数据中构建衍生出对结果有用的信息;寻找更好的特征提高算法高效性;寻找更好的特征可以选择简单的模型就能出具更好的拟合效果。一般情况下在数据处理过程中就可以进行特征工程的工作,比如归一化处理,我们可能在进行特征发现的时候,还需要进一步进行数据处理。
什么是特征?特征就是在原始数据可测量的属性,可测量可以理解成这个数据指标可以被统计,可以被运算或是计算,比如时间戳数据,我们通常获取的数据就是年月日时分秒的结构,比如2019-01-09;12:30:45,这样一个数据是无法被机器学习所运算的,所以需要对这个数进行特征转换,转换成一些数值的表达式,以便于算法理解。
特征工程处理过程包括特征的抽象、特征的评估与选择(同一数据可以抽象成多种特征,对多种特征进行评估和选择)、特征的衍生(特征与特征之间进行组合使用)。特征工程是特征业务定义、算法、数据处理综合的应用。
作为产品经理,我们重点说明一下特征的抽象。特征的抽象就是对原数据转换成特征数据的过程。
我们举几个例子来说明一下:比如你收集到的数据值字符型的数据,比如你收集到的数据是“是和否”型的数据,这种数据机器是无法运算的,那么我们可以转换成“0和1”这样讲数据进行特征抽象后就可以机器学习了。
特征工程是机器学习很重要的一环,特征的好坏直接影响了机器学些的结果,对于同一组数据,我们可能用了相同的算法,但是因为特征选择的不同,我们最终得出的质量也会有很大的差别。所以对特征工程有兴趣的可以参考相关其他相关更详细的资料。
4. 模型训练与应用服务
模型训练就是经历了数据准备、数据处理、特征工程之后,根据选择好的算法,进行训练与评估,通过算法训练得到算法模型,通过新数据测试完成模型质量的评估,这款主要工作在算法工程师这里,产品经理重点关注模型在新数据不断注入的情况下是可以反复训练的。
应用服务就是说模型训练好了,如何输出的问题,以及如何快速训练模型、配置模型相关参数的问题,对于模型的应用可以通过API的方式供应用层调用,应用层也可以通过配置页面来配置模型相关参数,比如置信度等。
5. 了解机器学习流程对产品经理意义
通过简单直白的介绍机器学习流程,对我们产品经理有以下意义:
机器学习过程,不是一个简单的过程,不是说定好了需求,直接交给算法工程师就可以了,产品经理要把握机器学习业务场景抽象;要对原始数据质量、数量有很好的把控;对特征的抽象需要有深入的了解;机器学习的基础是数据、以及数据特征的转换,需要我们对处理的处理过程有更深层次的了解与掌握,需要多学一些数据、统计学、计量学相关知识;机器学习的需求也不仅仅是通过原型、文档就能解决的,需要产品经理与工程师深度的合作,参与到机器学习的过程中。