@ -1,4 +1,21 @@
|
||||
本资料主要介绍一些机器学习的入门知识,例如什么是机器学习,常见的机器学习算法原理,常用的模型性能评估指标,怎样快速入门 sklearn 等内容。
|
||||
# 前言
|
||||
|
||||
机器学习(`Machine Learning`)是一门多领域交叉学科,涉及概率论、统计学、最优化、算法复杂度理论等多个学科方向。专门研究如何借助计算机模拟实现人类的学习行为,以获取新的知识或技能,或者更好地组织已有的知识结构。机器学习是人工智能的核心,是使计算机具有智能的根本途径之一,其应用遍及人工智能的各个领域。
|
||||
|
||||
机器学习正在迅速改变我们的世界,我们几乎每天都会看到机器学习如何改变日常的生活。如果你在淘宝或者京东这样的电商平台购买商品,或者只是进行一次百度搜索,就已经触碰到了机器学习的应用。使用这些服务的用户会产生数据,这些数据会被手机,在进行预处理之后用来训练模型,而模型会通过这些数据来提供更好的用户体验。此外,还有很多使用机器学习技术的产品或服务即将在我们的生活当中普及。可以说如果想要深入机器学习的应用开发当中,现在是一个非常理想的时机。
|
||||
|
||||
|
||||
# 说明
|
||||
|
||||
本书主要介绍一些机器学习的入门知识,例如什么是机器学习,常见的机器学习算法原理,常用的模型性能评估指标,怎样快速入门`sklearn`等内容。
|
||||
|
||||
若想更加全面,系统的学习机器学习相关知识,可以在本书的最后扫码体验整套机器学习实训课程。该课程是与南京大学合作共建的实训课程,总共有`65`个实践任务,涵盖了《机器学习》中的前十章内容,并已在南京大学投入使用。可以通过扫码查看整套课程。
|
||||
|
||||
<div align=center><img src="./img/1562573820.png", height="250" width="250"/></div>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
若想更加全面,系统的学习机器学习相关知识,可以在本书的最后扫码体验整套机器学习实训课程。该课程是与南京大学合作共建的实训课程,总共有 65 个实践任务,涵盖了《机器学习》中的前十章内容,并已在南京大学投入使用。
|
||||
|
||||
|
@ -1 +1,14 @@
|
||||
本章主要介绍一些常见的机器学习算法(模型)的原理,理解模型的原理对于以后使用一些机器学习库实现业务功能时是有好处的。
|
||||
本章主要介绍`10`种常见的机器学习算法(模型)的原理,理解模型的原理对于以后使用一些机器学习库实现业务功能时是有好处的。
|
||||
|
||||
本章主要涉及的知识点有:
|
||||
|
||||
- kNN
|
||||
- 线性回归
|
||||
- 逻辑回归
|
||||
- 多分类学习
|
||||
- 决策树
|
||||
- 随机森林
|
||||
- 朴素贝叶斯分类器
|
||||
- 支持向量机
|
||||
- k-Means
|
||||
- AGNES
|
After Width: | Height: | Size: 9.4 KiB |
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 23 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 35 KiB |
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 17 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 8.7 KiB |
After Width: | Height: | Size: 8.0 KiB |
After Width: | Height: | Size: 8.4 KiB |
After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 8.5 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 14 KiB |
After Width: | Height: | Size: 5.2 KiB |
@ -1 +1,8 @@
|
||||
本章主要介绍分类,回归以及聚类时常用的模型性能评估指标。
|
||||
当模型训练好之后,我们需要有指标来量化我们的模型的性能好不好。而且模型的性能不单单只有一个维度,所以模型的好坏通常会用多个指标来进行衡量。例如,现在想要衡量一个分类模型的性能,您可能第一时间会想到用准确率来衡量模型的好坏,但是准确率高并不一定就代表模型的性能高,因此可能会需要使用如`f1 score`、`AUC`等指标来衡量。所以在什么情况下使用什么样的性能评估指标,每个指标的数值的含义时什么,是我们在评估模型性能时必须要学会的知识。
|
||||
|
||||
|
||||
本章主要涉及的知识点有:
|
||||
|
||||
- 常用分类性能评估指标
|
||||
- 常用回归性能评估指标
|
||||
- 常用聚类性能评估指标
|
@ -0,0 +1,11 @@
|
||||
# 使用强化学习玩乒乓球游戏
|
||||
|
||||
`2013`年伦敦的一家人工智能公司`Deep Mind`发表了一篇论文`“Playing Atari with Deep Reinforcement Learning”`,一个月后`Google`就收购了这家公司。从那之后,`Reinforcement Learning`在人工智能领域就火了起来。`2016`年`AlphaGo`赢了与人类的围棋比赛,它也是用的强化学习。
|
||||
|
||||
在本章中就不下围棋了,我们尝试使用`Policy Gradient`(强化学习中的一种算法)让计算机程序自己玩雅达利的乒乓球游戏。本章主要涉及的知识点有:
|
||||
|
||||
- 什么是强化学习
|
||||
- `Policy Gradient`原理
|
||||
- 使用`Policy Gradient`玩乒乓球游戏
|
||||
|
||||
|
@ -0,0 +1,44 @@
|
||||
# 机器学习项目流程
|
||||
|
||||
当我们拿到一个项目需求想要使用机器学习来实现时,我们往往会按照**理解问题与问题转换、获取数据、数据清洗与预处理、特征工程、模型训练与调优**这`5`个步骤来走。
|
||||
|
||||
## 1.理解实际问题,抽象为机器学习能处理的数学问题
|
||||
|
||||
理解实际业务场景问题是机器学习的第一步。机器学习的特征工程和模型训练通常都是一件非常耗时的过程,胡乱尝试时间成本是非常高的。深入理解要处理的问题,能避免走很多弯路。
|
||||
理解问题,包括明确可以获得什么样的数据,机器学习的目标是一个分类、回归还是聚类。如果都不是的话,要考虑将它们转变为机器学习问题。
|
||||
|
||||
## 2.获取数据
|
||||
|
||||
获取数据包括获取原始数据以及从原始数据中经过特征工程从中提取训练、测试数据。机器学习比赛中原始数据都是直接提供的,但是实际问题需要自己获得原始数据。
|
||||
|
||||
有句名言是:**“数据决定机器学习结果的上限,而算法只是尽可能的逼近这个上限”**,可见数据在机器学习中的作用。总的来说数据要有具有 **“代表性”** ,否则必然会过拟合。对于分类问题,数据偏斜不能过于严重,不同类别的数据数量不要有数个数量级的差距。
|
||||
|
||||
## 3.数据清洗与预处理
|
||||
|
||||
**数据预处理、数据清洗是很关键的步骤**,往往能够使得算法的效果和性能得到显著提高。归一化、离散化、因子化、缺失值处理、去除共线性等,数据挖掘过程中很多时间就花在它们上面。这些工作简单可复制,收益稳定可预期,是机器学习的基础必备步骤。
|
||||
|
||||
## 4.特征工程
|
||||
|
||||
特征工程包括从原始数据中**特征构建、特征提取、特征选择**,非常有讲究。深入理解实际业务场景下的问题,丰富的机器学习经验能帮助我们更好的处理特征工程。**特征工程做的好能发挥原始数据的最大效力,往往能够使得算法的效果和性能得到显著的提升,有时能使简单的模型的效果比复杂的模型效果好。**
|
||||
|
||||
**筛选出显著特征、摒弃非显著特征,需要机器学习工程师反复理解业务**。这对很多结果有决定性的影响。特征选择需要运用特征有效性分析的相关技术,如**相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重**等方法。
|
||||
|
||||
## 5.模型训练、诊断与调优
|
||||
|
||||
现在有很多的机器学习算法的工具包,例如`sklearn`,使用非常方便,**真正考验水平的根据对算法的理解调节(超)参数,使模型达到最优**。
|
||||
|
||||
|
||||
**过拟合、欠拟合的模型状态判断是模型诊断中至关重要的一步**。常见的方法如:交叉验证,绘制学习曲线等。过拟合的基本调优思路是增加训练的数据量,降低模型复杂度。欠拟合的基本调优思路是提高特征数量和质量,增加模型复杂度。
|
||||
|
||||
诊断后的模型需要进行进一步调优,调优后的新模型需要重新诊断,这是一个反复迭代不断逼近的过程,需要不断的尝试,进而达到最优的状态。
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -0,0 +1,4 @@
|
||||
# 综合实战案例
|
||||
|
||||
纸上得来终觉浅,绝知此事要躬行。当我们学会了机器学习算法原理,知道了怎样使用`sklearn`来快速编写机器学习程序之后,我们需要进行大量的实战演练来提升我们的技能和实操能力。所以在本章中提供了两个综合实战案例:一个是`kaggle`中最为经典的也是最适合入门的机器学习比赛---泰坦尼克生还预测。另一个是使用强化学习来让程序自己玩乒乓球游戏。希望通过这两个实战案例,能够提升您对机器学习的兴趣以及使用机器学习技术解决实际问题的能力。
|
||||
|