1机器学习
1.1 逻辑回归:
分析因变量y取某个值的概率与自变量x的关系,0<y<1,可以理解为实际上是寻找一个以x为变量的函数;
Logistic回归为概率型非线性回归模型,是研究二分类观察结果与一些影响因素
之间关系的一种多
变量分析方法。通常的问题是,研究某些因素条件下某个结果是否发生,比如医学中根据病人的一些症状来判断它是
否患有某种病。
在讲解Logistic回归理论之前,我们先从LR分类器说起。LR分类器,即Logistic Regression Classifier。
在分类情形下,经过学习后的LR分类器是一组权值,当测试样本的数据输入时,这组权值与测试数据按
照线性加和得到
这里是每个样本的
个特征。
之后按照sigmoid函数的形式求出
由于sigmoid函数的定义域为,值域为
,因此最基本的LR分类器适合对两类目标进行分类。
所以Logistic回归最关键的问题就是研究如何求得这组权值。
求权值可以使用梯度下降法、或极大似然估计来做。
1.2 梯度下降法




















举个实际的例子, 有两个Feature:
(1)size,取值范围0~2000;
(2)#bedroom,取值范围0~5;
则通过feature scaling后,
![]() ![]() |
midterm exam | (midterm exam)2 | final exam |
89 | 7921 | 96 |
72 | 5184 | 74 |
94 | 8836 | 87 |
69 | 4761 | 78 |






x | y |
3 | 4 |
2 | 1 |
4 | 3 |
0 | 1 |

1.3 神经网络各层权重、偏差的大小确定方法
每层神经元个数n[i]由神经网络构架者自行确定,每层参数的个数由该层输入的个数n[i-1],及本层神经元数目n[i]共同确定,权重矩阵大小为[n[i],n[i-1]],偏差b向量大小为[n[i],1].
当输入样本为n时,注意numpy库的传播作用。
深层神经网络其实就是包含更多的隐藏层神经网络。如下图所示,分别列举了逻辑回归、1个隐藏层的神经网络、2个隐藏层的神经网络和5个隐藏层的神经网络它们的模型结构。
命名规则上,一般只参考隐藏层个数和输出层。例如,上图中的逻辑回归又叫1 layer NN,1个隐藏层的神经网络叫做2 layer NN,2个隐藏层的神经网络叫做3 layer NN,以此类推。如果是L-layer NN,则包含了L-1个隐藏层,最后的L层是输出层。
下面以一个4层神经网络为例来介绍关于神经网络的一些标记写法。如下图所示,首先,总层数用L表示,L=4。输入层是第0层,输出层是第L层。n[l]表示第l层包含的单元个数,l=0,1,⋯,L。这个模型中,n[0]=nx=3,表示三个输入特征x1,x2,x3。n[1]=5,n[2]=5,n[3]=3,n[4]=n[L]=1。第l层的激活函数输出用a[l]表示,a[l]=g[l](z[l])。W[l]表示第l层的权重,用于计算z[l]。另外,我们把输入x记为a[0],把输出层y^记为a[L]。
注意,a[l]和W[l]中的上标l都是从1开始的,l=1,⋯,L。
2. Forward Propagation in a Deep Network
接下来,我们来推导一下深层神经网络的正向传播过程。仍以上面讲过的4层神经网络为例,对于单个样本:
第1层,l=1:
第2层,l=2:
第3层,l=3:
第4层,l=4:
如果有m个训练样本,其向量化矩阵形式为:
第1层,l=1:
第2层,l=2:
第3层,l=3:
第4层,l=4:
综上所述,对于第l层,其正向传播过程的Z[l]和A[l]可以表示为:
其中l=1,⋯,L
3. Getting your matrix dimensions right
对于单个训练样本,输入x的维度是(n[0],1)神经网络的参数W[l]和b[l]的维度分别是:
其中,l=1,⋯,L,n[l]和n[l−1]分别表示第l层和l−1层的所含单元个数。n[0]=nx,表示输入层特征数目。
顺便提一下,反向传播过程中的dW[l]和db[l]的维度分别是:
注意到,W[l]与dW[l]维度相同,b[l]与db[l]维度相同。这很容易理解。
正向传播过程中的z[l]和a[l]的维度分别是:
z[l]和a[l]的维度是一样的,且dz[l]和da[l]的维度均与z[l]和a[l]的维度一致。
对于m个训练样本,输入矩阵X的维度是(n[0],m)。需要注意的是W[l]和b[l]的维度与只有单个样本是一致的:
只不过在运算Z[l]=W[l]A[l−1]+b[l]中,b[l]会被当成(n[l],m)矩阵进行运算,这是因为python的广播性质,且b[l]每一列向量都是一样的。dW[l]和db[l]的维度分别与W[l]和b[l]的相同。
但是,Z[l]和A[l]的维度发生了变化:
dZ[l]和dA[l]的维度分别与Z[l]和A[l]的相同。
1.4 神经网络的构建方法
1、确定神经网络的结构
2、初始化参数 各层权重及偏差
3、循环
a.计算前向传递函数
b.计算损失函数
c.计算反向传递函数,获得各层dw,db;
d.更新参数
1.5 神经网络超参数调试
学习率 迭代次数 隐藏层层数 各层隐藏单元数 激活函数等都是超参数
调试思路:
1、参考论文中给出的数据,通过实验验证其有效性
未全待续,,,,,,,,
1.6 方差与偏差问题
方差衡量训练集与开发集训练准确度之间的差值
偏差描述训练集的准确度 ,准确度越高,偏差越小
(可避免偏差,是人类分类的误差与机器分类误差之差的衡量,可用其对神经网络是否还有提升空间进行分析)
对于高偏差的情况:通过更大的神经网络来训练、以解决高偏差问题、或使用更好的算法
高方差问题:通过正则化方法解决高方差 (dropout 、 L2、) 、使用更大的训练集