机器学习从认知到实践 第2辑
内容总结
1、数据抽象
将数据集和具体问题抽象成数学语言,以恰当的数学符号表示。这样做自然是为了方便表述和求解问题,而且也更加直观。
2、设定性能度量指标
机器学习是产生模型的算法,一般来说模型都有误差。如果模型学的太好,把训练样本自身的一些特点当成所有样本具有的潜在一般性质,这种情况称为过拟合,这样的模型在面对新样本时就会出现较大误差,专业表述就是导致模型的泛化性能下降。
与之相对的是欠拟合,模型对样本的一般性质都没学好,这种情况一般比较好解决,扩充数据集或者调整模型皆可。
而一般来说无论是机器学习还是现在很火的深度学习,面对的主要问题都是过拟合。那么为了保证模型的泛化能力足够强,必须要有衡量模型泛化能力的评价标准,也就是性能度量的设定。
很显然不同的性能度量会导致不同的评判结果,好的性能度量能够直观的显示模型的好坏,同时也能看到不同模型,或者模型在不同参数下对解决问题的程度好坏。
进一步,有的问题可以直接基于设定的性能度量直接做最优化,得出该问题的一般求解模型。
比如回归任务最常用的性能度量就是均方误差,目标就是让均方误差最小,这就直接转化成了一个最优化问题。
其他一些常用的有错误率与精度、查准率、查全率、ROC与AOC等。
当然更为重要的是,仅仅设定好性能度量是不够的,不同模型或者不同参数下得到的性能度量结果一般是不同的,一般来说不能简单的比较结果,而应该基于统计假设检验来做效果判定。也就是说通过比较检验的方法,我们就可以判断,如果观察到A比B好,在统计意义上A的泛化性能是否优于B,以及这个判断的把握有多大。
内容介绍
本书包含《Python机器学习实践指南》、《TensorFlow机器学习项目实战》、《TensorFlow技术解析与实战》共三册。
《Python机器学习实践指南》:机器学习是近年来渐趋热门的一个领域,同时Python语言经过一段时间的发展也已逐渐成为主流的编程语言之一。本书结合了机器学习和Python语言两个热门的领域,通过易于理解的项目详细讲述了如何构建真实的机器学习应用程序。全书共有10章。第1章讲解了Python机器学习的生态系统,剩余9章介绍了众多与机器学习相关的算法,包括聚类算法、推荐引擎等,主要包括机器学习在公寓、机票、IPO市场、新闻源、内容推广、股票市场、图像、聊天机器人和推荐引擎等方面的应用。本书适合Python程序员、数据分析人员、对算法感兴趣的读者、机器学习领域的从业人员及科研人员阅读。
《TensorFlow机器学习项目实战》:TensorFlow是Google所主导的机器学习框架,也是机器学习领域研究和应用的热门对象。 本书主要介绍如何使用TensorFlow库实现各种各样的模型,旨在降低学习门槛,并为读者解决问题提供详细的方法和指导。全书共10章,分别介绍了TensorFlow基础知识、聚类、线性回归、逻辑回归、不同的神经网络、规模化运行模型以及库的应用技巧。本书适合想要学习和了解 TensorFlow 和机器学习的读者阅读参考。如果读者具备一定的C++和Python的经验,将能够更加轻松地阅读和学习本书。
《TensorFlow技术解析与实战》:本书从深度学习的基础讲起,深入TensorFlow框架原理、模型构建、源代码分析和网络实现等各个方面。全书分为基础篇、实战篇和提高篇三部分。基础篇讲解人工智能的入门知识,深度学习的方法,TensorFlow的基础原理、系统架构、设计理念、编程模型、常用API、批标准化、模型的存储与加载、队列与线程,实现一个自定义操作,并进行TensorFlow源代码解析,介绍卷积神经网络(CNN)和循环神经网络(RNN)的演化发展及其TensorFlow实现、TensorFlow的高级框架等知识;实战篇讲解如何用TensorFlow写一个神经网络程序并介绍TensorFlow实现各种网络(CNN、RNN和自编码网络等),并对MINIST数据集进行训练,讲解TensorFlow在人脸识别、自然语言处理、图像和语音的结合、生成式对抗网络等方面的应用;提高篇讲解TensorFlow的分布式原理、架构、模式、API,还会介绍TensorFlow XLA、TensorFlow Debugger、TensorFlow和Kubernetes结合、TensorFlowOnSpark、TensorFlow移动端应用,以及TensorFlow Serving、TensorFlow Fold和TensorFlow计算加速等其他特性。最后,附录中列出一些可供参考的公开数据集,并结合作者的项目经验介绍项目管理的一些建议。本书深入浅出,理论联系实际,实战案例新颖,基于最新的TensorFlow 1.1版本,涵盖TensorFlow的新特性,非常适合对深度学习和TensorFlow感兴趣的读者阅读。
机器学习的定义 (1)一个程序被认为能从经验 E 中学习,解决任务 T,达到性能度量值P,当且仅当,有了经验 E 后,经过 P 评判,程序在处理 T 时的性能有所提升。 (2)从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法。但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型预测的一种方法。 (3)机器学习的定义用一句简单的话概述就是把一堆无序的数据转化成有用的信息。 (4)机器学习主要是研究如何使计算机从给定的数据中学习规律,即从观测数据(样本)中寻找规律,并利用学习到的规律(模型)对位置或无法观测的数据进行预测。
一般来说,机器学习算法分为三种类型。 1. 监督式学习 工作原理:该算法由一个目标/结果变量(或因变量)组成,该变量(或因变量)由给定的一组预测器(自变量)进行预测得到。使用这些变量集,我们可以生成输入映射到期望输出的函数。通过训练算法模型,让模型在训练数据上得到期望的准确度。监督学习的例子包括:回归、决策树、随机森林、KNN、Logistic 回归等。 2. 非监督式学习 工作原理:该算法没有任何目标/结果变量(或因变量)来预测或估计。它用于对样本中的不同类别进行聚类,广泛用于在不知道标签的情况下对不同群体进行划分。无监督学习的例子包括:Apriori 算法,k-均值。 3. 增强学习 工作原理:机器被训练来做出特定的决定。它是这样工作的:机器通过反复试验不断训练自己,从过去的经验中学习,并试图运用最好的知识,作出准确的决策。强化学习的例子包括:马尔可夫(Markov)决策过程。