前言:近年来,随着互联网和大数据应用的快速发展,人工智能技术正在迅速走进人们的日常工作与生活。在巨大的潜在市场价值面前,全球互联网企业纷纷卷入其中,如谷歌、微软、苹果、百度、腾讯等都在积极进行人工智能领域的科学研究与产品开发。从谷歌的智能软件“阿尔法围棋(AlphaGo)”以4:1战胜韩国围棋名将李世石,到腾讯的写稿机器人“梦幻写手(Dreamwriter)”在国家统计局公布年度居民消费价格指数(CPI)的第一时间就写出新闻稿,人工智能已经实实在在地来到了我们面前。所谓智能,通常是指人类大脑的高级活动,人工智能则是针对人类智能行为的模拟、延伸和扩展的技术应用。如果说300多年前蒸汽机的出现解放了人类的体力,那么人工智能的应用则有望进一步解放人类的智力。
Artificial intelligence (AI, also machine intelligence, MI) is intelligence displayed by machines, in contrast with the natural intelligence (NI) displayed by humans and other animals.
— from Wikepedia
人工智能(Artificial Intelligence,简称AI)是以机器为载体所展示的人类智能,因此人工智能也被称为机器智能(Machine Intelligence)。
具有一定智能的人工系统
,研究如何应用计算机的软硬件来模拟人类某些智能行为的基本理论、方法和技术的学科。[Machine learning is the] field of study that gives computers the ability to learn without being explicitly programmed.
—Arthur Samuel, 1959
A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.
—Tom Mitchell, 1997
对于某类任务 T(Tasks)和性能指标 P(Performance),如果一个计算机程序在任务T 中以 P 衡量的性能随着经验 E(Experience) 自我完善,那么就称这个计算机程序在从经验 E 中学习。
通常,为了很好地定义一个学习问题,我们必须明确以下三个要素:任务T,任务性能指标P,经验来源E。
以垃圾邮件分类系统为例,机器学习的三个要素如下:
(1)任务(T):区分正常邮件与垃圾邮件。
(2)性能指标(P):成功过滤垃圾邮件的百分比。
(3)经验(E):“阅读”现有的邮件内容。
以“阿尔法围棋”为例,机器学习的三个要素如下:
(1)任务(T):确定当前局面下一步的落子位置。
(2)性能指标(P):落子后击败对手的概率。
(3)经验(E):与自己进行对弈。
机器学习随着研究的不断深入,产生了很多适用于不同情况的算法。主要的机器学习算法类型有:
监督学习是常见的机器学习方法。在监督学习中,训练数据由一组训练实例组成。每一实例都是由一个输入对象(通常是一个向量)和一个期望的输出值(也被称为监督信号)组成。
机器进行学习时,用已知某种或某些特性的样本作为训练集,以建立一个数学模型(如模式识别中的判别模型),再用已建立的模型来预测未知样本。
监督学习算法主要用来解决两类任务:分类(对实例数据预测合适的类别,如应用分类器对邮件是否包含垃圾信息进行分类)和回归(对实例数据预测具体的数值,如应用决策树对房屋的价格进行预测)。
无监督学习,顾名思义,就是不受监督的学习,一种自由的学习方式。例如,应用聚类算法的学习方式就不需要先验知识进行指导,而是不断地自我认知,自我巩固,最后进行自我归纳。在机器学习中,无监督学习可以被简单理解为不为训练集提供对应的类别标签。
与监督学习和无监督学习不同,半监督学习综合了监督学习和无监督学习的特征。它主要考虑如何利用少量有标签的样本和大量没有标签的样本进行学习和预测。单独使用有标签的样本,能够生成监督分类算法;单独使用无标签样本,能够生成无监督聚类算法。一般而言,半监督学习通过在监督分类算法中加入无标签样本来实现半监督分类,或者是在无标签样本中加入有标签样本,增强无监督聚类的效果。
强化学习是机器学习的一个重要分支,是多学科多领域交叉的产物。它的目的是解决自动决策的问题,并且可以做连续决策。它主要包含四个元素:agent,环境状态,行动和奖励。所谓强化学习,就是智能系统从环境到行为映射的学习,从而使奖励信号(强化信号)函数值最大。强化学习不同于监督学习,强化学习中由环境提供的强化信号对产生动作的好坏做评价(通常为标量信号),而不是告诉强化学习系统如何去产生正确的动作。由于外部环境提供的信息很少,强化学习系统必须靠自身的经历进行学习。通过这种方式,强化学习系统在行动—评价的环境中获得知识,改进行动方案以适应环境。
强化学习通常应用在机器人技术上。机器人中的强化学习算法是通过感知机器人当前的环境状态,训练机器人做出各种特定行为。机器人在训练过程中不断尝试,错了就扣分,对了就奖励,由此训练得到在各个环境状态下最好的决策。即机器人从以往的行动经验中得到提升并最终找到最好的知识内容来帮助它做出最有效的行为决策。
深度学习是在人工神经网络的基础上,通过更深的结构和更智能的学习算法,达到更好的大数据处理能力的一种计算模型。在这次人工智能的热潮中,深度学习发挥了举足轻重的作用,并被广泛应用于图像识别、文件处理、声音合成、金融科技等各个领域。
深度学习其实说的是“深度神经网络的学习”,因此,深度学习泛指包含很多中间层(隐藏层)的多层神经网络
在实际应用中,环境、知识库和执行部分决定了机器学习具体的工作内容。环境向学习部分提供信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务的同时,把获得的信息反馈给学习部分。
确定学习的目标函数
:学习目的通常是通过对训练数据学习、优化模型参数,最终使得目标函数取得极小值。如监督学习的目标函数通常包括:训练集上的损失(也称残差、误差等)之和和正则项损失函数L
:计算预测结果和测量(真实结果)的差异的函数正则项R
:对模型复杂度“施加惩罚”,以改善模型性能(自动削弱不重要特征参数,避免过拟合)引入。评估模型预测性能
此处不再深入探究Python的特点,之后会专门开一个介绍Python的专栏
Python解释器是将python源码高级语言解析为二进制机器语言的工具。通常说安装python就是指安装python解释器。
正如在电脑上编辑文档需要用Word、处理数据需要用Excel、修图需要用PS一样,编写代码也需要特定的工具。而这个用来编写代码的工具就叫做编辑器。 Python的编辑器有很多,有Python解释器自带的IDLE、基于ipython的 Jupyter Notebook
、也有如PyCharm
、Spyder、WingIDE等主要针对Python代码编辑的编辑器;还有很多编辑器,如Sublime Text、VSCode、Vim等适合各种编程语言的编辑器。
Python最大的优点之一就在于其丰富的库,pip(package installer for Python)
就是库管理工具,通过pip就可以安装、卸载、更新众多的库。
注:Python 3.4以后版本的解释器自带pip工具。
- Anaconda
一个用于科学计算的Python发行版
提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题
下载链接
Anaconda优点:集成了相当多的第三方库,一键安装,无需手动配置- NumPy( http://www.numpy.org/ ):用于处理(大)数组
- Pandas(http://pandas.pydata.org/):数据分析工具包
- Matplotlib(http://matplotlib.org):用于绘制图表
- SciPy(http://www.scipy.org):包含许多有用的科学函数
- Scikit-learn(http://scikit-learn.org/):机器学习算法
- IPython(http://ipython.org/):基于Shell或浏览器的开发环境
- Spyder( https://www.spyder-ide.org/ ):交互式集成开发环境
注:安装后在开始菜单找到打开
前面提到,尽管自带的编辑器可以完成代码的编写,但是效率不高,不适合大量代码的编写。因此推荐使用Anaconda+Pycharm来编写
此前被称为IPython Notebook
多语分析环境—支持40多种编程语言
Jupyter是Julia, Python和R几个词的变位词
支持多种内容类型:代码、描述文本、图像、视频等等
OK,以上就是本期知识点“基本概念简介与Python环境搭建”的知识啦~~ ,感谢友友们的阅读。后续还会继续更新,欢迎持续关注哟~
如果觉得收获满满,可以点点赞支持一下哟~