卷积神经网络中的权值共享
输入层和隐层之间若按照全连接方式去连接,权值w的维数太大,为了减少权值w的维数,可以采用隐层的每个神经元与输入层中的1010个神经元相连,这样就大大减少了w的维数。进一步,如果我们让隐层每个神经元对用的1010的权重w都相同,那么最后我们的权重w就只有1010,但是这样子做未免也太粗糙了,提取的特征肯定很少,在此基础上,可以多加几个1010大小的w就可以了,比如50个,那就可以提取50次特征了,总的w的维度就变成501010个。这就是权值共享。
统计学习(传统机器学习)和深度学习的区别和联系
区别:传统机器学习需要人工设计特征,需要做特征工程,并且特征工程很关键。而深度学习可以自动学习特征,特别是在图像、语言、文本方面,这些数据都有局部和整体的关系,深度学习能发挥很大的作用,但是调参也是一个很繁琐的事情。
联系:深度学习 是一种实现机器学习的技术。
##LR和SVM的异同
相同点:
- LR和SVM都是分类算法
- 如果不考虑核函数,LR和SVM都是分类算法,也就是说他们的决策面都是线性的
- LR和SVM都是监督学习算法
- LR和SVM都是判别模型
- LR和SVM在学术界都广为人知并且应用广泛
不同点:
- 本质上是其loss function不同。不同的loss function代表不同的假设前提,也就代表了不用的分类原理。 简单来说,逻辑回归方法是基于概率理论,假设样本为1的概率可以用sigmoid函数来表示,然后通过极大似然的方法可以估计出参数的值。支持向量则是基于几何间隔最大的原理,认为存在最大几何间隔的分类为最优分类面。
- 支持向量只考虑局部边界线附近的点,而逻辑回归考虑全局。从这一点可以得知:线性SVM不直接依赖于数据分布,分类平面不受一类点影响;LR则受所有数据点的影响,如果数据不同类别strongly unbalance,一般需要先对数据做balancing。
- 在解决非线性问题时,支持向量机采用核函数的机制,而LR通常不采用核函数的方法。 这个问题理解起来非常简单。分类模型的结果就是计算决策面,模型训练的过程就是决策面的计算过程。通过上面的第二点不同点可以了解,在计算决策面时,SVM算法里只有少数几个代表支持向量的样本参与了计算,也就是只有少数几个样本需要参与核计算(即kernal machine解的系数是稀疏的)。然而,LR算法里,每个样本点都必须参与决策面的计算过程,也就是说,假设我们在LR里也运用核函数的原理,那么每个样本点都必须参与核计算,这带来的计算复杂度是相当高的。所以,在具体应用时,LR很少运用核函数机制。
- 线性SVM依赖数据表达的距离测量,所以需要对数据先做normalization,LR不受其影响。(一个基于概率,一个基于距离)
- SVM的损失函数就自带正则项,这就是问什么SVM是结构风险最小化算法的原因。而LR必须在损失函数上添加正则项 下式是SVM的损失函数
L ( ω , b , α ) = 1 2 ∥ ω ∥ 2 − ∑ i = 1 n α i ( y i ( ω T x i + b ) − 1 ) L(\omega , b, \alpha) = \frac{1}{2}\left \| \omega \right \|^2 - \sum _{i=1}^n\alpha _i(y_i(\omega ^Tx_i+b)-1) L(ω,b,α)=21∥ω∥2−i=1∑nαi(yi(ωTxi+b)−1)
特征缩放(数据标准化)(概率模型不需要)
特征缩放技术是指面对多维特征时,将特征数据标准化到一个特定的范围,保证这些特征具有相近的尺度,将其进行归一化,这将帮助梯度下降法反向传播时更快的收敛。
- min-max标准化(Min-Max Normalization)(它把原始数据映射到[0-1]之间)
x = x − m a x m a x − m i n x=\frac{x-max}{max-min} x=max−minx−max
- 0均值标准化(z-score标准化)(去均值除以标准差)
x = x − μ σ x = \frac{x-\mu}{\sigma} x=σx−μ
两种方法的适用场景
- 在不涉及距离度量、协方差计算、数据不符合正太分布的时候,可以使用第一种方法或其他归一化方法。比如图像处理中,将RGB图像转换为灰度图像后将其值限定在[0 255]的范围
- 在分类、聚类算法中,需要使用距离来度量相似性的时候、或者使用PCA技术进行降维的时候,第二种方法(Z-score standardization)表现更好。
特征工程一般如何做
特征工程的目的是获取更好的训练数据,把原始数据转变成特征。从数学的角度来看,特征工程就是人工的去设计输入变量X。主要分为三个步骤:1、特征构建;2、特征提取;3、特征选择
1、特征构建
特征构建是指从原始数据中人工的找出一些具有物理意义的特征。需要花时间去观察原始数据,思考问题的潜在形式和数据结构,对数据敏感性和机器学习实战经验能帮助特征构建。
2、特征提取
- PCA(Principal component analysis, 主成分分析)
- LDA(Linear Discriminant Analysis, 线性判别分析)
- ICA(Independent component analysis, 独立成分分析)
3、特征选择
从给定的特征集合中选择出相关特征子集的过程,称为特征选择。
原因:
- 维数灾难
- 去除不相关的特征往往会降低学习任务的难度
主要选择方式:
- 过滤式选择(先选择特征再训练)
- 包裹式选择(根据要使用的学习器选择特征、期间进行多次训练、开销大,但是效果优于前者)
- 嵌入式选择与L1正则化(不同于前两个将学习器的训练和特征选择分开,该方法边训练边选择)
解释什么是降维,在哪里会用到降维,它的好处是什么?
降维是指通过保留一些比较重要的特征,去除一些冗余的特征,减少数据特征的维度。而特征的重要性取决于该特征能够表达多少数据集的信息,也取决于使用什么方法进行降维。使用哪种降维方法则是通过反复的试验和每种方法在该数据集上的效果。一般情况会先使用线性降维方法再使用非线性的降维方法。
好处:
- 节省存储空间
- 加速计算速度,维度越少,计算量越少,并且能够使用那些不适合高维度的算法
- 去除一些冗余特征,比如降维后使得数据不会即保存平方米又保存平方英里的表示地形大小的特征
- 将数据维度降到2维或者3维使之能可视化,便于观察和挖掘信息
- 特征太多或者太复杂会使得模型过拟合