机器学习实验(六):用特征值衰减正则化方法进行深度学习实验_1
2016-11-17 17:54
423 查看
声明:版权所有,转载请联系作者并注明出处 http://blog.csdn.net/u013719780?viewmode=contents
#This code implements a light version of the Eigenvalue Decay regularizer for #the Keras deep learning library, approximating the dominant eigenvalue by a #soft function given by the power method. (It only works with Theano backend) import numpy as np from keras import backend as K from keras.regularizers import Regularizer class EigenvalueRegularizer(Regularizer): """This class implements the Eigenvalue Decay regularizer. Args: The constant that controls the regularization on the current layer ( see Section 3 of https://arxiv.org/abs/1604.06985 ) Returns: The regularized loss (for the training data) and the original loss (for the validation data). """ def __init__(self, k): self.k = k self.uses_learning_phase = True def set_param(self, p): self.p = p def __call__(self, loss): power = 9 # number of iterations of the power method W = self.p WW = K.dot(K.transpose(W), W) dim1, dim2 = K.eval(K.shape(WW)) k = self.k o = np.ones(dim1) # initial values for the dominant eigenvector # power method for approximating the dominant eigenvector: domin_eigenvect = K.dot(WW, o) for n in range(power - 1): domin_eigenvect = K.dot(WW, domin_eigenvect) WWd = K.dot(WW, domin_eigenvect) domin_eigenval = K.dot(WWd, domin_eigenvect) / K.dot(domin_eigenvect, domin_eigenvect) # the corresponding dominant eigenvalue regularized_loss = loss + (domin_eigenval ** 0.5) * self.k # multiplied by the given regularization gain return K.in_train_phase(regularized_loss, loss) def get_config(self): return {"name": self.__class__.__name__, "k": self.k}
Using Theano backend.
相关文章推荐
- 机器学习实验(八):用特征值衰减正则化方法进行深度学习实验_3
- 机器学习实验(七):用特征值衰减正则化方法进行深度学习实验_2
- 新闻上的文本分类:机器学习大乱斗 王岳王院长 王岳王院长 5 个月前 目标 从头开始实践中文短文本分类,记录一下实验流程与遇到的坑 运用多种机器学习(深度学习 + 传统机器学习)方法比较短文本分类处
- 机器学习实验(三):建立深度学习模型对kaggle保险索赔进行预测
- 【深度学习】笔记7: CNN训练Cifar-10技巧 ---如何进行实验,如何进行构建自己的网络模型,提高精度
- 一文概览深度学习中的五大正则化方法和七大优化策略
- 深度学习中的五大正则化方法和七大优化策略
- 机器学习实验(十二):深度学习之图像分类模型AlexNet结构分析和tensorflow实现
- 5. 深度学习基础:机器学习原理与方法(续)
- 机器学习/深度学习书单推荐及学习方法
- 机器学习、深度学习中欠拟合的解决方法总结
- 深度学习:正则化方法
- 一文概览深度学习中的五大正则化方法和七大优化策略
- 机器学习、深度学习、强化学习参数调节方法与总结
- 5. 深度学习基础:机器学习原理与方法
- 深度学习中的正则化方法
- 深度学习中的五大正则化方法和七大优化策略
- 深度学习和机器学习最优化方法总结
- [置顶] 机器学习、深度学习中过拟合的理解及解决方法
- IBM:怎样利用深度学习、机器学习等方法提高信息处理效率