加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 大数据 > 正文

人工智能和大数据的开发过程中,六大注意关键

发布时间:2021-10-25 13:18:59 所属栏目:大数据 来源:互联网
导读:人工智能领域的算法大师、华盛顿大学教授Pedro Domingos对此进行了深入思考。 Pedro Domingos教授的观点概括下来,可以提炼出6个注意点,为行业开发实践提供了重要参考: 注意点1:你的数据未必可靠 在实际应用中,有很多各种各样的原因会导致你的数据是不可
  人工智能领域的算法大师、华盛顿大学教授Pedro Domingos对此进行了深入思考。
 
  Pedro Domingos教授的观点概括下来,可以提炼出6个注意点,为行业开发实践提供了重要参考:
 
  注意点1:你的数据未必可靠
 
  在实际应用中,有很多各种各样的原因会导致你的数据是不可靠的。因此,当你将数据用于解决问题前,必须经常留心来检查数据是否值得信赖。
 
  如果基于糟糕的数据来挖掘,无论多么聪明的人也永远只会获得糟糕的结果。
 
  下面列举了一些常见的可导致数据可靠性问题的因素:
 
  ·用于开发的数据,往往和实际情况下的数据分布不同。例如也许你想把用户按照身高划分为“高”、“中等”、“矮”三档,但如果系统开发时使用的数据集里最低用户的身高是6英尺(184cm),那么很有可能你开发出来的系统里会把一个“仅有6英尺”的用户称为“矮”用户
 
  ·你的数据集中存在很多缺失数据。事实上,除非是人为构造的数据集合,否则很难避免缺失数据问题的发生,如何处理数据缺失的问题是很有技巧的事情。实践中我们要么是干脆丢弃一部分残缺的数据,要么就是想办法计算一些数值去填补这些缺失值。无论哪种方法都可能导致应用结果的不稳定
 
  ·你的数据可能随时在变化。数据库的表结构可能会变,数据定义也可能会变
 
  ·你的数据可能没有被归一化。假设你可能在观察一组用户的体重,为了能够获得有效的结论,首先需要对每个体重的衡量单位进行归一化,是英镑还是公斤,不能混淆着用
 
  ·你的数据可能并不适用于相应的算法。数据存在着各种各样的形式和规范,或者叫数据类型(data types),有些是数值化的数据,有些则不是。有些数据集合能被有序排列,有些则做不到。有些是离散化的数据(例如房间里的人数),另一些则是连续化的(例如气温或者气压等数据)
 
  注意点2:计算难以瞬间完成
 
  完成任何一个人工智能解决方案的计算,都需要一定的时间,方案的响应速度,对商业应用的成功与否起到十分关键的作用。
 
  不能总是盲目假设任何算法在所有数据集上都一定能在规定时间内完成,你需要测试下算法的性能是否在可接受的应用范围内。
 
  以搜索引擎为例,用户对结果返回的时长是有忍耐的限度的。
 
  如果用户等待的时间超过10秒,50%的用户会流失,如果等待时间超过1分钟,90%以上的用户会流失。
 
  在开发智能应用系统时,不能为了达到更好的算法精度而忽略系统运算和等待的时间,否则会导致整个产品的失败。
 
  注意点3: 数据的规模非常重要
 
  当我们考虑智能应用时,数据规模是很重要的因素。
 
  数据规模的影响可以分为两点来考察:
 
  第一点是规模会影响应用系统的响应速度,上一节我们刚提过;
 
  第二点是在很大的数据集上的挖掘出有价值结果的能力会受到考验。
 
  例如为100个用户开发的电影或音乐推荐系统可能效果很好,但是同样的算法移植到有着100000个用户的环境里,效果可能就不尽如人意了。
 
  其次,使用更多的数据来训练的简单算法,比受制于维度诅咒(Dimension Curse)的复杂算法往往有好得多的效果。类似Google这样拥有海量数据的大型企业,优秀的应用效果不仅来自于精妙复杂的算法,也来自于其对海量训练数据的大规模分析挖掘。
 
  注意点4: 不同的算法具有不同的扩展能力
 
  我们不能假设智能应用系统都可以通过简单增加服务器的方法来扩展性能。有些算法是有扩展性的,而另一些则不行。
 
  例如如果我们要从数亿的文章标题里,找出标题相似的各个组的文章,注意并不是所有的聚类算法此时都能并行化运行的,你应该在设计系统的同时就考虑可扩展性。
 
  有些情况下你需要将数据切分成较小的集合,并能够让智能算法在各个集合上并行运行。
 
  设计系统时所选择的算法,往往需要有并行化的版本,而在一开始就需要将其纳入考虑,因为通常围绕着算法还会有很多相关联的商业逻辑和体系结构需要一并考虑。
 
  注意点5:并不存在万能的方法
 
  你可能听说过一句谚语“当你有了把榔头的时候,看什么东西都像钉子”,这里想表达的意思是:并不存在能够解决所有智能应用问题的万能算法。
 
  智能应用软件和其他所有软件类似——具有其特定的应用领域和局限性。
 
  当面对新的应用领域时,一定要充分的验证原有方法的可行性,而且你最好能尝试用全新的视角来考察问题,因为不同的算法在解决特定的问题时才会更有效和得当。
 
  注意点6:数据并不是万能的
 
  根本上看,机器学习算法并不是魔法,它需要从训练数据开始,逐步延伸到未知数据中去。
 
  例如假设你已经对数据的分布规律有所了解,那么通过图模型来表达这些先验的知识会非常有效。除了数据以外,你还需要仔细的考虑,该领域有哪些先验知识可以应用,这对开发一个更有效的分类器会很有帮助。数据和行业经验结合往往能事半功倍。

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读