Generalized Linear Models

【这里是对sklearn文档学习记录的笔记,不限于sklearn文档,其中添加了很多非常基础且帮助理解的知识,基本上对每个知识点的原理都会解释,也会留下不懂的疑问,如果有大神能对此指定一二,在下感激不尽!】
线性组合
glm05
generalized linear models(广义线性模型)
大概就是一个用的是线性的,一个用的是非线性的
https://cosx.org/2011/01/how-does-glm-generalize-lm-assumption/
http://blog.csdn.net/acdreamers/article/details/44663091
【补充】这里会补上Logistic regression

1.1.1. Ordinary Least Squares

最小二乘法原理
参考
https://wenku.baidu.com/view/16f75d2bb4daa58da0114add.html
https://wenku.baidu.com/view/06af27ad5a8102d277a22f62.html
上面这两个ppt如果看懂了,关于1.1.1 Ordinary Least Squares的一段话基本上就可以理解了
简单的来说,对于一组数据,求一个近似函数P(x)约等于f(x)
最常见的做法是使总体上尽可能的小

即如果多项式表示为

使用最小二乘法,对于 ,使 达到极小值,即

使最小,对其求极值,需要满足如下

下面举例说明
ols01
ols02
ols03
对上式进行求导:

分解:

ols04
下面得到如下矩阵形式,其中X‘表示的时矩阵X的转置
ols05
ols06
ols07

However, coefficient estimates for Ordinary Least Squares rely on the independence of the model terms. When terms are correlated and the columns of the design matrix X have an approximate linear dependence, the design matrix becomes close to singular and as a result, the least-squares estimate becomes highly sensitive to random errors in the observed response, producing a large variance. This situation of multicollinearity can arise, for example, when data are collected without an experimental design
这段话说当模型(y)与设计矩阵(X)存在近似线性相关时,设计矩阵(X)会变得奇异(也就是说不满秩矩阵),这样使用最小二乘法对参数的估计就会变得很敏感(也就是说参数波动比较大也能满足条件),以至于产生很大的方差(每组参数波动很大,当然会产生很大的方差了:比如系数在使用最小二乘法求解时,由于矩阵不满秩,会有多个解,也就是说每来一条数据,就会产生一个,会向这多个解中的一个靠拢,而满秩的话,只会向一个解靠拢,那么多个解对应的方差当然比一个解对应的方差大了。。。当然了,这是胡扯的,为了好理解,下面有公式),这种情况下多重共线性的几率会上升
继续分析多重共线性是什么鬼
参考:
http://blog.csdn.net/helh522/article/details/44564185
https://wenku.baidu.com/view/aef5792d2b160b4e777fcf0e.html
https://wenku.baidu.com/view/eb33ad51be23482fb4da4cf3.html
就是说对于模型

如果两个或多个变量(特征)之间出现了相关性,就称为多重共线性

glm01

glm02

glm03

glm04

上面的解释我看不太懂,方差的表达式为什么是这个,以及为什么会引起主对角线元素较大
然后讲了克服多重共线性的方法

  1. 排除引起共线性的变量
  2. 差分法 (时间序列)
  3. 减少参数估计量的方差:增加样本容量,岭回归

1.1.1.1 Ordinary Least Squares Complexity

用奇异矩阵分解最小二乘问题的时间复杂度为O(np^2)
参考:
http://www.cnblogs.com/houkai/p/6656894.html
https://wenku.baidu.com/view/3c8cd12d453610661ed9f4b7.html
关于奇异矩阵分解最小二乘问题:
奇异值分解SVD:任意一个维的矩阵X可以分解为,其中UV为酉矩阵,S是m*n维的对角矩阵,其对角线元素为X的从大到小排序的非负奇异值。SVD分解十分强大且适用,因为任意一个矩阵都可以实现SVD分解,相比与SVD分解,特征值分解只能应用于方阵。

glm06

【注意:关于上面的U被移到第二个式子上,是由于奇异矩阵的保范性,乘以U,V等式奇异值不变】
至于时间复杂度,这个不知道额,应该是SVD的分解时间复杂度吧

1.1.2. Ridge Regression

这里需要讲解一下L1正则化和L2正则化,及其区别

L1正则化和L2正则化

先讲一下0范数,我是不太明白的,查阅的解答是向量中非零元素的个数,说到当p趋于零,可以证明这时候的极限恰好是向量中非零元素的个数。那么用L0范数来规则化参数矩阵W等价希望W的大部分元素都是0,即让W是稀疏的,而这恰恰是L1要做的事,但是为什么不直接用L0来做呢,原因是L0范数很难优化求解(NP难题),而且L1范数是L0得最优凸近似(这里我不知道原因),且容易求解.
继续讲,需要解决这几个问题,为什么要稀疏(即特征选择),为什么L1能稀疏,L2是什么,为什么要有L2,L2和L1的区别是什么?
稀疏的目的是可以实现特征的自动选择,如果x的大部分特征和最终的输出y没有关系(提供不了任何信息),在最小化目标函数的时候考虑这些特征
https://www.quora.com/What-is-the-difference-between-L1-and-L2-regularization-How-does-it-solve-the-problem-of-overfitting-Which-regularizer-to-use-and-when
https://www.quora.com/Whats-a-good-way-to-provide-intuition-as-to-why-the-lasso-L1-regularization-results-in-sparse-weight-vectors

给出比较好的关于回归等得文章
你应该掌握的七种回归技术

如果觉得有帮助,给我打赏吧!