基本技能

  • 人工智能产品经理属于产品经理的一种,必须对用户、需求、商业模式有深刻的认知。
  • 除此之外,人工智能产品经理还需要4项基本技能:懂数据、懂算法、会沟通、懂行业

如图1所示。

图1 人工智能产品经理的基本技能

数据由行业产生,人工智能产品经理需要拥有敏锐的数据洞察力,这样才能在众多业务数据中梳理出有价值的数据信息;算法在没有使用场景时,只是一些数学公式,行业就是算法的使用场景,算法过程需要根据使用场景而改变,这样才能更好的服务于场景,数据是算法血液,算法中的很多参数是依靠数据训练而得到;沟通是产品经理的固有技能,人工智能产品经理的沟通需要根据自身对行业、数据、算法的理解,与开发工程师、运营人员及行业专家等不同角色进行交流,才能有效的调动资源;懂行业是做产品的基本素质,产品使用场景、商业模式都源于对行业的认知。

  1. 懂数据
    数据是人工智能产品的基础,人工智能产品经理必须懂得如何利用数据去构建产品。懂数据经常与懂行业相伴相生,数据毕竟来源于行业,所以数据自然带有行业的一部分特征。人工智能产品经理的数据认知,主要体现在以下三个方面,如图2所示。

    图2 数据认知的三个方面
    (1)懂数据的业务内涵
    数据业务内涵是指数据在业务中的意义。无论是做数据分析,还是做人工智能产品,首先要搞清每种数据的含义。数据通常来讲能够反应出某项业务或某类业务,模型的构建过程也是对业务关系的梳理。懂得数据业务内涵对也有有利于掌控数据标注的相关工作。
    (2)懂数据属性
    数据属性是指数据本身的特征。数据属性包括数据类型、数据质量等不同维度的属性。数据类型很多,有图像数据、文本数据、声音数据等,每种数据类型具有不同的分析方法与建模方法。图像数据可以采用卷积神经网络进行处理,文本数据可以采用决策树以及马尔科夫链模型进行处理。数据质量包含的内容较多,包括数据真实性、数据结构化程度、数据异常情况等。不同质量的数据处理过程也不同。大多数情况下,非结构化数据需要转化为结构化数据后才能构建模型。
    (3)懂数据处理的技术与流程
  • 数据处理是指将原始数据变为对特定场景下有价值、有意义的数据形式。人工智能产品经理应该掌握数据处理流程;
  • 人工智能产品经理首先需要对数据进行整体评估,确定数据是否能够满足业务需求,评价数据质量等相关情况。在对数据充分认知后,才能够进行数据处理与建模工作。
  1. 懂算法
  • 人工智能产品经理需要参与算法的设计过程,所以必须深入了解算法原理。懂算法可以更好的与算法工程师沟通,并且能够知晓不同算法的应用场景。
    熟悉普通产品经理工作流程人都应该清楚,普通产品经理主要以提出需求为主,他们撰写产品需求文档提交给开发工程师,由开发工程师应按照需求文档的内容进行开发。普通产品经理的工作模式是制定一个产品开发的目标,由开发工程师去完成这个目标。普通产品经理以“目标”为导向来参与产品研发,他们制定产品功能的目标,为最终结果负责。对于具体“目标”的实现过程,普通产品经理很少参与,大部分由开发工程师完成。
  • 人工智能产品经理需要懂算法,这样才能参与产品功能的实现过程。在产品开发的过程中,人工智能产品经理始终参与算法的研发,一直需要与算法工程师保持紧密的配合。人工智能产品经理需要针对行业特征进行技术预研,评估哪些算法适合产品的应用场景。算法模型的训练以及训练数据的准备工作,都需要人工智能产品经理参与。首先,人工智能产品经理会提出产品需求,在提出产品需求后,他们会帮助算法工程师寻找合适的路径去实现。人工智能产品经理不仅要撰写需求文档,还需要撰写技术文档,通过自己对技术和行业的了解,在需求与算法间建立一栋桥梁,提出最佳的算法及技术实现路径。人工智能产品经理更多的参与产品“目标”的实现过程过程,是以“过程”为导向来参与产品研发。由此可见,人工智能产品经理需要懂技术,这样才能顺利进行技术预研,并保证与算法工程师沟通顺畅。
  • 基于行业特点,人工智能产品经理首先需要确定哪些是分类问题?哪些是预测问题?解决这些问题适合用什么算法?这些都需要与算法工程师深入的沟通,沟通的基础就是对算法的理解。
  • 通常情况下行业问题都比较复杂,很难用单一的算法满足需求。人工智能产品经理需要探索如何组合不同的算法来满足行业需求。算法就像积木,人工智能产品经理需要根据行业需求的特点,去将算法积木搭建成相应的形状。只有人工智能产品经理懂得算法原理,才能知道如何利用算法满足行业需求。

    图3 人工智能产品的算法设计路径
  • 在产品构建过程中,人工智能产品经理参与算法设计的路径如图3所示。
    第一步,需求确定。确认需求是一个反复的过程,首先通过自己对行业的了解提出需求,之后要通过访问行业专家或用户调研确定需求。
    第二步,算法设计。算法设计考虑的维度较多,首先要将需求分解成几个部分,分析这些问题属于哪类问题。如果是文本分析问题,可以考虑使用长短时记忆神经网络解决,如果是策略规划问题,可以考虑用强化学习解决,除此之外还需要考虑数据的情况。综合以上各种情况确定使用何种算法。
    第三步,算法讨论。将算法设计的思路与算法工程师讨论,共同完成算法的实施路径。
    第四步,算法确认。算法达到三个要求可以认为完成了算法确认。其一,能够满足也业务要求;其二,在现有资源环境下可实施开发。当算法得到几方确认后,便可以开始实施开发。
    第五步,算法验收。算法在实施过程中会有非常多问题存在,需要真正完成开发才能知道效果如何。在算法模型与真实业务系统完成对接,运营环境、运维等工作都得到确认,并确定算法模型能够达到需求之后,算法验收工作才能结束。
  • 算法模型就像产品一样,同样是一个不断改进更新的循环过程。在这个过程中,伴随着硬件的升级,新模型的设计思路,甚至新业务数据的加入,算法只有不断改进才能更好的符合业务需求。
  1. 会沟通
    人工智能产品经理作为需求、算法、项目三方的协调者与管理者,尽量采用专家方式沟通会更有效。所谓专家式沟通主要强调沟通者以专家的身份,有理有力有节的阐述观点进行沟通。人工智能产品经理与别人沟通时,需要具备以下3个特点,如图4所示。

    图4 人工智能产品经理沟通要素
  • 专业性是人工智能产品经理的立命之本。无论是对于行业还是对算法,以及在规划功能和设计流程时,都应该始现自己的专业性。只有突出专业性,才更容易取得信任。
    条理性人工智能产品经理在一切沟通时的原则。无论什么样的沟通首先阐述结论,在阐述理由,同时说明问题的背景及相关说明。沟通时,必须做到条理清晰,阐述理由时尽量使用推理演绎的逻辑路径,能够用图表达的尽量不要用文字。
  • 广博性是人工智能产品经理个人魅力体现。需要人工智能产品经理有广阔的知识面与变通能力,针对不同的沟通对象尽量使用同样的语言,或类似的思考路径进行沟通,否则很容易产生无效沟通,而浪费了大量的时间。人工智能产品经理沟通对象很多,所以需要有足够的知识储备,所以尽量做到懂算法、懂行业、懂设计、懂运营的综合人才。
  • 人工智能产品经理最重要的沟通对象是算法工程师。吴恩达在NIPS 2016演讲中提到了人工智能产品经理的角色定位,强调人工智能产品经理是用户与算法人员间的桥梁。由于算法工程师并不很了解行业,如何将行业内容用算法语言描述给算法工程师是十分重要的,这种沟通我们称之为“转译”。转译就像是一个翻译过程,将不同两个领域的术语翻译给对方。人工智能产品经理进行转译时,需要注意以下几个要点:
    (1)沟通行业背景
    人工智能产品经理具有行业背景,与算法工程师沟通时,尽量使用对方能够听懂的语言,解释产品给行业带来的价值。首先双方应该沟通产品的行业背景,能够使算法人员对整个产品有更全面的了解,有利于代码质量的提高。
    (2)说明产品价值
    首先将沟通的最终目标解释给对方,让对方明白这件工作的意义。例如在与算法工程师沟通时,首先让对方明白我们需要实现产品功能是什么。在了解产品功能之后,再进行算法方面的讨论。
    (3)产品功能分解
    产品功能通常由很多小的功能模块组成,人工智能产品经理需要根据自己对行业的理解,将产品功能进行模块化拆分,与算法工程师针对单个模块内容进行沟通。
    (4)给出数据例
    数据例指的是训练数据的数据样例。人工智能产品经理需要负责数据的协调工作,应该尽快让算法工程师看到数据例,这样能节省很多沟通的时间。即使现在没有足够的数据,数据的基本情况也要尽快与算法工程师沟通。
    (5)提供算法方案
    人工智能产品经理需要进行技术预研,应该首先提出一套算法方案用于和算法工程师交流。该算法方案包括建议使用的算法类型、数据处理方案等。这样可以就具体的算法路径进行讨论,提高了沟通的效率。

十种AI常用算法

  1. 决策树
    根据一些 feature 进行分类,每个节点提一个问题,通过判断,将数据分为两类,再继续提问。这些问题是根据已有数据学习出来的,再投入新数据的时候,就可以根据这棵树上的问题,将数据划分到合适的叶子上。

  2. 随机森林
    在源数据中随机选取数据,组成几个子集

    S 矩阵是源数据,有 1-N 条数据,A B C 是feature,最后一列C是类别

    由 S 随机生成 M 个子矩阵

    这 M 个子集得到 M 个决策树
    将新数据投入到这 M 个树中,得到 M 个分类结果,计数看预测成哪一类的数目最多,就将此类别作为最后的预测结果

  3. 逻辑回归
    当预测目标是概率这样的,值域需要满足大于等于0,小于等于1的,这个时候单纯的线性模型是做不到的,因为在定义域不在某个范围之内时,值域也超出了规定区间。

    所以此时需要这样的形状的模型会比较好

    那么怎么得到这样的模型呢?
    这个模型需要满足两个条件 大于等于0,小于等于1
    大于等于0 的模型可以选择 绝对值,平方值,这里用 指数函数,一定大于0
    小于等于1 用除法,分子是自己,分母是自身加上1,那一定是小于1的了

    再做一下变形,就得到了 logistic regression 模型

    通过源数据计算可以得到相应的系数了

    最后得到 logistic 的图形

  4. SVM
    support vector machine
    要将两类分开,想要得到一个超平面,最优的超平面是到两类的 margin 达到最大,margin就是超平面与离它最近一点的距离,如下图,Z2>Z1,所以绿色的超平面比较好

    将这个超平面表示成一个线性方程,在线上方的一类,都大于等于1,另一类小于等于-1

    点到面的距离根据图中的公式计算

    所以得到 total margin 的表达式如下,目标是最大化这个 margin,就需要最小化分母,于是变成了一个优化问题

    举个栗子,三个点,找到最优的超平面,定义了 weight vector=(2,3)-(1,1)

    得到 weight vector 为(a,2a),将两个点代入方程,代入(2,3)另其值=1,代入(1,1)另其值=-1,求解出 a 和 截矩 w0 的值,进而得到超平面的表达式。

    a 求出来后,代入(a,2a)得到的就是 support vector
    a 和 w0 代入超平面的方程就是 support vector machine

  5. 朴素贝叶斯
    举个在 NLP 的应用
    给一段文字,返回情感分类,这段文字的态度是positive,还是negative

    为了解决这个问题,可以只看其中的一些单词

    这段文字,将仅由一些单词和它们的计数代表

    原始问题是:给你一句话,它属于哪一类
    通过 bayes rules 变成一个比较简单容易求得的问题

    问题变成,这一类中这句话出现的概率是多少,当然,别忘了公式里的另外两个概率
    栗子:单词 love 在 positive 的情况下出现的概率是 0.1,在 negative 的情况下出现的概率是 0.001

  6. K最近邻
    k nearest neighbours
    给一个新的数据时,离它最近的 k 个点中,哪个类别多,这个数据就属于哪一类
    栗子:要区分 猫 和 狗,通过 claws 和 sound 两个feature来判断的话,圆形和三角形是已知分类的了,那么这个 star 代表的是哪一类呢

    k=3时,这三条线链接的点就是最近的三个点,那么圆形多一些,所以这个star就是属于猫

  7. K均值
    想要将一组数据,分为三类,粉色数值大,黄色数值小
    最开心先初始化,这里面选了最简单的 3,2,1 作为各类的初始值
    剩下的数据里,每个都与三个初始值计算距离,然后归类到离它最近的初始值所在类别

    分好类后,计算每一类的平均值,作为新一轮的中心点

    几轮之后,分组不再变化了,就可以停止了

  8. Adaboost
    adaboost 是 bosting 的方法之一
    bosting就是把若干个分类效果并不好的分类器综合起来考虑,会得到一个效果比较好的分类器。
    下图,左右两个决策树,单个看是效果不怎么好的,但是把同样的数据投入进去,把两个结果加起来考虑,就会增加可信度

    adaboost 的栗子,手写识别中,在画板上可以抓取到很多 features,例如 始点的方向,始点和终点的距离等等

    training 的时候,会得到每个 feature 的 weight,例如 2 和 3 的开头部分很像,这个 feature 对分类起到的作用很小,它的权重也就会较小

    而这个 alpha 角 就具有很强的识别性,这个 feature 的权重就会较大,最后的预测结果是综合考虑这些 feature 的结果

  9. 神经网络
    Neural Networks 适合一个input可能落入至少两个类别里
    NN 由若干层神经元,和它们之间的联系组成
    第一层是 input 层,最后一层是 output 层
    在 hidden 层 和 output 层都有自己的 classifier

    input 输入到网络中,被激活,计算的分数被传递到下一层,激活后面的神经层,最后output 层的节点上的分数代表属于各类的分数,下图例子得到分类结果为 class 1
    同样的 input 被传输到不同的节点上,之所以会得到不同的结果是因为各自节点有不同的weights 和 bias
    这也就是 forward propagation

  10. 马尔可夫
    Markov Chains 由 state 和 transitions 组成
    栗子,根据这一句话 ‘the quick brown fox jumps over the lazy dog’,要得到 markov chain
    步骤,先给每一个单词设定成一个状态,然后计算状态间转换的概率

    这是一句话计算出来的概率,当你用大量文本去做统计的时候,会得到更大的状态转移矩阵,例如 the 后面可以连接的单词,及相应的概率

    生活中,键盘输入法的备选结果也是一样的原理,模型会更高级

人工智能产品经理及十种AI常用算法相关推荐

  1. 产品读书《人工智能产品经理:AI时代PM修炼手册》

    读后总结: 该书是本文转产品后阅读的第一本AI产品书籍,本人技术出身,确切是从计算机视觉转的产品,技术的问题不细说,但本书提供了一个较为全面和全新的角度去了解AI这个行业和AI产品经理这个岗位,不同于 ...

  2. 人工智能(3)---未来已来,如何成为一名人工智能产品经理

    未来已来,如何成为一名人工智能产品经理 在人工智能时代,PM 的合作者不再是 Engineer,而是 Scientist.敏捷团队的工作成果不再是 APP,而是中间件(Input → 中间件 → Ou ...

  3. 从产品经理向人工智能产品经理进阶 | 机器学习必备知识

    http://www.woshipm.com/ai/2438283.html 以技术为主要驱动力的人工智能时代,人工智能产品经理一定需要学习人工智能相关技术.本文笔者将与大家讲述机器学习的相关知识. ...

  4. 人工智能产品经理知识体系和学习计划

    人工智能(Artificial intelligence)产品经理知识体系及学习计划 学习目标 具备成为人工智能产品经理的能力(To be a AI product manager not AI sc ...

  5. 人工智能产品经理读书笔记1

    AI时代重新定义产品经理 人工智能是工具,也是新的产品设计思维逻辑 人工智能技术给传统的服务和产品赋能 人工智能三要素:算法.数据.计算能力 人工智能产品成功的必备条件 核心技术:解决用户需求的一种手 ...

  6. 干货整理及PPT下载福利 2017(上海)人工智能产品经理大会

    9月24日(周日),在上海举办了2017中国人工智能产品经理大会:下面,是咱们"AI产品经理游学小分队"驻上海团友@日月德 发回的现场干货总结(鼓掌)~ 此次峰会嘉宾包括易观智慧院 ...

  7. 成为人工智能产品经理需要具备哪些能力?

    人工智能是当前科技领域的热点之一,各大企业都在争相布局人工智能领域.作为人工智能产业中最核心的角色之一,人工智能产品经理需要具备哪些能力呢? 首先,人工智能产品经理要具备敏锐的市场洞察力和判断能力.在 ...

  8. 人工智能产品经理的新起点

    人工智能产品经理的新起点 本周二(4月11日)晚上,在葡萄创投王总的费心组织下,我进行了一次闭门分享<人工智能产品经理的新起点>,2小时,200页PPT,20个原创AI领域认知.非常荣幸的 ...

  9. 21天实战人工智能系列:人工智能产品经理最佳实践(1)

    一.前言 打算面向想从事人工智能产品经理职位的人,写一个系列的专题,对人工智能产品经理做一个全面的介绍,初步计划写21个专题,每天一篇,算是对自己的一种鞭策,每天的任务定性,定量,希望自己能够坚持下来 ...

  10. 闲聊人工智能产品经理(AIPM)—方法论

    方法论.沟通.CEO视角 在每一个行业中都有自己的方法论,即在工作中主动寻找规律并利用所总结的规律改善工作方法,提升效率.优秀的产品团队应该有一套根据公司现状和领域背景,建立自己的产品管理模式和方法论 ...

最新文章

  1. 深度工作,打工人的必备指南!
  2. Docker 是什么?
  3. PHP7扩展开发(二):配置项与全局数值
  4. win7 IIS7.5 HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态...
  5. 如何清除Windows共享登录的用户名密码记录
  6. C++新特性探究(6.1):auto和decltype的类型推断差异所在
  7. 【CCCC】L2-008 最长对称子串 (25分),直接枚举遍历
  8. ALSA DAPM创建codec到codec的dai连接
  9. 机器学习最简单算法——KNN算法(K-Nearest Neighbor)
  10. 什么是COM组件以及怎样创建(C#)?
  11. AI笔记: 数学基础之贝叶斯公式(概率公式)
  12. 谈谈2018年技术趋势和架构规划
  13. linux dhcpv6有状态配置,翻译:IPv6地址自动配置:有状态和无状态的区别
  14. The client-side rendered virtual DOM tree is not matching server-rendered content. 问题
  15. 历时三年“鸽王”Filecoin主网上线,分布式存储市场将迎来最强劲敌?
  16. 发改委印发三年行动计划 智能机器人有望成为下一片蓝海
  17. c语言求50以内阶乘,C语言之数组50以内的阶乘.doc
  18. 【正十七边形的尺规作图】
  19. Jmeter安装配置详细教程
  20. vue纵向表头通俗易懂

热门文章

  1. qq空间说说获取php,【点赞源码】QQ空间自动评论说说PHP源码
  2. springboot整合mybatis错误 Invalid bound statement (not found): 解决办法
  3. 金融时间序列及Matlab实现
  4. 开机启动bat以及隐藏运行窗口
  5. 阿里云服务器搭建 图文详细教程
  6. python工程师简历项目经验怎么写_班长项目经验简历范文
  7. 如何驱动直流电机H桥驱动笔记
  8. echarts曲线图 鼠标位置偏移与提示框的大小设置(与竖线位置偏离)
  9. Java工作流引擎学习----JBPM(一)
  10. 物联那点事儿之自制网络温湿度计(arduino+点灯科技篇)