范数

多任务学习Multi-task-learning MTL

Deadly 提交于 2019-11-29 05:45:27
https://blog.csdn.net/chanbo8205/article/details/84170813 多任务学习(Multitask learning)是迁移学习算法的一种,迁移学习可理解为定义一个一个源领域source domain和一个目标领域(target domain),在source domain学习,并把学习到的知识迁移到target domain,提升target domain的学习效果(performance)。 多任务学习(Multi-task learning):由于我们的关注点集中在单个任务上,我们忽略了可能帮助优化度量指标的其它信息。具体来说,这些信息来自相关任务的训练信号。通过共享相关任务之间的表征,可以使我们的模型更好地概括原始任务。这种方法被称为多任务学习(MTL)。其也是一种归纳迁移机制,主要目标是利用隐含在多个相关任务的训练信号中的特定领域信息来提高泛化能力,多任务学习通过使用共享表示并行训练多个任务来完成这一目标。归纳迁移是一种专注于将解决一个问题的知识应用到相关的问题的方法,从而提高学习的效率。比如,学习行走时掌握的能力可以帮助学会跑,学习识别椅子的知识可以用到识别桌子的学习,我们可以在相关的学习任务之间迁移通用的知识。此外,由于使用共享表示,多个任务同时进行预测时,减少了数据来源的数量以及整体模型参数的规模,使预测更加高效。因此

【转载】关于核范数和一范数的优化

霸气de小男生 提交于 2019-11-28 19:52:32
下面转载的文章实在是太精彩了,对一范数、核范数的优化讲的很清晰,到此我更加明白了优化的原理。 参考: https://www.jeddd.com/article/use-python-to-solve-lasso-by-pgd-admm-and-subgd.html 以及交替优化的方法中,固定一个参数,求最小值时另一个参数变化,也就是相当于减少了一个约束。因为当一个参数固定时,改参数是不影响函数的最值的,所以优化时可以忽略不计。我也会在下面讲解。 转载的文章链接: https://www.cnblogs.com/quarryman/p/robust_pca.html 有兴趣的同学可以去看原文 主要注意点: 1. 核范数优化时,采用了如下的形式,进行拓展 来源: https://blog.csdn.net/qq_26004387/article/details/100119654

凸优化和机器学习

狂风中的少年 提交于 2019-11-28 16:32:30
CSDN的博主poson在他的博文 《机器学习的最优化问题》 中指出“机器学习中的大多数问题可以归结为最优化问题”。我对机器学习的各种方法了解得不够全面,本文试图从凸优化的角度说起,简单介绍其基本理论和在机器学习算法中的应用。 1.动机和目的 人在面临选择的时候重视希望自己能够做出“最好”的选择,如果把它抽象成一个数学问题,那么“最好的选择”就是这个问题的最优解。优化问题,就是把你考虑的各个因素表示成为一组函数(代价函数),解决这个问题就是在一集备选解中选择最好的解。 那么,为什么我们要讨论凸优化而不是一般的优化问题呢?那时因为凸优化问题具有很好的性质——局部最优就是全局最优,这一特性让我们能够迅速有效的求解问题。(实际上就是太一般的优化问题讨论不来) 2.凸优化的定义 首先明确两个定义: (1) 如果 中任意两点之间的线段任在 中,那么集合 被称为 凸集。即对任意 和满足 的 都有 (2) 函数 是 凸函数,则 是凸集,且对于任意 在任 下有 Stephen Boyd 在他的《convex optimization》中定义凸优化问题是形如 的问题,其中 为凸函数。也就是说,凸优化问题是指需要最小化的函数(代价函数)是凸函数,而且定义域为凸集的问题。 3.凸优化问题的一般求解方法 有些凸优化问题比较简单,是可以直接求解的,譬如二次规划,这里不做说明。求解凸优化问题,就要利用该问题的

numpy中求向量、矩阵的范数

吃可爱长大的小学妹 提交于 2019-11-28 05:54:43
np.linalg.norm()    # linalg = linear(线性) + algebra(代数), norm表示范数 x_norm = np.linalg.norm(x, ord=None, axis=None, keepdims=False) ①x: 表示矩阵(也可以是一维) ②ord:范数类型 向量的范数: 矩阵的范数: ord=1:列和的最大值 ord=2:|λE-ATA|=0,求特征值,然后求最大特征值得算术平方根 ord=∞:行和的最大值 ③axis:处理类型 axis=1表示按行向量处理,求多个行向量的范数 axis=0表示按列向量处理,求多个列向量的范数 axis=None表示矩阵范数。 ④keepdims:是否保持矩阵的二维特性 ,避免出现shape = (5, )这样的形状 True表示保持矩阵的二维特性,False相反 来源: https://www.cnblogs.com/shuaishuaidefeizhu/p/11395762.html

什么是正则化

二次信任 提交于 2019-11-27 19:41:59
转自: https://charlesliuyx.github.io/2017/10/03/%E3%80%90%E7%9B%B4%E8%A7%82%E8%AF%A6%E8%A7%A3%E3%80%91%E4%BB%80%E4%B9%88%E6%98%AF%E6%AD%A3%E5%88%99%E5%8C%96/ 【内容简介】主要解决什么是正则化,为什么使用正则化,如何实现正则化,外加一些对范数的直观理解并进行知识整理以供查阅 Why & What 正则化 我们总会在各种地方遇到正则化这个看起来很难理解的名词,其实它并没有那么高冷,是很好理解的 首先,从使用正则化解决了一个什么问题的角度来看:正则化是为了防止过拟合, 进而增强泛化能力。用白话文转义,泛化误差(generalization error)= 测试误差(test error),其实就是使用训练数据训练的模型在测试集上的表现(或说性能 performance)好不好 如上图,红色这条“想象力”过于丰富上下横跳的曲线就是过拟合情形。结合上图和正则化的英文 Regularizaiton-Regular-Regularize,直译应该是:规则化(加个“化”字变动词,自豪一下中文还是强)。什么是规则?你妈喊你6点前回家吃饭,这就是规则,一个限制。同理,在这里,规则化就是说给需要训练的目标函数加上一些规则(限制),让他们不要自我膨胀

Python数据预处理(sklearn.preprocessing)—归一化(MinMaxScaler),标准化(StandardScaler),正则化(Normalizer, normalize)

梦想与她 提交于 2019-11-27 07:03:54
关于数据预处理的几个概念 归一化 (Normalization): 属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现。 常用的最小最大规范化方法(x-min(x))/(max(x)-min(x)) 除了上述介绍的方法之外,另一种常用的方法是将属性缩放到一个指定的最大和最小值(通常是1-0)之间,这可以通过preprocessing.MinMaxScaler类实现。 使用这种方法的目的包括: 1、对于方差非常小的属性可以增强其稳定性。 2、维持稀疏矩阵中为0的条目 >>> X_train = np.array([[ 1., -1., 2.], ... [ 2., 0., 0.], ... [ 0., 1., -1.]]) ... >>> min_max_scaler = preprocessing.MinMaxScaler() >>> X_train_minmax = min_max_scaler.fit_transform(X_train) >>> X_train_minmax array([[ 0.5 , 0. , 1. ], [ 1. , 0.5 , 0.33333333], [ 0. , 1. , 0. ]]) >>> #将相同的缩放应用到测试集数据中 >>> X_test = np.array([[

第2章 端到端的机器学习项目

喜你入骨 提交于 2019-11-27 02:56:07
第2章 端到端的机器学习项目 写在前面 参考书 《机器学习实战——基于Scikit-Learn和TensorFlow》 工具 python3.5.1,Jupyter Notebook, Pycharm 回归问题的性能指标 均方根误差(RMSE):$\sqrt {\frac{1}{m} \sum\limits_{i=1}^m ( h(x^{(i)}) - y^{(i)} ) ^2}$,对应$l_2$范数。 平均绝对误差(MAE):$\frac{1}{m} \sum\limits_{i=1}^m | h( x^{(i)} ) - y^{(i)} |$,对应$l_1$范数。 范数指数越高,则越关注大的价值,忽略小的价值。这就是为什么RMSE比MAE对异常值更敏感。但是当异常值非常稀少(例如钟形曲线)时,RMSE的表现优异,通常作为首选。 df.where详解 参考连接: https://blog.csdn.net/brucewong0516/article/details/80226990 返回一个同样shape的df,当满足条件为TRUE时,从本身返回结果,否则从返回其他df的结果 df.mask使用时,结果与where相反 分层抽样详解 sklearn.model_selection.StratifiedShuffleSplit 参考链接: https://blog.csdn.net