Skip to content

Commit 1c30c32

Browse files
committed
修改5.Logistic回归和8.回归
1 parent df0396d commit 1c30c32

3 files changed

Lines changed: 69 additions & 26 deletions

File tree

docs/5.Logistic回归.md

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,12 @@
1111

1212
### Sigmoid 函数
1313

14+
#### 回归 概念
15+
16+
假设现在有一些数据点,我们用一条直线对这些点进行拟合(这条直线称为最佳拟合直线),这个拟合的过程就叫做回归。进而可以得到对这些点的拟合直线方程,那么我们根据这个回归方程,怎么进行分类呢?请看下面。
17+
18+
#### 二值型输出分类函数
19+
1420
我们想要的函数应该是: 能接受所有的输入然后预测出类别。例如,在两个类的情况下,上述函数输出 0 或 1.或许你之前接触过具有这种性质的函数,该函数称为 `海维塞得阶跃函数(Heaviside step function)`,或者直接称为 `单位阶跃函数`。然而,海维塞得阶跃函数的问题在于: 该函数在跳跃点上从 0 瞬间跳跃到 1,这个瞬间跳跃过程有时很难处理。幸好,另一个函数也有类似的性质(可以输出 0 或者 1 的性质),且数学上更易处理,这就是 Sigmoid 函数。 Sigmoid 函数具体的计算公式如下:
1521

1622
![Sigmoid 函数计算公式](../images/5.Logistic/LR_1.png)
@@ -31,7 +37,17 @@ Sigmoid 函数的输入记为 z ,由下面公式得到:
3137

3238
### 梯度上升法
3339

34-
梯度上升法基于的思想是: 要找到某函数的最大值,最好的方法是沿着该函数的梯度方向探寻。如果梯度记为 ▽ ,则函数 f(x, y) 的梯度由下式表示:
40+
#### 梯度的介绍
41+
需要一点点向量方面的数学基础
42+
43+
```
44+
向量 = 值 + 方向
45+
梯度 = 向量
46+
梯度 = 梯度值 + 梯度方向
47+
```
48+
49+
#### 梯度上升法的思想
50+
要找到某函数的最大值,最好的方法是沿着该函数的梯度方向探寻。如果梯度记为 ▽ ,则函数 f(x, y) 的梯度由下式表示:
3551

3652
![梯度上升计算公式](../images/5.Logistic/LR_5.png)
3753

@@ -50,7 +66,7 @@ Sigmoid 函数的输入记为 z ,由下面公式得到:
5066
介绍一下几个相关的概念:
5167
```
5268
例如:y = w1x1 + w2x2 + ... + wnxn
53-
梯度:参考上图的例子,二维图像,x方向是代表第一个系数,也就是 w1,y方向代表第二个系数也就是 w2,这样的向量就是梯度。
69+
梯度:参考上图的例子,二维图像,x方向代表第一个系数,也就是 w1,y方向代表第二个系数也就是 w2,这样的向量就是梯度。
5470
α:上面的梯度算法的迭代公式中的阿尔法,这个代表的是移动步长。移动步长会影响最终结果的拟合程度,最好的方法就是随着迭代次数更改移动步长。
5571
步长通俗的理解,100米,如果我一步走10米,我需要走10步;如果一步走20米,我只需要走5步。这里的一步走多少米就是步长的意思。
5672
▽f(w):代表沿着梯度变化的方向。

docs/8.预测数值型数据:回归.md

Lines changed: 51 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,71 @@
11
# 第8章 预测数值型数据:回归
22
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=default"></script>
33

4-
![预测数值型数据回归首页](/images/8.Regression/预测数值型数据回归首页.png "回归Regression首页")
4+
![预测数值型数据回归首页](../images/8.Regression/预测数值型数据回归首页.png "回归Regression首页")
55

6-
## 线性回归
6+
## 回归(Regression) 概述
77

8-
> 回归简介
8+
`我们前边提到的分类的目标变量是标称型数据,而回归则是对连续型的数据做出处理,回归的目的是预测数值型数据的目标值。`
9+
10+
## 回归 场景
11+
12+
回归的目的是预测数值型的目标值。最直接的办法是依据输入写出一个目标值的计算公式。
13+
14+
假如你想要预测姐姐男友汽车的功率大小,可能会这样计算:
15+
16+
HorsePower = 0.0015 * annualSalary - 0.99 * hoursListeningToPublicRadio
17+
18+
这就是所谓的 `回归方程(regression equation)`,其中的 0.0015 和 -0.99 称作 `回归系数(regression weights)`,求这些回归系数的过程就是回归。一旦有了这些回归系数,再给定输入,做预测就非常容易了。具体的做法是用回归系数乘以输入值,再将结果全部加在一起,就得到了预测值。我们这里所说的,回归系数是一个向量,输入也是向量,这些运算也就是求出二者的内积。
19+
20+
说到回归,一般都是指 `线性回归(linear regression)`。线性回归意味着可以将输入项分别乘以一些常量,再将结果加起来得到输出。
21+
22+
## 回归 原理
23+
24+
### 回归 须知概念
25+
26+
#### 1、矩阵求逆
27+
28+
因为我们在计算回归方程的回归系数时,用到的计算公式如下:
29+
30+
![回归系数的最佳估计计算公式](../images/8.Regression/LinearR_1.png)
31+
32+
需要对矩阵求逆,因此这个方程只在逆矩阵存在的时候适用,我们在程序代码中对此作出判断。
33+
判断矩阵是否可逆的一个可选方案是:
34+
35+
判断矩阵的行列式是否为 0,若为 0 ,矩阵就不存在逆矩阵,不为 0 的话,矩阵才存在逆矩阵。
36+
37+
#### 2、最小二乘法
38+
39+
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。
40+
41+
### 回归 工作原理
942

1043
```
11-
回归的目的是预测数值型的目标值。最直接的办法是依据输入写出一个目标值的计算公式。
12-
假如你想要预测姐姐男友汽车的功率大小,可能会这么计算:
13-
HorsePower = 0.0015 * annualSalary - 0.99 * hoursListeningToPublicRadio
14-
这就是所谓的回归方程(regression equation),其中的0.0015和-0.99称作回归系数(regression weights),求这些回归系数的过程就是回归。
15-
一旦有了这些回归系数,再给定输入,做预测就非常容易了。具体的做法是用回归系数乘以输入值,再将结果全部加在一起,就得到了预测值。
16-
说到回归,一般都是指线性回归(linear regression),所以本章里的回归和线性回归代表同一个意思。线性回归意味着可以将输入项分别乘以一些常量,
17-
再将结果加起来得到输出。需要说明的是,存在另一种称为非线性回归的回归模型,该模型不认同上面的做法,比如认为可能是输入的乘积。
18-
这样,上面的功率计算公式也可以写做:
19-
HorsePower = 0.0015 * annualSalary / hoursListeningToPublicRadio
20-
这就是一个非线性回归的例子,但是对此不进行深入讨论。
44+
读入数据,将数据特征想、特征标签y存储在矩阵x、y中
45+
验证 x^Tx 矩阵是否可逆
46+
使用最小二乘法求得 回归系数 w 的最佳估计
2147
```
2248

23-
> 线性回归特点
49+
### 回归 开发流程
2450

2551
```
26-
优点:结果易于理解,计算上不复杂。
27-
缺点:对非线性的数据拟合不好。
28-
适用于数据类型:数值型和标称型数据。
52+
收集数据: 采用任意方法收集数据
53+
准备数据: 回归需要数值型数据,标称型数据将被转换成二值型数据
54+
分析数据: 绘出数据的可视化二维图将有助于对数据做出理解和分析,在采用缩减法求得新回归系数之后,可以将新拟合线绘在图上作为对比
55+
训练算法: 找到回归系数
56+
测试算法: 使用 R^2 或者预测值和数据的拟合度,来分析模型的效果
57+
使用算法: 使用回归,可以在给定输入的时候预测出一个数值,这是对分类方法的提升,因为这样可以预测连续型数据而不仅仅是离散的类别标签
2958
```
3059

31-
> 回归的一般方法
60+
### 回归 算法特点
3261

3362
```
34-
(1) 收集数据:采用任意方法收集数据。
35-
(2) 准备数据:回归需要数值型数据,标称型数据将被转换成二值型数据。
36-
(3) 分析数据:绘出数据的可视化二维图将有助于对数据做出理解和分析,在采用缩减法求得新回归系数之后,可以将新拟合线绘在图上作为对比。
37-
(4) 训练算法:找到回归系数。
38-
(5) 测试算法:使用 R^2 或者预测值和数据的拟合度,来分析模型的效果。
39-
(6) 使用算法:使用回归,可以在给定输入的时候预测出一个数值,这是对分类方法的提升,因为这样可以预测连续型数据而不仅仅是离散的类别标签。
63+
优点:结果易于理解,计算上不复杂。
64+
缺点:对非线性的数据拟合不好。
65+
适用于数据类型:数值型和标称型数据。
4066
```
4167

68+
4269
> 线性回归的效果图
4370
4471
![线性回归效果图](/images/8.Regression/线性回归效果图.png "线性回归效果图")

images/8.Regression/LinearR_1.png

1.88 KB
Loading

0 commit comments

Comments
 (0)