前言:其实我一直认为人工智能,大数据,区块链这些行业,是不需要纯产品经理这种的职位的,现实工作中上更应该是商业模式设计师+技术架构师决定产品布局和方向,因为大部分产品经理普遍缺乏这种复杂商业模式的设计能力,也不能像技术人员一样深入理解这些技术的适用边界和特性,这些并不是产品经理这个岗位的问题,主要是毕竟这些行业目前还属于技术驱动阶段,产品的参与程度普遍偏低,这个现象在百度,阿里,爱奇艺,美团点评等公司也是如此,相信在技术框架和算法日趋成熟后,在产品差异化竞争阶段产品经理的作用会越来越多。本文主要是针对我常见的人工智能算法,做简单的罗列和梳理,帮助产品经理快速入门,眼界和能力所限,肯定有很多不足和错误,欢迎拍砖。
1.人工智能主要研究方向
计算机视觉:模式识别,图像处理,如自动驾驶,医疗图像诊断,机器人分拣货,人脸识别。
自然语言理解与交流,包含语音识别,语义识别,人机交互,语言合成,如文字处理,机器人客服。
认知和推理:包含物理和社会常识,机器学习,如交互搜索引擎,智能推荐引擎,金融风控,大数据预测。
其实还有其他分类,目前尚不成熟,暂时不予考虑、
人工智能的应用主要是从上述方向,提供交互能力,思考能力,服务能力
2.人工智能主要算法
按模型训练方法不同:监督学习,半监督学习,无监督学习,强化学习
按解决任务不同:二分类算法,多分类算法,回归算法,聚类算法,异常检测
一,监督学习:
从给定的一组输入X输出Y的训练集中,学习将输入映射到输入出的函数(如何关联输入和输出),且训练集中的数据样本都有标签或者目标
A: 人工神经网络:自动编码器,反向传播,玻尔兹曼机器,卷积神经网络,HOPFIELD网络,多层感知器,径向基函数网络,受限玻尔兹曼机器,回归神经网络,自组织映射,尖峰神经网络
B:贝叶斯类:朴素贝叶斯,高斯贝叶斯,多项朴素贝叶斯,平均依赖性苹果,贝叶斯信念网络,贝叶斯网络
C: 决策树类:分类回归树,迭代,算法,卡方自动交互检测,决策残端,ID3算法,随机森林,SLIQ
D: 线性分类器:Fisher的线性判别,线性回归,逻辑回归,多项逻辑回归,朴素贝叶斯分类器,感知,支持向量机
二,无监督学习:
无监督学习和监督学习最大的区别就是无监督学习的训练数据没有标签,无监督的学习目标是没有人为注释中抽取信息,学习从分布式中采样,去噪,寻找数据分布的流形成或是将数据中的相关样本聚类
A:人工神经网络类:生成对抗网络,前馈神经网络,逻辑学习机,自组织映射
B:关联规则类:先验算法,Eclat算法,FP-GRowth
C:分层聚类,单连锁聚类,概念聚类
D:聚类分析:BIRCH算法,DBSCAN算法,期望最大化,模糊聚类,K-means算法,K均值聚类,K-medians类,均值飘移算法,OPTICS算法
F:异常检测类,K最近邻算法,局部异常因子算法
三,半监督学习:
在数据中插入一部分标签,常见算法有生成模型,低密度分离,基于图形的方法,联合训练等
四,强化学习:
强化学习是一种让计算机通过不断尝试,从错误反馈中学习如何在特定的情况下,选择可以得到最大的回报和行动,最后找到规律,达到目标的方法。常见算法有Q学习,状态-行为-奖励-状态-行动,DQN ,策略梯度算法,基于模型强化学习时序差分学习,还有神奇的多臂老虎机,你get到了么?
五,深度学习、
深度学习是一种试图使用由多重非线性变换构成的多个处理层,对数据进行高层抽象的算法,深度学习的好处是用无监督或者半监督的特征学习和分层特征提取高效算法来替代手工获取特征,深度学习本质上是让计算机用层次化的概念体系来理解和学习。而每个概念则通过与某些相对简单的概念之间的关系定义,从而实现通过简单概念学习复杂概念。
常见的深度学习有,深度信念网络,深度卷积神经网络,深度递归神经网络,分层时间记忆,深度玻尔兹曼机,栈式自动编码器,生成对抗网络。
五,迁移学习、
迁移学习是一种把已经训练好的模型参数,迁移到新的模型上来帮助新模型训练的学习方法,常见的算法偶,归纳式迁移学习,直推式迁移学习,无监督式迁移学习,传递式迁移学习。
3.算法的适用场景
3.1算法选择因素
数据量大小,数据质量和数据本身特性?
机器学习要解决的具体业务场景中问题的本质是什么?
可以接受的计算时间是什么?
算法精度要求有多高?
3.2二分类
3.2.1二分类支持向量机,适用于数据特征较多,线性模型的场景,
3.2.2二分类平均感知器,适用于训练时间短,线性模型场景
3.2.3二分类逻辑回归,适用于训练时间短,线性模型场景
3.2.4二分类贝叶斯点机,适用于训练时间短,线性模型场景
3.2.5二分类决策森林,适用于训练时间短,精准的场景
3.2.6二分类提升决策森林,适用于训练时间短,精准度高,内存占用量大的场景
3.2.7二分类决策丛林,适用于训练时间短,精准度高,内存占用量小的场景
3.2.8二分类局部深度支持向量机,适用于数据特征较多的场景
3.2.9二分类神经网络,适用于精准度高,训练时间长
3.3多分类
二分类问题实际上解决了非黑即白的的问题,但是世界上的问题和矛盾在很多情况时,提供了多个选项,解决多分类问题通常用三种解决方案,第一种从数据集和使用方法入手,利用二分类器解决多分类问题,第二种,直接使用具备多分类能力的多分类器。第三种,将二分类器改进成多分类器进而解决多分类问题。
3.3.1多分类逻辑回归,适用于训练时间短,线性模型场景
3.3.2多分类神经网络,适用于精度高,训练时间长的场景
3.3.3多分类决策森林,适用于精度高,训练时间短的场景
3.3.4多分类决策丛林,适用于精度高,内存大的场景
3.3.5一对多分类,取决于二分类器效果
3.4回归
回归问题常被用来预测具体的数值而非分类,除了返回结果不同,其他方面与分类问题相似,通常将定量输出,或者连续变量预测称为回归,将定性输出,或者离散变量预测称为分类。
3.4.1排序回归,适用于对数据进行分类排序的场景
3.4.2泊松回归,适用于预测事件次数的场景
3.4.3快速森林分位数回归,适用于预测分布的场景
3.4.4线性回归,适用于训练时间短,线性模型的场景
3.4.5贝叶斯线性回归,适用于线性模型,选了数据量较少的场景
3.4.6决策森林回归,适用于精度高,训练时间短的场景
3.4.7提升决策森林回归,适用于精度高,训练时间短,内存大的场景
3.5聚类
聚类的目标就是发现数据的潜在规律和结构,聚类通常被用作描述和衡量不同数据间的相似性,并把数据源分类到不同的族中
3.5.1层次聚类,适用于训练时间短,大数据量的场景
3.5.2K-MEANS算法,适用于精准度高,训练时间短的场景
3.5.3模糊聚类FCM算法,适用于精准度高,训练时间短的场景
3.5.4SOM神经网络,适用于运行时间较长的场景
3.6异常检测
异常检测是指对数据中存在的不正常或者非典型的个体进行检测和标志,有时候也称偏差检测,异常检测看起来非常像监督学习,其实区别非常大,因为异常检测中的正样本数量非常小
3.6.1一分类支持向量机, SVM ,适用于数据特征较多的场景
3.6.2基于PCA的异常检测,适用于训练时间较短的场景