AI智能领域入门概述AI 已经被炒得如火如荼,那么生活在这个快速变化时代的我们,不管你身处哪个行业,都不该置身事外,多多少少去了解一下,才不会和这个快速变化的时代格格不入,倍感孤独。开篇我提过两本书,如果你粗略翻看过,多少能理解个大概。为了让没有任何经验的外行能够快速的进入AI的神秘世界,今天就来好好讨论怎么开始,如何下嘴。 AI 是个很宽泛的东西,我们通常的理解,它包括机器学习,自然语言处理,视觉识别,涉及的学科如计算机科学,数学,认知学,心理学,社会学,哲学等,我们可以把一切关于计算模拟人脑思维或功能的模拟均可以认为是AI。可以看出 AI 不是一个孤立的学科领域,其实很好理解,人类智能的形成也是包含多方面的,要模拟人的智能,离不开各领域的研究。如此说来,想进入AI领域岂不是很难?这里讨论的只是AI中的某些领域,或许通过这一领域的学习,以点带面的去了解AI的全貌,或许是个比较切合实际的做法,在接下来的篇章中,各领域均会涉及,因为是入门级别的,所以浅尝则止,你可以选择你喜欢的领域去专研。 接下来把我们将要涉及的内容概述一下: 1)数据挖掘和分析:主要探讨数据的抓取,处理和分析 2)机器学习:主要探讨深度学习模型及应用 3)计算机视觉:主要介绍和视觉识别有关的库及其应用 4)自然语言分析:主要介绍自然语言的识别和合成,另外会涉及到情感分析的内容 5)深度学习算法:介绍几个常见的深度学习算法及应用 以上每一个分支都可以展开来讲,都可以作为一个独立的领域花一辈子去研究,但人生苦短,这里只是点到为止,尽可能地取其精华。 一、数据挖掘 数据挖掘就是指从数据中获取知识。 这样的定义方式比较抽象,但这也是业界认可度最高的一种解释了。对于如何开发一个大数据环境下完整的数据挖掘项目,业界至今仍没有统一的规范。说白了,大家都听说过大数据、数据挖掘等概念,在我们的商业社会里,每个人或组织的任何行为都会产生大量的数据,从表面上看这些数据是多么的繁杂无序,然而,这些数据的背后往往有某种潜在的逻辑,针对这些逻辑的挖掘探讨,往往可以发掘出非常有价值的东西。这个就是数据挖掘需要做的事情。 那么,数据挖掘通常的流程是怎么样的呢?从形式上来说,数据挖掘的开发流程是迭代式的。开发人员通过如下几个阶段对数据进行迭代式处理: 解读需求 绝大多数的数据挖掘工程都是针对具体领域的,因此数据挖掘工作人员不应该沉浸在自己的世界里YY算法模型,而应该多和具体领域的专家交流合作以正确的解读出项目需求。这种合作应当贯穿整个项目生命周期。 搜集数据 在大型公司,数据搜集大都是从其他业务系统数据库提取。很多时候我们是对数据进行抽样,在这种情况下必须理解数据的抽样过程是如何影响取样分布,以确保评估模型环节中用于训练(train)和检验(test)模型的数据来自同一个分布。 预处理数据 预处理数据可主要分为数据准备和数据归约两部分。其中前者包含了缺失值处理、异常值处理、归一化、平整化、时间序列加权等;而后者主要包含维度归约、值归约、以及案例归约。后面两篇博文将分别讲解数据准备和数据归约。 评估模型 确切来说,这一步就是在不同的模型之间做出选择,找到最优模型。很多人认为这一步是数据挖掘的全部,但显然这是以偏概全的,甚至绝大多数情况下这一步耗费的时间和精力在整个流程里是最少的。 解释模型 数据挖掘模型在大多数情况下是用来辅助决策的,人们显然不会根据"黑箱模型"来制定决策。如何针对具体环境对模型做出合理解释也是一项非常重要的任务。 二、机器学习 作为机器学习领域的先驱,Arthur Samuel在 IBM Journal of Research and Development期刊上发表了一篇名为《Some Studies in Machine Learning Using the Game of Checkers》的论文中,将机器学习非正式定义为:“在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域。” 在机器学习的历史上,Arthur Samuel做了一些非常酷的事情。他曾经做了一个西洋棋程序,让计算机自己跟自己下棋,下棋速度非常快,因此Arthur Samuel让他的程序自己和自己下了成千上万盘棋,逐渐的,程序开始慢慢意识到怎样的局势能导致胜利,怎样的局势能导致失败,因此它反复的自己学习“如果让竞争对手的棋子占据了这些地方,那么我输的概率可能更大”或者“如果我的棋子占据了这些地方,那么我赢的概率可能更大”所以渐渐的,Arthur Samuel的程序掌握了哪些局面可能会输,哪些局面可能会赢,因此奇迹出现了,他的程序的棋艺甚至远远超过了他自己。ArthurSamuel让他的程序比他自己更会下棋,但是他并没有明确的教给程序具体应该怎么下,而是让它自学成材。 机器学习的类型有哪些呢? 监督学习 训练数据中,每个样本都带有正确答案。 个人理解,这种方式有正确答案的监督或者说参照,所以称为监督学习。就好像老师提供对错指示、告知最终答案的学习过程。 学习器从训练数据中学到正确答案的决策函数 y=f(x) 用于新的数据预测。 典型任务:预测数值型数据的回归、预测分类标签的分类、预测顺序的排列 应用:手写文字识别、声音处理、图像处理、垃圾邮件分类与拦截、网页检索、基因诊断、股票预测等。 无监督学习 训练数据中,每个样本都没有正确答案。 学习器自己在训练数据中找规律。就像在没有老师的情况下,学生自学的过程。所以称为无监督学习。 典型任务:聚类(相似点)、异常检测(异常点)。 应用:人造卫星故障诊断、视频分析、社交网站解析、声音信号解析、数据可视化、监督学习的前处理工具等。 半监督学习 训练数据中,少部分样本有正确答案。 学习器使用大量的没有正确答案的数据,以及同时使用有正确答案的数据,来进行模式识别工作。在有正确答案的样本帮助下,获得比只用无正确答案的样本得到的结果更好的学习效果,提高学习器的精度。是无监督学习和监督学习的结合,所以称为半监督学习。 典型任务:半监督分类,半监督回归,半监督聚类,半监督降维 强化学习 强化学习把学习看作试探评价过程,Agent选择一个动作用于环境,环境接受该动作后状态发生变化,同时产生一个强化信号(奖或惩)反馈给Agent,Agent根据强化信号和环境当前状态再选择下一个动作,选择的原则是使受到正强化(奖)的概率增大。选择的动作不仅影响立即强化值,而且影响环境下一时刻的状态及最终的强化值。 三、计算机视觉 通俗地讲,计算机视觉就是给机器赋予视觉的能力,比如装上摄像头,通过程序算法让机器通过摄像头获取的图像进行处理,模式识别,并达到理解的目的。这个比较好理解,现在我们身边就可以看到相关的应用,比如OCR技术,识别图像文字,人脸识别,指纹识别,这个很多智能手机已经内建了这些功能,而且趋于成熟。 计算机视觉学习过程中会用到不少现成的库,比如openCV, DLIB, Face++等等开源的库文件,在以后的篇幅中会详细讲解。 四、自然语言处理 一般来说,自然语言处理的目的是让机器能够执行人类所期望的某些语言功能自然语言处理是人工智能的终极发展目标,大概可以分为人类语言的处理(语言学)和机器语言的翻译. 其大致流程是语音识别与合成---语音分析、词法分析、句法分析、语义分析、语用分析 上一篇AI发展到什么地步了?
文章分类:
科普宣传
|