diff --git a/regression/README.md b/regression/README.md index 7a144e7..34a3975 100644 --- a/regression/README.md +++ b/regression/README.md @@ -21,12 +21,12 @@ ### 激活函数 #### Sigmoid函数 Sigmoid函数的定义: -![Sigmoid函数](http://index.zeekling.cn/gogsPics/ml/regression/0df3d7ca7bcb0a4659502a5f6f63f6246b60af62.jpg) +![Sigmoid函数](https://img.zeekling.cn/images/2020/04/25/0df3d7ca7bcb0a4659502a5f6f63f6246b60af620198d7c0968827fa.png) ;导数为: -![sigmoid函数导数](http://index.zeekling.cn/gogsPics/ml/regression/64380cd7912397dde41ab3095182b2b7d0a2875f.jpg) +![sigmoid函数导数](https://img.zeekling.cn/images/2020/04/25/64380cd7912397dde41ab3095182b2b7d0a2875f4989e2f5b1bf96b7.png) ### 梯度上升算法 -![梯度上升算法](http://index.zeekling.cn/gogsPics/ml/regression/20170415112712137.png) +![梯度上升算法](https://img.zeekling.cn/images/2020/04/25/b5bf154051a65b231970f551bed57191.png) 此式便是梯度上升算法的更新规则,α是学习率,决定了梯度上升的快慢。可以看到与线性回归类似,只是增加了特征到结果 的映射函数。 @@ -45,7 +45,7 @@ Sigmoid函数的定义: 1. 衡量两个值线性相关强度的量 2. 取值范围:[-1,1]:正向相关:大于0,负向相关:小于 0,无相关性:=0 -![计算公式](http://index.zeekling.cn/data/Pictures/gogs/ml/regression/20171113155730874.jpeg) +![计算公式](https://img.zeekling.cn/images/2020/04/25/0717a879f120b57862cebaeace46f5e4.jpg) #### R平方值 @@ -53,10 +53,10 @@ Sigmoid函数的定义: 2. 如R平方为0.8,则表示回归关系可以解释因变量80%的变异;即如果自变量不变,则因变量的变异程度会减少80% 3. 简单线性回归:R^2=r*r -![ss](http://index.zeekling.cn/data/Pictures/gogs/ml/regression/20171113155750424.jpeg) -![多元线性回归](http://index.zeekling.cn/data/Pictures/gogs/ml/regression/20171113155802833.jpeg) +![ss](https://img.zeekling.cn/images/2020/04/25/32fd78dadf2891ceb2f29cb3030f1133.jpg) +![多元线性回归](https://img.zeekling.cn/images/2020/04/25/80015e9235614e88696e556dd624e75b.jpg) ##### R平方局限性 R平方随着自变量的增大会变大,R平方和样本量是有关系的。所以,需要对R平方进行修正,修正方法为: -![R平方局限性](http://index.zeekling.cn/data/Pictures/gogs/ml/regression/20171113155817281.jpeg) +![R平方局限性](https://img.zeekling.cn/images/2020/04/25/4c11e41fb2a2ee3f6560af6e9d37afa9.jpg) diff --git a/regression/线性模型.md b/regression/线性模型.md index 81bee61..152c07f 100644 --- a/regression/线性模型.md +++ b/regression/线性模型.md @@ -10,59 +10,59 @@ (1) 当输入属性只有一个的时候,就是最简单的情形,也就是我们高中时最熟悉的“最小二乘法”(Euclidean distance),首先计算出每个样 本预测值与真实值之间的误差并求和,通过最小化均方误差MSE,使用求偏导等于零的方法计算出拟合直线y=wx+b的两个参数w和b,计算 过程如下图所示: -![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/1.png) +![一元线性](https://img.zeekling.cn/images/2020/04/25/be7d04ba87ddec119f7a852fbfcb82a5.png) (2) 当输入属性有多个的时候,例如对于一个样本有d个属性{(x1,x2...xd),y},则y=wx+b需要写成:
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/2.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/fd7899c7f80219a07018d70326140405.png)
通常对于多元问题,常常使用矩阵的形式来表示数据。在本问题中,将具有m个样本的数据集表示成矩阵X,将系数w与b合并成一个列向 量,这样每个样本的预测值以及所有样本的均方误差最小化就可以写成下面的形式:
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/4.png)
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/3.png)
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/5.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/8db030a1fd1b5da90e9f3920aaba8adf.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/ee17120d052d277bac379915e8833e76.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/b5e2c0d50a6c5894734f1e5ed869e3b9.png)
同样地,我们使用最小二乘法对w和b进行估计,令均方误差的求导等于0,需要注意的是,当一个矩阵的行列式不等于0时,我们才可能 对其求逆,因此对于下式,我们需要考虑矩阵(X的转置*X)的行列式是否为0,若不为0,则可以求出其解,若为0,则需要使用其它的 方法进行计算,书中提到了引入正则化
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/6.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/193e5ae855379a8849a56b1cd54c14f7.png)
另一方面,有时像上面这种原始的线性回归可能并不能满足需求,例如:y值并不是线性变化,而是在指数尺度上变化。这时我们可以采 用线性模型来逼近y的衍生物,例如lny,这时衍生的线性模型如下所示,实际上就是相当于将指数曲线投影在一条直线上,如下图所示:
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/7.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/be3eb5738b4946ef8dd1d3af1f7e4029.png)
更一般地,考虑所有y的衍生物的情形,就得到了“广义的线性模型”(generalized linear model),其中,g(*)称为联系函数(link function)。
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/8.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/265895dc8e25ed1e5a4072d6b4909aac.png)
# 对数几率函数 回归就是通过输入的属性值得到一个预测值,利用上述广义线性模型的特征,是否可以通过一个联系函数,将预测值转化为离散值从而 进行分类呢?线性几率回归正是研究这样的问题。对数几率引入了一个对数几率函数(logistic function),将预测值投影到0-1之间, 从而将线性回归问题转化为二分类问题。
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/9.png)
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/10.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/13354d2c03c7a7c775dd1e0acbf0c9df.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/1f621ccbd74d7792243c4564bd84885c.png)
若将y看做样本为正例的概率,(1-y)看做样本为反例的概率,则上式实际上使用线性回归模型的预测结果器逼近真实标记的对数几率。 因此这个模型称为“对数几率回归”(logistic regression),也有一些书籍称之为“逻辑回归”。下面使用最大似然估计的方法来计算出 w和b两个参数的取值,下面只列出求解的思路,不列出具体的计算过程。
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/11.png)
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/12.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/bba80d65271cd32539e354a9389b7348.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/2eaad6dbca01061774aaaebebb57b134.png)
# 线性判别分析 线性判别分析(Linear Discriminant Analysis,简称LDA),其基本思想是:将训练样本投影到一条直线上,使得同类的样例尽可能近, 不同类的样例尽可能远。如图所示:
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/13.png)
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/14.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/c99c4fa4913fff7a48ad2b60f5d955ae.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/28fc07107348eb061f1329c949a84e0a.png)
想让同类样本点的投影点尽可能接近,不同类样本点投影之间尽可能远,即:让各类的协方差之和尽可能小,不用类之间中心的距离尽 可能大。基于这样的考虑,LDA定义了两个散度矩阵。
- 类内散度矩阵(within-class scatter matrix) -![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/15.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/da08ad0a8765f1ab5985092fbe7967cf.png)
- 类间散度矩阵(between-class scaltter matrix)
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/20170415112712139.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/b761b8729c98792c169bd31bca77a84c.png)
因此得到了LDA的最大化目标:“广义瑞利商”(generalized Rayleigh quotient)。
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/20170415112712138.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/b729f99dea935248d3f6dc6057ee489d.png)
从而分类问题转化为最优化求解w的问题,当求解出w后,对新的样本进行分类时,只需将该样本点投影到这条直线上,根据与各个类别 的中心值进行比较,从而判定出新样本与哪个类别距离最近。求解w的方法如下所示,使用的方法为λ乘子。
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/20170415112712140.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/d02a2886d37695d5bb3b9c2e0dd1360e.png)
若将w看做一个投影矩阵,类似PCA的思想,则LDA可将样本投影到N-1维空间(N为类簇数),投影的过程使用了类别信息(标记信息), 因此LDA也常被视为一种经典的监督降维技术。 @@ -80,8 +80,8 @@ w和b两个参数的取值,下面只列出求解的思路,不列出具体的 划分,则生成了M个二分类学习器,在测试阶段(解码),得出M个结果组成一个新的码,最终通过计算海明/欧式距离选择距离最小的 类别作为最终分类结果。 -![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/20170415112712141.png)
-![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/20170415112712142.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/d56cb1bec30b546d7cf1ec1922c0dbc1.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/49ffea9e9de2739864dbd5abae793db1.png)
# 类别不平衡问题(不太明白) @@ -92,5 +92,5 @@ w和b两个参数的取值,下面只列出求解的思路,不列出具体的 - 在训练样本较少的类别中进行“过采样”(oversampling),例如通过对反例中的数据进行插值,来产生额外的反例,常见的算法有SMOTE。 - 直接基于原数据集进行学习,对预测值进行“再缩放”处理。其中再缩放也是代价敏感学习的基础。 -![一元线性](http://index.zeekling.cn/gogsPics/ml/regression/20170415112712143.png)
+![一元线性](https://img.zeekling.cn/images/2020/04/25/9338b5e5b091aab77f43cc8fc31cda4f.png)