非CS背景,如何快速上手机器学习?
Posted 人邮异步社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非CS背景,如何快速上手机器学习?相关的知识,希望对你有一定的参考价值。
所谓的“机器学习”,只是在寻找一个数学公式。找到之后,我们可以利用该公式和一组输入数据(训练数据)进行运算,并与正确结果进行比较。我们希望该公式能对大多数新的(不同于训练数据)、取自相同或相似统计分布的输入数据进行正确运算。
作为计算机科学的一个分支,机器学习致力于研究如何利用代表某现象的样本数据构建算法。这些数据可能是自然产生的,可能是人工生成的,也可能来自于其他算法的输出。
同时,机器学习也可以定义为一套解决实际问题的流程,具体步骤包括收集数据、利用算法对收集到的数据进行统计建模以及利用构建好的统计模型解决具体问题。
机器学习的方法主要有4种:监督(supervised)、半监督(semi⁃supervised)、非监督(unsupervised)及强化(reinforcement)学习。
从经验中学习
机器学习系统经常被描述为在人类监督或无监督之下从经验中学习。在监督学习问题中,一个程序会通过标记的输入和输出进行学习,并从一个输入预测一个输出。也就是说,程序从“正确答案”的例子中学习。在无监督学习中,一个程序不会从标记数据中学习。相反,它尝试在数据中发现模式。例如,假设你已经收集了描述人身高体重的数据。一个无监督学习的例子是将数据划分到不同的组中。一个程序可能会产出对应到男性和女性,或者儿童和成人的组。现在假设数据也标记了性别。一个监督学习的例子是归纳出一个规则,基于一个人的身高和体重来预测一个人是男性还是女性。我们将在后面的章节中讨论监督学习和无监督学习的算法和例子。
监督学习和无监督学习可以被认为是一个范围的两端。一些类型的问题,被称为半监督学习问题,这些问题同时使用监督学习的数据和无监督学习的数据,位于监督学习和无监督学习之间。强化学习靠近监督学习一端。和无监督学习不同,强化学习程序不会从标记的输出对中进行学习。相反,它从决策中接收反馈,但是错误并不会显式地被更正。例如,一个学习去玩像超级玛丽兄弟这样的横向卷轴游戏的强化学习程序,当完成一个关卡或者达到一个特定分数时,可能会接收到一个奖励,而当失去一次生命时会受到惩罚。然而,这样的监督反馈并不会附带一个特定的决策去指挥角色跑动,躲开栗子怪,或者捡起一朵火焰花。我们将主要关注监督学习和无监督学习,因为这两个类别包含了最常见的机器学习问题。在下一节中,我们将更细致地审阅监督学习和无监督学习。
一个监督学习程序从标记输出的例子中进行学习,这些输出例子应该由对应的输入产出。一个机器学习程序的输出有很多名字,在机器学习中汇集了一些学科,许多学科都会使用自己的术语。在本书中,我们将把输出称为响应变量。响应变量的其他名字包括“依赖变量”“回归变量”“标准变量”“测定变量”“应答变量”“被解释变量”“输出变量”“实验变量”“标签”和“输出变量”。类似的,输入变量也有很多名字。在本书中,我们将输入变量称为特征,它们代表的现象称为解释变量。解释变量的其他名字包括“预测器”“回归器”“控制变量”和“暴露变量”。响应变量和解释变量可以是实数值或离散值。
组成监督学习经验的实例集合称为一个训练集。一个用于衡量程序性能的实例集合称为一个测试集。响应变量可以被看作是由解释变量引发问题的回答,监督学习问题会从一个针对不同问题回答的集合中进行学习。也就是说,监督学习程序会被提供正确的答案,而它需要学习去正确地回答没见过的类似问题。
机器学习任务
两种最常见的监督机器学习任务是分类和回归。在分类任务中,程序必须学习去从一个或多个特征去预测一个或多个响应变量的离散值。也就是说,程序必须为新观测值预测最可能的分类、类别或者标签。分类的应用包括预测一只股票的价格会上涨或下跌,或者决定一篇新闻文章属于政治主题板块还是休闲娱乐板块。在回归问题中,程序必须从一个或多个特征预测一个或多个连续响应变量值。回归问题的例子包括预测一个新产品的销售收入,或者基于一个职位的描述预测其薪水。和分类问题一样,回归问题也需要监督学习。
一个常见的无监督学习任务是在数据集内发现互相关联的观测值群组,称之为聚类。该项任务称为聚类或者聚类分析,会基于一些相似性衡量标准,把观测值放入和其他群组相比相互之间更加类似的群组中。聚类经常用于探索一个数据集。例如,对于一个电影评论集合,一个聚类算法可找出正向评价和负向评价。系统不会将聚合的类标记为正向或者负向。由于缺乏监督,系统只能通过一些衡量标准来判断聚合的观测值相互之间很类似。聚类的一个常见应用是在市场中为一个产品发现客户群体。通过了解特定客户群体的共同属性,销售人员可以决定应该注重销售活动的哪个方面。聚类也应用于网络广播服务中。对于一个歌曲集合,聚类算法可以根据歌曲的特征将歌曲划分为不同的分组。通过使用不同的相似性衡量标准,同样的聚类算法可以通过歌曲的音调,或者通过歌曲中包含的乐器来为歌曲划分不同的组。
降维是另一种常见的使用无监督学习完成的任务。一些问题可能包含数千或者上百万个特征,这会导致计算能力的极大消耗。另外,如果一些特征涉及噪声或者和潜在的关系无关,程序的泛化能力将会减弱。降维是发现对响应变量变化影响最大的特征的过程。降维还可以用于数据可视化。通过房屋面积预测房屋价格这样的回归问题的可视化很简单,房屋的面积可以作为图的x轴,价格可以作为y轴。当为房屋价格回归问题添加第二个特征以后,可视化依然很简单,房屋的浴室数量可以作为z轴。然而,对一个包含上千个特征的问题,可视化几乎不可能完成。
机器学习书籍推荐
机器学习精讲
本书用简短的篇幅、精炼的语言,讲授机器学习领域必备的知识和技能。全书共11章和一个术语表,依次介绍了机器学习的基本概念、符号和定义、算法、基本实践方法、神经网络和深度学习、问题与解决方案、进阶操作、非监督学习以及其他学习方式等,涵盖了监督学习和非监督学习、支持向量机、神经网络、集成学习、梯度下降、聚类分析、维度降低、自编码器、迁移学习、强化学习、特征工程、超参数调试等众多核心概念和方法。全书最后给出了一个较为详尽的术语表。
本书能够帮助读者了解机器学习是如何工作的,为进一步理解该领域的复杂问题和进行深入研究打好基础。本书适合想要学习和掌握机器学习的软件从业人员、想要运用机器学习技术的数据科学家阅读,也适合想要了解机器学习的一般读者参考。
scikit-learn机器学习(第2版)
在本书中,我们将分析一些机器学习模型和学习算法,讨论一些常用的机器学习任务,同时也会学习如何衡量机器学习系统的性能。我们将使用一个用Python编程语言编写的类库scikit-learn,它包含了最新机器学习算法的实现,其API也很直观通用。
本书通过14章内容,详细地介绍了一系列机器学习模型和scikit-learn的使用技巧。本书从机器学习的基础理论讲起,涵盖了简单线性回归、K-近邻算法、特征提取、多元线性回归、逻辑回归、朴素贝叶斯、非线性分类、决策树回归、随机森林、感知机、支持向量机、人工神经网络、K-均值算法、主成分分析等重要话题。
本书适合机器学习领域的工程师学习,也适合想要了解scikit-learn的数据科学家阅读。通过阅读本书,读者将有效提升自己在机器学习模型的构建和评估方面的能力,并能够高效地解决机器学习难题。
机器学习的数学
本书的目标是帮助读者全面、系统地学习机器学习所必须的数学知识。全书由8章组成,力求精准、最小地覆盖机器学习的数学知识。包括微积分,线性代数与矩阵论,**化方法,概率论,信息论,随机过程,以及图论。本书从机器学习的角度讲授这些数学知识,对它们在该领域的应用举例说明,使读者对某些抽象的数学知识和理论的实际应用有直观、具体的认识。 本书内容紧凑,结构清晰,深入浅出,讲解详细。可用作计算机、人工智能、电子工程、自动化、数学等相关专业的教材与教学参考书。对人工智能领域的工程技术人员与产品研发人员,本书也有很强的参考价值。对于广大数学与应用的数学爱好者,本书亦为适合自学的读本。
机器学习工程实战
本书侧重于对机器学习应用和工程实践的关注,是对机器学习工程实践和设计模式的全面回顾。全书共 10 章,在概述之后,分别从项目开始前的准备,数据收集和准备,特征工程,监督模型训练,模型评估,模型部署,模型服务、监测和维护方面进行讲解,最后做了简短的总结。
本书适合想要从事机器学习项目的数据分析师、机器学习工程师以及机器学习相关专业的学生阅读,也可供需要处理一些模型的软件架构师参考。
机器学习是一门讨论各式各样的适用于不同问题的函数形式,以及如何使用数据来有效地获取函数参数具体值的学科。深度学习是指机器学习中的一类函数,它们的形式通常为多层神经网络。
深度学习书推荐
动手学深度学习
本书面向希望了解深度学习,特别是对实际使用深度学习感兴趣的大学生、工程师和研究人员。本书不要求读者有任何深度学习或者机器学习的背景知识,读者只需具备基本的数学和编程知识,如基础的线性代数、微分、概率及Python编程知识。本书的附录中提供了书中涉及的主要数学知识,供读者参考。
本书的英文版Dive into Deep Learning是加州大学伯克利分校2019年春学期“Introduction to Deep Learning”(深度学习导论)课程的教材。截至2019年春学期,本书中的内容已被全球15 所知名大学用于教学。本书的学习社区、免费教学资源(课件、教学视频、更多习题等),以及用于本书学习和教学的免费计算资源(仅限学生和老师)的申请方法在本书配套网站zh.d2l.ai上发布。
深度学习[deep learning]
AI圣经!深度学习领域奠基性的经典畅销书!长期位居美国ya马逊AI和机器学习类图书榜首!所有数据科学家和机器学习从业者的bi读图书!特斯拉CEO埃隆·马斯克等国内外众多专家推jian!
深度学习是机器学习的一个分支,它能够使计算机通过层次概念来学习经验和理解世界。因为计算机能够从经验中获取知识,所以不需要人类来形式化地定义计算机需要的所有知识。层次概念允许计算机通过构造简单的概念来学习复杂的概念,而这些分层的图结构将具有很深的层次。本书会介绍深度学习领域的许多主题。
本书囊括了数学及相关概念的背景知识,包括线性代数、概率论、信息论、数值优化以及机器学习中的相关内容。同时,它还介绍了工业界中实践者用到的深度学习技术,包括深度前馈网络、正则化、优化算法、卷积网络、序列建模和实践方法等,并且调研了诸如自然语言处理、语音识别、计算机视觉、在线推荐系统、生物信息学以及视频游戏方面的应用。最后,本书还提供了一些研究方向,涵盖的理论主题包括线性因子模型、自编码器、表示学习、结构化概率模型、蒙特卡罗方法、配分函数、近似推断以及深度生成模型。
PyTorch深度学习
PyTorch以其灵活性和易用性吸引了数据科学专业人士和深度学习业者的注意。本书介绍了深度学习和PyTorch的基本组成部分,并展示了如何使用可行方法解决真实问题,以及一些用于解决当代前沿研究问题的现代体系结构和技术。
本书在不深入数学细节的条件下,给出了多个先进深度学习架构的直观解释,如ResNet、DenseNet、Inception和Seq2Seq等,也讲解了如何进行迁移学习,如何使用预计算特征加速迁移学习,以及如何使用词向量、预训练的词向量、LSTM和一维卷积进行文本分类。
以上是关于非CS背景,如何快速上手机器学习?的主要内容,如果未能解决你的问题,请参考以下文章