《机器学习与数据科学:基于R的统计学习方法》是一本非常有价值的书籍。本书提供了丰富的关于机器学习、数据科学和统计的知识。它指导读者掌握如何完成涉及机器学习的数据科学项目,为数据科学家提供了必备的工具和技巧。本书还教授了如何使用R统计环境来进行数据分析和建模,使读者能够快速上手实践。如果你想深入了解机器学习和数据科学,这本书绝对是一个值得下载的优秀资源。
机器学习与数据科学:基于R的统计学习方法电子书封面
读者评价
机器学习是近年来渐趋热门的一个领域,同时R语言经过一段时间的发展也已逐渐成为主流的编程语言之一。本书结合了机器学习和R语言两个热门的领域,通过利用两种核心的机器学习算法来将R语言在数据分析方面的优势发挥到极致。
还不错吧!自己也跟着学习下,就是好多看不懂,专业性强!
从业者使用的工具是决定他的工作能否成功的重要因素之一。本书为数据科学家提供了一些在统计学习领域会用到的工具和技巧,为他们在数据科学领域的长期职业生涯提供了所需的一套基本工具。针对处理重要的数据科学问题的高级技能,本书也给出了学习的建议。 本书包括以下内容: 机器学习概述 监督机器学习 数据连接 非监督机器学习 数据处理 模型评估 探索性数据分析 本书选用R统计环境。R在全世界范围内应用越来越广泛,很多数据科学家只使用R就能进行项目工作。本书的所有代码示例都是用R语言写的。除此之外,书中还使用了很多流行的R包和数据集。
内容介绍
当前,机器学习和数据科学都是很重要和热门的相关学科,需要深入地研究学习才能精通。 本书试图指导读者掌握如何完成涉及机器学习的数据科学项目。本书将为数据科学家提供一些在统计学习领域会用到的工具和技巧,涉及数据连接、数据处理、探索性数据分析、监督机器学习、非监督机器学习和模型评估。本书选用的是R统计环境,书中所有代码示例都是用R语言编写的,涉及众多流行的R包和数据集。 本书适合数据科学家、数据分析师、软件开发者以及需要了解数据科学和机器学习方法的科研人员阅读参考。
目录
- 第1章机器学习综述1
- 第2章连接数据25
- 第3章数据处理54
- 第4章探索性数据分析83
- 第5章回归107
- 第6章分类136
- 第7章评估模型性能176
- 第8章非监督学习208
- 术语表234
分类模型和回归模型本质一样,分类模型可将回归模型的输出离散化(下面例子1. 2. 4. 5.),回归模型也可将分类模型的输出连续化(下面例子3.) 举几个例子: 1、Logistic Regression 和 Linear Regression: 1、Linear Regression: 输出一个标量 wx+b,这个值是连续值,所以可以用来处理回归问题 2、Logistic Regression:把上面的 wx+b 通过 sigmoid 函数映射到(0,1)上,并划分一个阈值,大于阈值的分为一类,小于等于分为另一类,可以用来处理二分类问题 更进一步:对于N分类问题,则是先得到N组w值不同的 wx+b,然后归一化,比如用 softmax 函数,最后变成N个类上的概率,可以处理多分类问题 2、Support Vector Regression 和 Support Vector Machine: 1、SVR:输出 wx+b,即某个样本点到分类面的距离,是连续值,所以是回归模型 2、SVM:把这个距离用 sign(·) 函数作用,距离为正(在超平面一侧)的样本点是一类,为负的是另一类,所以是分类模型 3、Naive Bayes 用于分类 和 回归: 1、用于分类:y是离散的类别,所以得到离散的 p(y|x),给定 x ,输出每个类上的概率 2、用于回归:对上面离散的 p(y|x)求期望 ΣyP(y|x),就得到连续值。但因为此时y本身是连续的值,所以最地道的做法是,得到连续的概率密度函数p(y|x),然后再对y求期望。 4、前馈神经网络(如 CNN 系列) 用于 分类 和 回归: 1、用于回归:最后一层有m个神经元,每个神经元输出一个标量,m个神经元的输出可以看做向量 v,现全部连到一个神经元上,则这个神经元输出 wv+b,是一个连续值,可以处理回归问题,跟上面 Linear Regression 思想一样 2、用于N分类:现在这m个神经元最后连接到 N 个神经元,就有 N 组w值不同的 wv+b,同理可以归一化(比如用 softmax )变成 N个类上的概率(补充一下,如果不用 softmax,而是每个 wx+b 用一个 sigmoid,就变成多标签问题,跟多分类的区别在于,样本可以被打上多个标签) 5、循环神经网络(如 RNN 系列) 用于分类 和 回归: 1、用于回归 和 分类: 跟 CNN 类似,输出层的值 y = wv+b,可做分类可做回归,只不过区别在于,RNN 的输出跟时间有关,即输出的是 {y(t), y(t+1),...}序列(关于时间序列,见下面的更新) 上面的例子其实都是从 prediction 的角度举例的,如果从 training 角度来看,分类模型和回归模型的目标函数不同,分类常见的是 log loss, hinge loss, 而回归是 square loss(关于 loss function,又是另一个story了,在此不展开了)
设定性能度量指标 机器学习是产生模型的算法,一般来说模型都有误差。如果模型学的太好,把训练样本自身的一些特点当成所有样本具有的潜在一般性质,这种情况称为过拟合,这样的模型在面对新样本时就会出现较大误差,专业表述就是导致模型的泛化性能下降。 与之相对的是欠拟合,模型对样本的一般性质都没学好,这种情况一般比较好解决,扩充数据集或者调整模型皆可。 而一般来说无论是机器学习还是现在很火的深度学习,面对的主要问题都是过拟合。那么为了保证模型的泛化能力足够强,必须要有衡量模型泛化能力的评价标准,也就是性能度量的设定。 很显然不同的性能度量会导致不同的评判结果,好的性能度量能够直观的显示模型的好坏,同时也能看到不同模型,或者模型在不同参数下对解决问题的程度好坏。 进一步,有的问题可以直接基于设定的性能度量直接做最优化,得出该问题的一般求解模型。 比如回归任务最常用的性能度量就是均方误差,目标就是让均方误差最小,这就直接转化成了一个最优化问题。 其他一些常用的有错误率与精度、查准率、查全率、ROC与AOC等。 当然更为重要的是,仅仅设定好性能度量是不够的,不同模型或者不同参数下得到的性能度量结果一般是不同的,一般来说不能简单的比较结果,而应该基于统计假设检验来做效果判定。也就是说通过比较检验的方法,我们就可以判断,如果观察到A比B好,在统计意义上A的泛化性能是否优于B,以及这个判断的把握有多大。