团员分享_产品视角的机器学习基础认知_@haiqiao_20200123
2020年1月22日 更新
开启更多功能,提升办公效能

前言:本文是团员haiqiao的第2篇输出,后续还会有他的多篇输出文章,敬请期待!也欢迎更多团员来分享你的干货心得:)


目录

一、通俗理解机器学习是什么?(What)

二、简析为什么产品经理要了解机器学习原理(Why)

三、(重点)简单介绍机器学习和算法原理基础认知(How)

四、(重点)总结机器学习解决问题的常用思维(AI思维)

一、机器学习是什么?(What)

1. 定义

1)通俗理解:机器学习是实现人工智能的一种计算机技术,像人一样理解世界的一种方法。

2)机器学习的基本思路:把待处理的现实问题,抽象成数学问题来解决。

思路步骤:

第一:为这个问题,找一个函数F(x)模型表示它;

第二:利用数学方法,对F(x)模型求最优解;

第三:评估数学模型在现实问题中的解决结果情况。

2. 本质

下面的来自黄钊前辈的整理机器学习的本质例子供大家思考:

1)机器学习的本质是空间搜索和函数的泛化。

2)总结过去,预测未来。

3)机器学习的本质是模式识别。 一部分可以用于预测(有监督学习,无监督学习),另一类直接用于决策(强化学习)。

4)本质来说就是用数据猜测一个复杂函数,由模型复杂程度决定函数复杂程度,对于模型参数求解设计到优化问题。

5)机器学习和生物学习的过程本质上应该是一样的。我认为本质都是映射。

3. 边界(关系与分类)

下面我用2张图给大家解析机器学习的边界,先来看一个现实中出行的问题:

1)现实中“关于出行选择最优出行方案”拆解:

a.出行任务:即出行的目的类型,有出发地和目的地;

b.出行工具:不同交通工具具备提供时间、空间服务;

c.出行情况:根据当天路途情况、达到时间要求、付出的成本等方面考量出行方案。

以上现实问题的解决过程的类比成以下人工智能选择算法工程解决方案的过程:

2)实现人工智能的算法(机器学习)解决方案

a.任务类型:指当前人工智能的功能属性是为了解决一个什么问题/任务?可能是判断或预测(回归)、分类、输出结构化内容

b.数据情况:指当前人工智能的功能实现根据业务的数据源和数据量、数据标注等等方面选择不同的学习方式,例如监督学习:依赖大量的标注数据;

c.机器学习算法:不同的算法的会针对解决不同任务类型有极佳的拟合效果(精确度)、不同的算法在训练时对数据依赖、算力性能和训练时间也不同;例如:SVM是解决二元分类任务的很好方法,要求数据特征较多、输出精确度高,耗性能。


根据上图机器学习解决方案中,将机器学习的边界关系总结如下:

3)机器学习与人工智能的关系、机器学习与深度学习的关系

机器学习是实现人工智能的其中一种技术方法,是人工智能的范畴。机器学习是所有算法的统称,深度学习是其中一类具体算法。


4)机器学习的分类

A.按学习情境(数据情况)分类

a.监督学习

监督学习是指给机器输入一个数据集,并且数据做好了标注(即答案)。机器通过数据来学习正确答案的计算方法。就类似生活中,我们在学校跟着老师学习。

b.无监督学习

无监督学习中,给机器输入的数据集没有标注好的“答案”,所有的数据都是一样的。无监督学习的任务是从给定的数据集中,让数据之间进行做相似、分类、关联等处理,挖掘出潜在的结构。

c.强化学习

强化学习是指机器所拥有的只有一个分数,机器自我评价的一种学习方法。它关注的是机器如何在环境中采取一系列行为,从而获得最大的累积回报(即最佳分数)。通过强化学习,那么机器应该知道在什么状态下应该采取什么行为。

d.迁移学习

迁移学习适用于只有少量的有标注的数据集,有大量没标注的数据集的情况,是一种从一个领域中学到的知识用来帮其他领域中的学习方式。类似我们生活中说的“举一反三、旁类侧通”。


B.按任务问题分类

a.回归任务

回归类算法:它的输出是一个连续的scalar(数值),预测PM2.5的值、预测股票价格、预测房价

b.分类任务

分类型算法:输出的是类别;二元分类:是与否、A或B、判断是否垃圾邮件;多元分类:例如判断文章分类属于政治经济文化等分类

c.结构化任务

结构型算法:输出的内容是结构化的。例如:在百度输入框输入一个查询内容,用户在界面看到一系列内容。


但是,更多时候一个人工智能的功能属性是多个算法模型组合起来实现的。

二、产品经理为什么要了解机器学习原理(Why)

1. PM角色职责边界

在人工智能产品的实现,需要产品经理准确的找到用户需求相匹配的最优的机器学习技术方案。这是跟产品经理的岗位职责,主要体现在以下方面:

1)定义用户需求边界,明确业务目标

2)初步识别用户需求涉及到哪些具体数据和算法模型

为训练模型提供必须的计算资源,以及产品研发期间为研发人员提供的高质量数据;并协助评估算法模型解决方案。

例如:刷脸登录,应用计算机视觉领域如CNN深度学习算法模型等等

2. 公司目标

1)人工智能产品的实现最终是为企业商业价值服务,产品经理主要是从成本侧和利润侧考虑。

2)算法工程实现的过程属于公司项目管理一部分,涉及大量的资源成本投入;算法模型解决现实问题的效果属于价值侧。

故理解机器学习原理,更好做AI项目落地及管理和协助算法模型效果评估。

三、机器学习和算法原理基础认知(How)

1. 明确1个协作目标

产品经理与算法工程师配合,准确找到用户需求相匹配的最优的机器学习技术方案

2. 选择算法模型考虑的主要范围

1)数据情况:

数据量大小、数据是否标注(数据质量)等等

2)业务场景:

判断业务场景中需要解决的问题本质上是一个什么任务类型。

3)业务目标(指标):

结合业务场景和商业目标,评估对算法模型的精确度要求、响应速度要求等

4)性能要求:

根据业务目标和数据源情况,评估算法计算的能力(算力)

3. 基础认知的范围

1)了解机器学习解决问题的原理(略,见上文);

2)了解常见算法训练基本思路(不涉及具体算法推演)、适用解决问题的范围、应用场景;

3)了解机器学习项目流程及效果评估;

4)了解机器学习解决问题的思维。

4. 常见算法分类

1)按浅层学习、深度学习分类

分类标准:浅层学习没有隐藏层或者只有一层隐藏层(隐藏层的本质是进行特征变量转换),深度学习通常会有较多隐藏层,可以表达复杂函数,识别更多复杂特征。对于非结构化数据(文本、图像),人为创建特征困难,深度神经网络可以实现特征的自动提取,这是它的优势。

a.线层学习算法举例:

常见算法,例如:线性回归、逻辑回归、随机森林、SVM、K-means、RBM、AutoEncoder、PCA等。

b.深度学习算法举例:

常见算法,例如:CNN卷积神经网络和RNN递归神经网络,而基于RNN衍生出了LSTM和GRU等一系列算法。

2)按任务类型分类

分类标准: 结合业务场景,判断要解决的现实问题是什么类型任务,机器输出的结果是一个连续的数值、分类类别结果、结构化内容还是分值正常程度/标签类别的准确度。

A.回归

回归类算法指的是在训练中定量预测,机器输出的结果是一个连续的数值。适用监督学习方式。

常见算法:线性回归、支持向量机回归、随机森林回归

B.分类

a. 二元分类:指的是分类器输出的结果的两个类别。适用于监督学习方式。

常见算法:支持向量机、逻辑回归、贝叶斯算法、随机森林、神经网络等等

b.多元分类:实质上大部分都由多个二元分类器解决,输出结果的多个类别。适用于监督学习方式。

常见算法:逻辑回归、随机森林、神经网络

c.聚类:指的是给机器输入没有做标注的数据,让机器自己发现数据的潜在规律和结构,输出结果是把数据源分到不同的类簇中。适用于无监督学习方式。

常见算法:层次聚类、k_means算法、密度聚类算法、高斯聚类模型、 Adaboost、Boosting等

C.结构化

结构化任务:给机器输入的数据是X,输出是Y,但是X,Y的结构是不一样的任务类型。比如结构可以是序列,列表,树,向量、边界框等等

常见算法:隐马尔科夫模型(HMM)、条件随机场(CRF)、结构型SVM

D.异常检测

异常检测任务:指的是机器输出结果的是分值正常程度/标签类别的准确度值。

常见算法:支持向量机(SVM)、基于PCA的异常检测、随机森林

5. 常见算法介绍

以下主要简单从产品经理视角总结14种机器学习的算法内容,后续,还会有专门文章来分享相关内容。

算法

算法分类

适用学习方式

基本介绍(思想)

优点

缺点

应用场景

线性回归

回归类

监督学习

通过研究变量间的线性关系(程度),来预测未来和因果关系。

训练时间短

使用梯度下降法需要调整学习速率,且仅适用数据量多的情况(上万)

做预测和因果分析

逻辑回归

二元分类

监督学习

研究判断一件事情发生的可能性

实现简单,计算量非常小,速度很快,存储资源低;易于理解和实现等优点

使用梯度下降法需要调整学习速率,且仅适用数据量多的情况(上万);容易欠拟合,一般准确度不高

智能推荐系统、决策系统

决策树

二元分类

监督学习

决策树算法采用树形结构,使用层层推理来实现最终的分类

决策树易于理解和解释性好,可视化分析;比较适合处理有缺失属性的样本;运行速度比较快,在相对短的时间内能够对大型数据源做出可行且效果良好的结果

容易发生过拟;容易忽略数据集中属性的相互关联

金融系统,信用评估

随机森林

回归、分类、聚类、异常检测

监督学习(主要)、无监督学习

随机森林是由很多决策树构成的,树之间没有关联。分类任务时,让森林中的每棵决策树分别进行判断和分类得出结果,最终从众多结果投票得出最终的结果。

基本上继承了决策树的全部优点;解决决策树过拟合问题;具有很好稳健性;

它只需要做很少的数据准备,其他算法常常需要对数据做归一化。

随机森林在某些噪音较大的分类或回归问题上会过拟合;

容易忽略属性之间的相关性

信用评分、职位分类、预测疾病风险

支持向量机(SVM)

回归、分类、结构化、异常检测

监督学习

SVM是对数据进行二元分类的线性分类器。SVM的目标是找到能够区分类别且分类间隔最大的超平面,SVM是求解最大分类间隔平面的过程。

小样本情况下精度高;适用于样本特征比较多的情况;鲁棒性比较强,因为分离超平面只取决支持向量。

不适用大样本,计算量大,很耗内存;对数据敏感、类别多的情况效果差;模型复杂,黑盒模型,结果不易解释。

人脸检测、图像及语音识别、文本分类等

K近邻(KNN)

分类、回归

监督学习

给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最近邻的 K 个实例,这 K 个实例的多数属于某个类,就把该输入实例分到这个类中。

简单,易于理解,易于实现,无需参数估计,无需训练;对异常值不敏感(个别噪音数据对结果的影响不是很大);适合对稀有事件进行分类;适合于多分类问题

样本不平衡问题(即类别的样本数量很多,其它样本的数量很少)效果差;需要大量内存,容量大的数据集计算量比较大

智能推荐、兴趣匹配

K-means算法

聚类

无监督学习

对于给定的样本集,按照样本之间的距离大小,将样本集划分为K个中心。(初始K值根据经验判断和业务目的决定)

算法实现简易;算法运行速度快;对处理大数据集,相对可伸缩的和高效率的;

对数据类型要求较高,适合数值型数据;对初始K值敏感,可能会导致不同的聚类结果;对于”噪声”和孤立点数据敏感

图像处理分类、用户画像分析

朴素贝叶斯算法

分类

监督学习

利用贝叶斯定理来预测一个未知类别的样本属于各个类别的可能性,选择可能性最大的一个类别作为该样本的最终类别。朴素是因为假设每个特征相互独立。

实现简单,稳定的分类效率;对小规模的数据表现很好,能处理多分类任务,适合增量式训练;对缺失数据不太敏感

属性个数比较多或者属性之间相关性较大时,分类效果不好;需知道先验概率,由于假设的先验模型的原因导致预测效果不佳。

文本分类、情感分析、电子垃圾邮件分类和过滤等

Adaboost算法

二元分类、分类

监督学习

Adaboost是一种迭代算法,针对同一个训练集训练不同的弱分类器,然后弱分类器集合起来,构成一个更强的最终分类器。

很好的利用了弱分类器进行级联;可以将不同的分类算法作为弱分类器,充分考虑的每个分类器的权重;daBoost具有很高的精度;

弱分类器数目不太好设定,可用交叉验证来确定;数据不平衡导致分类精度下降;训练比较耗时

文本分类、特征选择、人脸检测等

隐马尔可夫模型(HMM)

分类

监督学习

HMM是关于时序的概率图模型,由一个隐藏的不可观测的状态随机序列(Sn),再由各个状态生成一个观测值(Vn)而产生观测随机序列的过程。

HMM是一种结构最简单的动态贝叶斯网,是一种重要的有向图模型;在自然语言处理方面得到很好的效果和广泛应用

按照HMM 的假设,HMM模型是无记忆性的,不能利用上下文的信息。

语音识别、自然语言处理

主成分分析法(PCA)

聚类、异常检测

无监督学习

PCA是一种常用的基于变量协方差矩阵对数据预处理的方法,设法将原来众多具有一定相关性的变量,重新组合为一组新的相互无关的综合变量来代替原来变量,达到降维作用。

PCA部署快速、简单、很方便地测试算法性能;对于做数据预处理和特征提取有很好的实用效果。

新创造的主成分并不具备可解释性,新特征与应用实际场景之间很难建立起联系;手动设置、调整累积可解释方差的阈值。

人脸识别检测、数据预处理、特征提取等

卷积神经网络(CNN)

分类(主要)、回归

监督学习

CNN是借鉴了人类大脑皮层对观察事物的工作原理的一种权重共享网格结构的神经网络,以解决提高数据特征量大及结构类似处理效率慢且保留数据特征准确度的问题。

共享卷积核,对高维数据处理效果好;需手动选取特征,输出结果精确度高

需要调参,需要大样本量,训练最好要GPU;训练时间长

图像识别、分类、目标跟踪等

循环神经网络(RNN)

结构化

监督、无监督学习

RNN(Recurrent Neural Network,)一种专门处理序列(sequences),具有记忆性、参数共享并且图灵完备的神经网络。(来自百度百科)

擅长处理不同输入输出的序列数据,精确度高;拥有记住过去的能力、使用时间序列储存信息;

训练时间长、耗性能;容易出现梯度消失或爆炸(衍生LSTM、GRU算法)

文本生成、机器翻译、语音识别、图像生成描述等

反向传播算法


监督学习

BP算法的输入输出关系实质上是一种映射关系,是多层神经网络等深度机器学习的训练算法,是解决梯度下降的技巧。

具有映射能力;具有记忆机制;容错性(来自百度百科)

训练时间长,BP算法本质为梯度下降,优化的目标函数非常复杂,需要多次迭代参数

广泛应用于多层神经网络

6. 机器学习项目流程及评估

这一part内容主要从项目管理角度出发,产品经理需要在机器学习项目流程中需要做什么?有什么项目评估指标?

1)机器学习项目流程拆解(回答问题1)

一张图了解机器学习流程:

产品经理重点参与的模块:需求分析、数据采集和标注、模型评估和应用。

A.需求分析


主要角色

业务线负责人、PM、算法工程师、其他技术人员

主要事项

需求评审:

PM: 做需求宣讲、内容主要为:业务目标、场景、需求边界(任务类型)、确定数据源、数据量、范围;

研发工程师:评估需求合理性和初步确定技术方案可行性和实现难易程度;


场景分析:抽象业务问题转化为数学问题和机器学习问题;

数据分析:结合已知数据特点、初步提出数据要求及规范;初步探索数据关联度


初步选择算法:结合业务场景的任务类型、业务目标和性能目标、数据特点综合考虑算法模型组合

B.数据采集与标注

详细可见《产品视角的数据构建及管理》


主要角色

PM、数据标注人员、算法工程师、其他业务部门

主要事项

数据需求定义:PM主要定义AI需求涉及哪些特征数据,数据从哪来、是否需要标注等等需求采集方案和标注方案等等


数据采集:PM阐述清晰的数据流和采集方案、算法工程师提出数据采集和格式规范

1)数据源:已入库数据or未入库数据;外部库or内部库;调用第三方or自行爬取;直接采购数据包or公开数据集;

2)数据规范:格式、类型、参数定义、数据入库规范等等


数据标注:PM明确数据标注需求、标注规则、标注方式(机器标注or人工标注)


数据跟踪维护:1)跟踪数据特征迭代变化;2)跟踪数据标注的进度和数据标注质量;3)维护语料库、数据标签库等等


数据规范:主要是根据业务需求,算法工程师提数据规范要求给PM,交付给其他部门;规范内容同上;确保数据入库质量。

C.数据预处理

数据预处理主要包含内容:清洗、转换、采样及切分。详细见《机器学习基础知识指南》(文末链接)内提到的【数据处理】模块



主要角色

数据挖掘工程师、算法工程师

主要事项

数据清洗:目的是去脏数据,由数据工程师处理数据缺失问题、数据异常问题、重复数据问题等等


数据转换:主要由数据工程师对数据做数据标准化、归一化、离散or连续相互等等转换


数据采样:大多数模型对于样本分布(如二分类任务中的正负样本分布)比较敏感,样本大多情况是不平衡的,一般方法为正负采样、随机采样、分层采样等处理;详见文末提供的《机器学习基础知识指南》


数据切分:主要结合数据特点和业务目标和算法模型,把数据切分成不同比例的训练集、验证集、测试集数据

D.特征工程

特征工程的目的是筛选出更好的特征,让算法建模的模型更好的拟合数据。这个模块主要为特征提取(构建)和特征选择,具体方法可详见《机器学习之特征工程(二)》



主要角色

算法工程师(主要)

主要事项

特征提取:根据原始数据找出具有物理意义的特征,主要方法为:将结构化或非结构化数据转化为实向量,探索数据的规律。


特征选择:从特征提取的集合中选择一个最意义的特征子集,目的是提高性能和更好拟合数据;常见方法:过滤、封装、嵌入方法等

E.模型训练和评估


主要角色

算法工程师(主要)、PM(协助解决需求问题)

主要事项

模型训练:选择算法模型和参数,利用训练集的数据来确定函数的参数拟合数据。


参数调优::模型验证至关重要的是判断过拟合、欠拟合,常见的方法是绘制学习曲线,交叉验证。通过增加训练的数据量、降低模型复杂度来降低过拟合的风险,提高特征的数量和质量、增加模型复杂来防止欠拟合。


模型验证:通过测试数据,验证模型的有效性,观察误差样本,分析误差产生的原因,往往能使得我们找到提升算法性能的突破点。


模型评估:主要针对不同任务类型训练的模型进行评估,具体指标内容见下文

F.模型应用


主要角色

算法工程师、PM、技术负责人、业务线负责人

主要事项

模型发版部署:PM、负责人主要确认模型初步效果,是否满足上线发布要求。决定部署策略:AB测试or全系统发布等等。


接口封装:模型部署后,封装服务接口或者发布SDK更新包,同步上线通知给模型调用以便获取反馈。


上线验证监控:进行发版后,及时监控模型正式环境使用效果指标,进行跟踪反馈


迭代更新:根据模型使用效果和业务目标情况,迭代更新模型

2)算法模型的评估指标(回答问题2)

很多事情都有一个指标来衡量好坏,算法模型也不例外。业务解决的问题主要分两大类:一般来说回归类和分类任务类型

无论是什么任务类型,首先结果一定要准确(符合实际目标值),回归类输出的预测值与真实结果值的差距尽可能无穷小;分类任务输出的分类结果一定要跟实际的结果尽可能无穷一样。

那么,用什么方法或者指标来衡量准确度,又在什么条件用该指标,该指标的意义(本质)是什么?有什么缺点?

下面引用下面大神分享这篇指标干货《机器学习模型评估的方法总结》简单讲解提炼一下,方便理解日后实践。先来一张图看下常见机器学习的模型评估指标:

A.回归类算法模型评估常见指标

a.平均绝对误差(Mean Absolute Error,MAE

平均绝对误差就是指预测值与真实值之间平均相差多大 ,能更好地反映预测值误差的实际情况。

b.平均误差(Mean Squared Error,MSE

平均误差是线性回归中最常用的损失函数,也常用于模型之间的对比,MSE评价数据的变化程度,MSE值越小,说明预测模型描述实验数据具有更好的精确度。

c.R的平均方差(R-square)

数学理解: 分母理解为原始数据的离散程度,分子为预测数据和原始数据的误差,二者相除可以消除原始数据离散程度的影响。

R的平均方差“决定系数”是通过数据的变化来表征一个拟合的好坏。越接近1,表明方程的变量对y的解释能力越强,这个模型对数据拟合的也较好,越接近0,表明模型拟合的越差;经验值:>0.4, 拟合效果好。

缺点:数据集的样本越大,R²越大,因此,不同数据集的模型结果比较会有一定的误差。


B.分类算法模型评估常见指标

在理解下面这些指标之前,我先举个例子,方面理解记忆下面这些指标;

有6张照片样本数据做了标签,3张猫、3张狗。如下图:

现在有一个机器学习的猫狗图片分类算法模型,当该模型给出的结果,如下图:

那么结果可以分成四种情况:

1).实际为猫,且判断为猫(正确):TP – True Positive

2).实际为猫,但判断为狗(错误):FN – False Negative

3).实际为狗,且判断为狗(正确):TN – True Negative

4).实际为狗,但判断为猫(错误):FP – False Positive

这4种情况构成了经典的混淆矩阵,如下表:


实际值:猫

实际值:狗

预测结果:猫

TP

FP

预测结果:狗

FN

TN

a.准确率 (Accuracy)

基于上面的例子,准确率 =(TP+TN)/(TP+TN+FP+FN),预测正确的结果占总样本的百分比,即上面例子准确率=4/6≈66.7%。(注意在保证样本平衡前提下,不然准确率就会失真)


b.精确率 (查准率Precision)

精确率=TP/(TP+FP),所有被预测为正的样本中实际为正的样本的概率。

c.召回率 (查全率Recall)

召回率=TP/(TP+FN),实际为正的样本中被预测为正样本的概率

d.F1_score

在理想情况下,希望模型的精确率越高越好,同时召回率也越高;但是,在现实情况下,往往出现一个值升高,另一个值降低,那这个指标F值就是综合考虑精确率和召回率。F值的计算公式为:

  式中:P: Precision, R: Recall, a:权重因子。当a=1时,F值便是F1值,代表精确率和召回率的权重是一样的,是最常用的一种评价指标。F1的计算公式为: 

e.混淆矩阵

见上文

f.ROC曲线

ROC 和 AUC 可以无视样本不平衡, 分别这两个指标:真正率(True Positive Rate,TPR)和假正率(False Positive Rate,FPR)。这2个复杂的评估指标,这篇《机器学习模型评估的方法总结(回归、分类模型的评估)》已经很详细的解释了,这里直接引用内容,日后实践再通俗理解。真正率TPR= TP/(TP+FN),假正率FPR= 1-TN/(FP+TN)。

ROC(Receiver Operating Characteristic)曲线,又称接受者操作特征曲线。该曲线最早应用于雷达信号检测领域,用于区分信号与噪声。后来人们将其用于评价模型的预测能力,ROC 曲线是基于混淆矩阵得出的。下图为ROC曲线图:

g.AUC曲线

AUC就是ROC 曲线下的面积,通常情况下数值介于0.5-1之间,可以评价分类器的好坏,数值越大说明越好。AUC值越大,当前的分类算法越有可能将正样本排在负样本前面,即能够更好的分类。

AUC评价:

  AUC = 1采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。

0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。

AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。

  AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测,因此不存在AUC < 0.5的情况。

四、总结机器学习解决问题的常用思维

讲常用思维之前,先说两个机器学习涉及到两个基础学科和一个哲学问题。

1. 两个基础学科

在学习完机器学习基础技术的内容后,给我很大感受是人工智能实现原理除了计算机科学的内容外,背后的底层逻辑主要源自借鉴两个基础学科:生物学和数学。例如:深度学习源自借鉴大脑神经网络处理信息。

所以,我建议产品经理若感兴趣的话,可以在生物学和数学这两门学科进行有针对性的延伸自己的知识体系,日后可以理解人工智能实现原理的本质和辅助做AI产品设计。

2. 一个哲学问题

从物质与意识的辩证关系角度:意识是客观存在的主观映像(出自高中课本的哲学知识)

我这里先简单理解“意识”是信息,包含我们设计的人工智能产品内部待解决的现实的问题相关信息(程序内的数据),而客观存在是待解决的业务问题本身甚至自然物质(包括人类等生物)。

进行类比下:我们设计的人工智能产品、机器学习技术的构造逻辑都属于意识,是客观存在的反映。比如上面提到深度学习(CNN等)就是根据人类大脑这个生物器官的反映。

那么, 解决问题的过程实现意识对客观存在的一一映射我们人类的意图是:让意识更快、更准的反映客观存在。故创造出机器学习技术这样的工具(手段)来实现。

3. 七个机器学习解决问题的思维

基于上面的剖析,我们总结延伸出以下七个思维,也是来自数学和人类生物学两个方面解决世界问题的思维,我这里概括下,人类生物学提供解决问题的架构(化解问题的节奏)、数学提供具体的解决问题的方法。

1)模拟人类大脑流的思维

顾名思义,我们通过观察人类大脑是怎么感知世界万事万物的变化的,大脑是怎么处理这些信息的。那么机器学习技术的底层设计,例如深度学习神经网络如RNN、CNN的构造均来自观察人类大脑对信息处理的过程。

例如:“卷积神经网络(CNN)仿造生物的视知觉(visual perception)机制构建”。来自《百度百科词条》

2)升维(具象思维)

由简到繁,升维的思路就是把事物的信息拓展到一个高维度层面观察,以便发现观察得到最优的答案。例如:机器学习中的支持向量(SVM)在解决数据非可分的情况下,通过核技巧和软间隔把低维度的特征向量映射到高维空间,数据就可以分类了。

3)降维(抽象思维)

与升维相反,降维是由繁到简,降维的思路就是把复杂的事物信息映射提取关键的有价值的信息,以更快概括总结事物特征,得到最优的答案。例如,很多算法中都体现了这个思维,比如CNN中的对视觉数据特征的提取、再比如主成分析法(PCA)都是体现降维的这样方法,主成分析法(PCA)的输入是高维度的向量,通过自动编码器(Autoencode),实现降维,输出是一个低维度的结果。

4)迁移(推理归纳)

类似我们生活中“举一反三”、“触类旁通”等等,主要是实际的项目当中,解决效率的问题 ,例如迁移学习中,模型微调、层迁移、多任务学习;模型微调是在旧的模型加上一些约束条件得到一个新的模型,再用目标数据来训练这个模型;而层迁移可以根据不同的学习任务将用源数据训练好的模型的某几层取出/拷贝(连带参数),然后用目标数据去训练没有保留(拷贝出来)的层。这其中从不同学习任务、运用旧模型产生新模型的过程,体现了推理和知识迁移的思路。

5)“求同存异”思维

a.“求同”思维:

我个人的理解,就是宇宙中万事万物对相似的东西彼此之间都有吸引力,然后就会聚集在一起。那么机器学习算法很多实现的过程体现了这样的思维,比如我们做很多分类任务,就是要找出最相似特征、把他们分到一起。这类的算法太多了,例如聚类模型如k均值、SVM、随机森林、相似度计算等等。

b.“存异”思维:

我个人的理解,是我们对未知的、错误的认识的吸收;通过我们在实践中博弈、辩论、犯错中总结的方式来得到。在机器学习中,我们可以看到很多这样的算法,例如:强化学习,运用比较成功的例子应该是AlphaGo下围棋(训练时模拟无数个对手与AlphaGo下无数盘棋,AlphaGo则在无数盘棋的棋法和结果中总结经验,大部分从未知到已知的总结预测);GAN神经网络也类似。

6)数学问题求解思维

顾名思义,将数字化求解问题变为数学求解问题;比如将“识别垃圾邮件”的问题转化求解“这个变量是趋于0还是趋于1的置信度问题”;比如“用户说的这句话是什么意图“转化成”概率大小问题“;再具体机器学习算法中,SVM的 对偶性求解、训练算法时的梯度下降求解、相似度算法的求最大最小、计算距离等等都体现这样的思维。

7)“主要矛盾”思维

顾名思义,机器学习特征工程的过程,体现了哲学中“主要矛盾在复杂事物的许多矛盾中,处于支配地位、对事物的发展起着决定作用”;类比到机器学习的过程,从前面数据分析,做数据清洗处理、到机器学习特征技术工程,都是为了找起最主要关键数据特征变量,训练出来的模型才能更好拟合数据,才能实际有效解决问题。不仅机器学习如此,大脑捕捉信息时,无论是语音还是图像信息,只处理主要关键的;企业发展依靠主要关键业务线增长,个人发展更是如此,扯远了。总之,机器学习的过程就是要产品经理和研发围绕着“主要关键特征变量”来解决“主要矛盾”(即业务问题)

写在后面:

以上为本人学习机器学习一些基础算法后,结合个人一些浅显的思考,总结一些观点,未经过实践,日后完善更新。


参考资料


团员haiqiao历史文章汇总


-END-


以上内容,来自饭团“AI产品经理大本营”,点击这里可关注:http://fantuan.guokr.net/groups/219/ (如果遇到支付问题,请先关注饭团的官方微信服务号“fantuan-app”)



---------------------

作者:黄钊hanniman,图灵机器人-人才战略官,前腾讯产品经理,7年AI经验,10年互联网背景,微信公众号/知乎/在行ID“hanniman”,饭团“AI产品经理大本营”,分享人工智能相关原创干货,200页PPT《人工智能产品经理的新起点》被业内广泛好评,下载量1万+。