机器学习篇(概述)

机器学习概述

人工智能主要致力于计算机视觉自然语言处理语音识别三大领域!其基础与核心都是机器学习。

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

机器学习的应用

机器学习已成为新的边缘学科并在高校形成一门课程。它综合应用心理学、生物学和神经生理学以及数学、自动化和计算机科学形成机器学习理论基础。机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。与符号系统耦合的神经网络连接学习将在企业的智能管理与智能机器人运动规划中发挥作用。

机器学习的核心

机器学习包括数据和算法,但最主要的部分还是数据。机器学习算法特别是深度学习近年来取得了极大的成功,但是你需要明白的是数据才是使机器学习成为可能的关键因素。你可以使用简单的算法实现机器学习,但是没有好的数据你将寸步难行。 

机器学习的主要策略

机械学习、通过传授学习、类比学习和通过事例学习。学习中所用的推理越多,系统的能力越强。

机器学习的基本结构

表示学习系统的基本结构。环境向系统的学习部分提供某些信息,学习部分利用这些信息修改知识库,以增进系统执行部分完成任务的效能,执行部分根据知识库完成任务,同时把获得的信息反馈给学习部分。

扩展1.0:为什么结合人工智能 + Python?

现在动不动学人工智能就要会Python,认为只有会Python,才能学习人工智能。

这属于一种误解,人工智能的底层核心算法是完全依赖于C/C++、汇编的,因为是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到。所以某种意义上其实C/C++才是人工智能领域最重要的语言。

Python有非常强大的第三方库,包装库较 java/C/C++, 更加清爽整洁,又快又漂亮。这些特点到了 AI 领域中,就成了 Python 的强大优势。基本上你想通过计算机实现任何功能,Python官方库里都有相应的模块进行支持,直接下载调用后,在基础库的基础上再进行开发,大大降低开发周期,避免重复造轮子,还有Python的是可移植性、可扩展性、可嵌入性、少量代码可以做很多事,这就是为何人工智能(AI)首选Python"。

(1)设计初衷

Java语言,本质上是为构造大型复杂系统而设计的。这些大型复杂系统,是由人清清楚楚描述和构造出来的系统,其规模和复杂性是外生的,或者说外界赋予的。因此,Java大多数的语言结构对于大数据的处理和 AI 系统的开发显得使不上劲。就是说,你强的东西这里用不上,这里需要的东西你做起来又别扭。
而 AI 的本质却是一个自学习、自组织的系统。这个系统的规模和复杂性是一个数学模型在数据的喂养下自己长出来的,是内生的。故 Python 在数据处理方面 显得简洁强悍。对比两个功能相同的 Java 和 Python 机器学习程序,正常人只要看两眼就能做出判断,一定是 Python 程序更加清爽痛快。

(2)优缺点

虽然与 java/C/C++ 的运行速度的比较,Python 慢的多,但在开发被频繁使用的核心程序库时,大量使用 C 语言跟它配合,结果用 Python 开发的真实程序跑起来非常快,因为很有可能超过 80% 的时间系统执行的代码是 C 写的。

Python 的战略是要做一种简单、易用但专业、严谨的通用组合语言,或者叫胶水语言,让普通人也能够很容易的入门,把各种基本程序元件拼装在一起,协调运作。

总结:综上所述,因为要开发一个其他语言到C/C++的跨语言接口,Python是最容易的。而且Python历史上也一直都是科学计算和数据分析的重要工具,并且Python封装得够简练,连数组的排列组合都是个简单的内置功能。所以越高级的语言,内置功能越多。越接近人类语言。

扩展2.0:为什么结合人工智能 + 大数据?

有人认为将人工智能与大数据结合在一起是一个很自然的错误,其部分原因是两者实际上是一致的。但它们是完成相同任务的不同工具。

人工智能与大数据一个主要的区别是大数据是需要在数据变得有用之前进行清理、结构化和集成的原始输入,而人工智能则是输出,即处理数据产生的智能。这使得两者有着本质上的不同。

(1)计算方式

  人工智能是一种计算形式,它允许机器执行认知功能,例如对输入起作用或作出反应,类似于人类的做法。传统的计算应用程序也会对数据做出反应,但反应和响应都必须采用人工编码。如果出现任何类型的差错,就像意外的结果一样,应用程序无法做出反应。而人工智能系统不断改变它们的行为,以适应调查结果的变化并修改它们的反应。

支持人工智能的机器旨在分析和解释数据,然后根据这些解释解决问题。通过机器学习,计算机会学习一次如何对某个结果采取行动或做出反应,并在未来知道采取相同的行动。

大数据是一种传统计算。它不会根据结果采取行动,而只是寻找结果。它定义了非常大的数据集,但也可以是极其多样的数据。在大数据集中,可以存在结构化数据,如关系数据库中的事务数据,以及结构化或非结构化数据,例如图像、电子邮件数据、传感器数据等。

(2)数据使用

它们在使用上也有差异。大数据主要是为了获得洞察力,例如Netflix网站可以根据人们观看的内容了解电影或电视节目,并向观众推荐哪些内容。因为它考虑了客户的习惯以及他们喜欢的内容,推断出客户可能会有同样的感觉。

人工智能是关于决策和学习做出更好的决定。无论是自我调整软件、自动驾驶汽车还是检查医学样本,人工智能都会在人类之前完成相同的任务,但速度更快,错误更少。

虽然它们有很大的区别,但人工智能和大数据仍然能够很好地协同工作。这是因为人工智能需要数据来建立其智能,特别是机器学习。例如,机器学习图像识别应用程序可以查看数以万计的飞机图像,以了解飞机的构成,以便将来能够识别出它们。

总结:人工智能应用的数据越多,其获得的结果就越准确。在过去,人工智能由于处理器速度慢、数据量小而不能很好地工作。也没有像当今先进的传感器,并且当时互联网还没有广泛使用,所以很难提供实时数据。人们拥有所需要的一切:快速的处理器、输入设备、网络和大量的数据集。毫无疑问,没有大数据就没有人工智能。

 

猜你喜欢

转载自blog.csdn.net/wang_snake/article/details/83111132