机器学习是人工智能的一个分支,通过构建算法让计算机学习,并在数据集上使用学习到的算法完成某种任务。正式的定义是:对于某类任务T和性能度量P, 如果一个计算机程序在T上以P度量的性能随着经验E(训练样例)而自我完善,那么我们称这个计算机程序在从经验E学习。
机器学习的常见应用可以分为以下四大类:
图像处理:通过分析图像获取数据或者做一些转换。
1、图像标记:如算法可以自动从照片中检测出人脸,基本上是机器学习算法从手动标记的图片中学习。
2、光学字符识别(OCR):算法将手稿或者扫描文本转换为数字化版本,算法需要学会将手写字符图像转化成相应的数字化字母。
3、自动驾驶汽车:让汽车通过图像处理来自动驾驶,机器学习算法通过摄像机拍摄的每一帧图像来学习哪里是道路的边缘,是否有停车标志或者是否有车靠近。
文本分析:从文本文件,如邮件、聊天记录、文档中提取或者分类信息。
1、垃圾邮件过滤:文本分类的应用之一,学习如何基于内容和主题将邮件归为垃圾邮件。
2、情感分析:文本分类的另一个应用,算法需要学会基于作者表达的情绪,来将一个观点分类成积极、中立或者消极。
3、信息提取:从文本中,学会提取特定的信息或数据块,如地址、实体、关键词等。
数据挖掘:从数据中发现某些模式或者做出预测。也就是从海量的数据库中挖掘有用的信息。每一行都可以是训练实例,每一列都可以作为一个特征。可能会用表中剩余的列来预测一条新的列,或者发现某种模式来对行进行分组。
1、异常检测:检测异常值,如信用卡的欺诈检测,可以从用户平常的购物模式来检测哪些购物方式是异常行为。
2、关联规则:在超市或者电子商务网站,可以通过观察哪些产品会一起购买来发现用户的购买习惯,可以用于营销辅助。
3、分组:可以通过用户行为和资料来对用户进行分组。
4、预测:从剩余变量中预测出另一个变量(数据库中的一列),如可以通过对现有客户资料和信用评分这些信息来学习并预测新客户的信用评分。
视频游戏与机器人
一般来说我们有一个Agent(游戏角色或者机器人),它必须根据环境(视频游戏中的虚拟环境或者对于机器人来说的真实环境)来行动。机器学习可以使这个Agent执行任务,比如移动到某个环境中而同时避开障碍或者机器人。在这些情形下一个最受欢迎的机器学习技术是强化学习,Agent通过学习环境的强化系数(如果Agent碰到了障碍物强化系数为负,如果达到目标为正)来执行任务。
机器学习算法的种类
监督学习和非监督学习,两类的区别在于提供给算法的训练样例。
监督学习:可以看做将特定输入转换成期望输出的过程,机器学习需要学会如何将所有可能输入转化成正确/期望输出,所以每个训练样例都有特定的输入和期望输出,根据输出的不同又可以分为两个小类:分类和回归,瓶颈在于收集正确标记的训练数据。
非监督学习:训练数据只需要输入到算法中即可,不需要对应的期望输出。典型的用例就是发现训练样例之间隐藏的结构或者关系,典型的应用就是聚类算法。
机器学习算法
支持向量机:试图构建一个超平面高维空间集,它试图通过计算与最近实例最大距离来区分不同类的实现。
概率模型:这类模型通常通过对问题进行概率分布建模来预测正确的响应。这类算法中最流行的就是朴素贝叶斯分类器,它使用贝叶斯定理和特征之间的独立性假设来构建分类器,优势是简单却强大,不仅会返回预测值还会返回预测值得确定度。
深度学习:由一组相互关联的神经元组成,这些神经元被组织成许多层,深度学习使用更深的层构建了新的结构,通过高层次抽象改进了算法,不仅改进了学习方式,而且构建了自动表示最重要特征的结构。