大略总结下
我们关心的东西没有办法用一个或多个变量确定的表示,即无函数关系;但是又存在着较强的关联性。这种关系就叫统计关系或相关关系。衍生两个分支是回归分析和相关分析。二者侧重不同,回归分析用的更广泛。
回归分析中,x称为解释变量,是非随机变量;y称为响应变量,是随机变量。
回归有线性回归和非线性回归;以最小二乘法(Least Square)为主的线性回归是最经典的回归模型。
回归和分类的问题是相同的,仅区别于响应变量的形式。y是分类变量时(例:0-1),模型为分类;是连续变量时称为回归。
高斯-马尔科夫是核心假设,后面回归出现的问题都由此而来。
多重共线性:第3条不满足。举例:自变量同时有一天进食量和中午以后进食量。解决办法:根据多重共线性检验删除一些不重要的变量;逐步回归、主成分回归、偏最小二乘,Ridge,Lasso(岭回归与LASSO为正则化方法,在解释性上强于前面两种)
当响应变量是定性变量。解决办法:
当响应变量 y 是分类变量时,建模过程就是分类了。感知机(Perceptron)是二分类的线性分类模型。可以看做是线性回归的兄弟(线性分类)。同时也是神经网络和支持向量机(support vector machine)的基础。
下一篇学习笔记会试着写写从感知机到支持向量机。
在周志华老师的机器学习一书中侧重于将其作为神经网络的基础概念,对感知机的定义如下:
感知机由两层神经元组成,输入层接受外界输入信号后传递给输出层,输出层是M-P神经元,亦称“阈值逻辑单元”(threshold logic unit)。如下图所示:
在感知机模型中,假设数据集是线性可分的。因此,感知机的目标是找到一个超平面,将两类点(正 or 负)完全分隔开来。因此,学习策略的核心是找到这样的超平面方程: wx+b=0
因此,训练需要得到的参数是 w 和 b 。采用误分类点到该超平面的距离来作为损失函数;这里不选误分类点的总个数是因为这样的损失函数不是参数 w 和 b 的连续可导函数,不便于优化。
损失函数:
在前面已经提到了广义线性模型,其一般表示形式为:
因此在Logistic回归中,取连接函数为 logit 函数: g(p)=ln(p1−p) ,
当 yi∼Bin(n,pi) ,相应的 GLM 模型为:
那大佬们说的Sigmoid函数是什么意思呢?
我们将上式写成回归函数的样子(两边取指数,挪一挪就得了):
机器学习中,一般令 z=wTx+b ,且有 p(y=1|x)=σ(z) ,其中 σ(z)=11+e−z 。
我们称 σ(z) 为 Sigmoid函数,图像长这个样子:
可以看到函数图像是一个 S型 的曲线,它将线性模型 z=wTx+b 非线性映射到 [0,1] 区间里。
因此可以简单的认为:Logistic回归分两个部分,第一部分线性回归形式 z=wT+b ,第二部分是非线性映射 p(y=1|x)=σ(z)
平方损失:
绝对值损失
LASSO损失
我们已经得到了Logistic回归模型,等式左边的 p(y=1|x) 是在已有的信息 x 下, y 等于 1 的概率作为响应变量 y^ 。那么就有 p(y=0|x)=1−y^ 。为了使用 极大似然估计 (Maximum Likelihood Estimate) 来估计参数 w 和 b , 我们写出其似然函数:
这个时候损失函数是高阶可导的连续凸函数,梯度下降法就可以求解了。
统计中关心的 比值 odds 和 比值的比:优势比( odds ratio )
神经元:
上图是一个神经元,高中生物学过。简要来说:树突接受信号,胞体处理信号,如果信号产生的电位达到阈值(threshold),胞体变为“兴奋”状态(激活状态),通过轴突给下一个神经元传出信号。
神经元模型:
在机器学习中,谈论神经网络时指的是 “神经网络学习“,是机器学习和生物神经网络的交叉部分。
神经元模型是神经网络学习中最基本的成分。下图可以抽象的看做神经元模型,和上面的生物神经元对照着看。
左边的 x1,x2,....xn 对应数据的输入(树突结构信号的传入),圆圈相当于胞体结构,胞体得到信息后和阈值做比较( θ 代表阈值);最后通过激活函数(activation function)决定输出 y .
举个例子:用手挠一下神经元,可能强度达不到阈值,神经元不理你;如果你用针用力刺一下它,疼痛感立马大于阈值,神经元分泌化学物质,即输出相应的信号。
前面介绍了感知机,它可以看做是两层神经元组成,激活函数是 Heaviside函数(阶跃函数)的神经元模型。当输入信号大于阈值,神经元兴奋,输出1;否则神经元抑制,输出 0。
Logistic回归可以看做是两层神经元,激活函数是Sigmoid函数的神经网络。
正如前面所说,可以给Logistic回归看做两步骤,第一: z=wTx+b ,第二: y^=σ(z) 。
多层的我也不知道咋解释,函数一层嵌套一层的,现在也很难解释。
有理论证明:神经网络层数多一点,比一层个数里面多一点效果好;可以模拟任何的函数;随着样本量的增大,效果会好起来,但是肯定有极限。
反正第一次写,不知道写多了还是写少了。有什么意见尽管提,争取下次改正。大家都菜的抠脚,一起学习一起进步。