Merge pull request #114 from jiangzhonglian/master

更新1.机器学习基础.md + 7.集成方法md
This commit is contained in:
片刻
2017-08-17 22:34:24 +08:00
committed by GitHub
4 changed files with 57 additions and 29 deletions

View File

@@ -9,15 +9,15 @@
1. 获取海量的数据
2. 从海量数据中获取有用的信息
我们会利用计算机来彰显数据背后的真实含义,这才是`机器学习`真实含义。
我们会利用计算机来彰显数据背后的真实含义,这才是`机器学习`义。
## 机器学习 场景
```
例如:识别动物猫
模式识别(官方标准):人们通过大量的经验,得到结论,从而判断它就是猫。
机器学习(数据学习):人通过阅读进行学习,观察它会叫、小眼睛、两只耳朵、四条腿、一条尾巴,得到结论,从而判断它就是猫。
深度学习(深入数据):人通过深了解它,发现它会'喵喵'的叫、与同类的猫科动物很类似,得到结论,从而判断它就是猫。(深度学习常用领域:语音、图形
机器学习(数据学习):人通过阅读进行学习,观察它会叫、小眼睛、两只耳朵、四条腿、一条尾巴,得到结论,从而判断它就是猫。
深度学习(深入数据):人通过深了解它,发现它会'喵喵'的叫、与同类的猫科动物很类似,得到结论,从而判断它就是猫。(深度学习常用领域:语音识别、图像识别
模式识别pattern recognition: 模式识别是最古老的(作为一个术语而言,可以说是很过时的)。
我们把环境与客体统称为“模式”,识别是对模式的一种认知,是如何让一个计算机程序去做一些看起来很“智能”的事情。
@@ -40,7 +40,7 @@ http://baike.baidu.com/link?url=76P-uA4EBrC3G-I__P1tqeO7eoDS709Kp4wYuHxc7GNkz_xn
* 垃圾邮件: 会自动的过滤垃圾广告邮件到垃圾箱内。
* 超市优惠券: 你会发现你在购买小孩子尿布的时候售货员会赠送你一张优惠券可以兑换6罐啤酒。
* 邮局邮寄: 手写软件自动识别寄送贺卡的地址。
* 申请贷款 或 进入赌场: 通过你最近的金融活动信息进行综合评定,决定你是否合格。
* 申请贷款: 通过你最近的金融活动信息进行综合评定,决定你是否合格。
## 机器学习 组成
@@ -84,8 +84,8 @@ http://baike.baidu.com/link?url=76P-uA4EBrC3G-I__P1tqeO7eoDS709Kp4wYuHxc7GNkz_xn
> 选择算法需要考虑的两个问题
1. 算法场景
* 预测明天是否下雨,以选择监督学习算法
* 给一群陌生的人进行分组,可以选择无监督学习算法
* 预测明天是否下雨,因为可以用历史的天气情况做预测,所以选择监督学习算法
* 给一群陌生的人进行分组,但是我们并没有这些人的类别信息,所以选择无监督学习算法、通过他们身高、体重等特征进行处理
2. 需要收集或分析的数据是什么
> 举例

View File

@@ -3,29 +3,59 @@
![支持向量机_首页](/images/6.SVM/SVM_1.jpg)
## 支持向量机的概念
> 支持向量机(Support Vector Machines, SVM)
## 支持向量机 概述
支持向量机(Support Vector Machines, SVM):是一种机器学习算法。
* 支持向量(Support Vector)就是离分隔超平面最近的那些点。
* 机(Machine)就是表示一种算法,而不是表示机器。
## 支持向量机 背景
* 如果把所有的点看作地雷,那么我们(超平面)得找到最近所有的地雷,并保证我们离它最远。
* 所以选择D会比B、C分隔的效果要好很多。
![线性可分](/images/6.SVM/SVM_3_linearly-separable.jpg)
## 支持向量机 原理
### 支持向量机 工作原理
![k_2](/images/6.SVM/k_2.jpg "k_2")
对于上述的苹果和香蕉我们想象为2中水果类型的炸弹。保证距离最近的炸弹距离它们最远
1. 寻找最大分类间距
2. 转而通过拉格朗日函数求优化的问题
### 基础介绍
* SVM有很多种实现最流行的一种实现是 `序列最小优化(Sequential Minimal Optimization, SMO)算法`
* 下面还会介绍一种称为`核函数(kernel)`的方式将SVM扩展到更多数据集上。
* 实战项目回顾第2章中手写识别的案例并考察其能否通过SVM来提高识别的效果。
* 注意:`SVM几何含义比较直观但其算法实现较复杂牵扯大量数学公式的推导。`
* 数据可以通过画一条直线就可以将它们完全分开,这组数据叫`线性可分(linearly separable)`数据,而这条分隔直线称为`分隔超平面(separating hyperplane)`
* 如果数据集上升到1024维呢那么需要1023维来分隔数据集也就说需要N-1维的对象来分隔这个对象叫做`超平面(hyperlane)`,也就是分类的决策边界。
![分隔超平面](/images/6.SVM/SVM_2_separating-hyperplane.jpg)
```
优点:泛化(由具体的、个别的扩大为一般的,就是说:模型训练完后的新样本)错误率低,计算开销不大,结果易理解。
缺点:对参数调节和核函数的选择敏感,原始分类器不加修改仅适合于处理二分类问题。
使用数据类型:数值型和标称型数据。
```
## 基于最大间隔分隔数据
## 支持向量机 项目实战
### 项目实战: 手写数字识别的优化
* 数据可以通过画一条直线就可以将它们完全分开,这组数据叫`线性可分(linearly separable)`数据。
* 而这条分隔直线称为`分隔超平面(separating hyperplane)`
* 如果数据集上升到1024维呢那么需要1023维来分隔数据集也就说需要N-1维的对象来分隔这个对象叫做`超平面(hyperlane)`,也就是分类的决策边界。
* ![分隔超平面](/images/6.SVM/SVM_2_separating-hyperplane.jpg)
## 寻找最大间隔
@@ -52,10 +82,6 @@ This is the simplest kind of SVM (Called an LSVM) Support Vectors are those data
5. 通常它的工作非常好。
```
* 选择D会比B、C分隔的效果要好很多原因是上述的5个结论。
* 如果把所有的点看作地雷,那么我们(超平面)得找到最近所有的地雷,并保证我们离它最远。
![线性可分](/images/6.SVM/SVM_3_linearly-separable.jpg)
### 怎么寻找最大间隔
> 点到超平面的距离

View File

@@ -104,16 +104,12 @@
### 项目实战: 马疝病的预测
> 项目流程图
![AdaBoost代码流程图](/images/7.AdaBoost/adaboost_code-flow-chart.jpg "AdaBoost代码流程图")
* 基于单层决策树构建弱分类器
* 单层决策树(decision stump, 也称决策树桩)是一种简单的决策树。
* 过拟合(overfitting, 也称为过学习)
* 发现测试错误率在达到一个最小值之后有开始上升,这种现象称为过拟合。
![过拟合](/images/7.AdaBoost/过拟合.png)
> 训练算法:基于错误提升分类器
基于单层决策树构建弱分类器
* 单层决策树(decision stump, 也称决策树桩)是一种简单的决策树。
```
发现:
@@ -125,12 +121,18 @@ D 的目的是为了计算错误概率: weightedError = D.T*errArr求最佳
![AdaBoost算法权重计算公式](/images/7.AdaBoost/adaboost_alpha.png "AdaBoost算法权重计算公式")
### 优化评估: 处理非均衡分类问题
### 知识点补充
`在分类器训练时,正例数目和反例数目不相等(相差很大)`
> 过拟合(overfitting, 也称为过学习)
* 发现测试错误率在达到一个最小值之后有开始上升,这种现象称为过拟合。
![过拟合](/images/7.AdaBoost/过拟合.png)
> 非均衡现象:
`在分类器训练时,正例数目和反例数目不相等(相差很大)`
* 判断马是否能继续生存(不可误杀)
* 过滤垃圾邮件(不可漏判)
* 不能放过传染病的人

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

After

Width:  |  Height:  |  Size: 111 KiB