过拟合

LDA数据压缩原理及python应用(葡萄酒案例分析)

孤街醉人 提交于 2020-08-16 13:58:43
目录 线性判别分析(LDA)数据降维及案例实战 一、LDA是什么 二、计算散布矩阵 三、线性判别式及特征选择 四、样本数据降维投影 五、完整代码 结语 线性判别分析(LDA)数据降维及案例实战 一、LDA是什么 LDA概念及与PCA区别 LDA线性判别分析 (Linear Discriminant Analysis)也是一种特征提取、数据压缩技术。在模型训练时候进行LDA数据处理可以提高计算效率以及避免过拟合。它是一种有监督学习算法。 与 PCA主成分分析 (Principal Component Analysis)相比,LDA是有监督数据压缩方法,而PCA是有监督数据压缩及特征提取方法。PCA目标是寻找数据集最大方差方向作为主成分,LDA目标是寻找和优化具有可分性特征子空间。其实两者各有优势,更深入详细的区分和应用等待之后的学习,这里我仍然以葡萄酒数据集分类为案例记录原理知识的学习和具体实现步骤。 对比我之前记录的PCA请看: PCA数据降维原理及python应用(葡萄酒案例分析) LDA内部逻辑实现步骤 标准化d维数据集。 计算每个类别的d维均值向量。 计算跨类散布矩阵 和类内散布矩阵 . 线性判别式及特征计算。 按特征值降序排列,与对应的特征向量成对排序。 选择最具线性判别性的前k个特征,构建变换矩阵 . 通过变换矩阵将原数据投影至k维子空间。 二、计算散布矩阵 1

残差网络ResNet笔记

夙愿已清 提交于 2020-08-16 00:22:09
发现博客园也可以支持Markdown,就把我之前写的博客搬过来了~ 欢迎转载,请注明出处: http://www.cnblogs.com/alanma/p/6877166.html 下面是正文: Deep Residual Learning for Image Recognition 1. 思想 作者根据输入将层表示为学习 残差函数 。实验表明,残差网络更容易优化,并且能够通过增加相当的深度来提高准确率。 核心是解决了增加深度带来的副作用(退化问题),这样能够通过单纯地增加网络深度,来提高网络性能。 作者在ImageNet上实验了一个152层的残差网络,比VGG深8倍,取得了3.57%的错误率。 作者通过一系列实验证明了表示的深度(即网络的深度)对很多视觉识别任务都至关重要。仅仅由于使用了非常深的网络,作者就在COCO目标检测数据集上获得了 28% 的相对提升。 2. 笔记 网络的深度为什么重要? 因为CNN能够提取low/mid/high-level的特征,网络的层数越多,意味着能够提取到不同level的特征越丰富。并且,越深的网络提取的特征越抽象,越具有语义信息。 为什么不能简单地增加网络层数? 对于原来的网络,如果简单地增加深度,会导致梯度弥散或梯度爆炸。 对于该问题的解决方法是 正则化初始化 和 中间的正则化层(Batch Normalization)

逻辑回归与梯度下降法全部详细推导

我与影子孤独终老i 提交于 2020-08-15 15:39:28
第三章 使用sklearn 实现机学习的分类算法 分类算法 分类器的性能与计算能力和预测性能很大程度上取决于用于模型训练的数据 训练机器学习算法的五个步骤: 特征的选择 确定评价性能的标准 选择分类器及其优化算法 对模型性能的评估 算法的调优 sklearn初步使用 3.1 sklearn中包括的processing 模块中的标准化类,StandardScaler对特征进行标准化处理 from sklearn.processing import StandardSacler sc = StandardScaler() #实例化 sc.fit(X_train) sc.transform(X_train) # - 以上两句可以并写成一句sc.fit_transform(X_trian) # - 我们使用相同的放缩参数分别对训练和测试数据集以保证他们的值是彼此相当的。**但是在使用fit_transform 只能对训练集使用,而测试机则只使用fit即可。** # - sklearn中的metrics类中包含了很多的评估参数,其中accuracy_score, # - 中accuracy_score(y_test,y_pred),也就是那y_test与预测值相比较,得出正确率 y_pred = model.predict(X_test-std) 过拟合现象 过拟合现象出现有两个原因:

tensorflow与深度学习之二

无人久伴 提交于 2020-08-15 15:38:25
tensorflow是什么 tensorflow计算模型-计算图 2.1计算图的概念 2.2计算图的使用 tensorflow数据模型-张量 3.1张量的概念 3.2张量的使用 tensorflow运行模型-会话 tensorflow实现神经网络 第一个CNN网络 6.1CNN算法原理 6.2CNN是干什么的 6.3tensorflow实现CNN 6.4CNN模型发展 第一个RNN网络 7.1RNN算法原理 7.2RNN是干什么的 7.3tensorflow实现RNN 7.4RNN模型发展及变体 3、优化器如何选择 目前TensorFlow支持11种不同的经典优化器(参考TensorFlow API tf.train文档) tf.train.Optimizer tf.train.GradientDescentOptimizer tf.train.AdadeltaOptimizer tf.train.AdagtadOptimizer tf.train.AdagradDAOptimizer tf.train.MomentumOptimizer tf.train.AdamOptimizer tf.train.FtrlOptimizer tf.train.ProximalGradientDescentOptimizer tf.train.ProximalAdagradOptimizer

图片卷积后的尺寸计算公式

空扰寡人 提交于 2020-08-15 10:30:34
输入图片大小 W×W Filter大小 F×F 步长 S padding的像素数 P N = (W − F + 2P )/S+1 输出图片大小为 N×N 池化层的功能: * 第一,又进行了一次特征提取,所以能减小下一层数据的处理量。 * 第二,能够获得更为抽象的信息,从而防止过拟合,也就是提高了一定的泛化性 * 第三,由于这种抽象性,所以能对输入的微小变化产生更大的容忍,也就是保持了它的不变性,这里的容忍包括图像的少量平移、旋转缩放等操作变化 来源: oschina 链接: https://my.oschina.net/timebear/blog/4303678

深度学习入门笔记(二):神经网络基础

主宰稳场 提交于 2020-08-15 05:37:06
前言 神经网络 是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应”.我们在机器学习中谈论神经网络时指的是“神经网络学习”,或者说,是机器学习与神经网络这两个学科领域的衣叉部分。 文章目录 前言 1. 神经元模型 2. 感知机与多层网络 2.1感知机 2.2 多层神经网络 3. 误差逆传播算法 4. 全局最小与局部极小 5. 其他常见神经网络 5.1 RBF网络 5.2 ART网络 5.3 SOM 网络 5.4 级联相关网络 5.5 Elman网络 1. 神经元模型 神经网络中最基本的成分是 神经元(neuron)模型 ,即上述定义中的“ 简单单元 ”。在生物神经网络中,每个神经元与其他神经元相连,当它“兴奋”时,就会向相连的神经元发送 化学物质 ,从而改变这些神经元内的电位;如果某神经元的电位超过了一个“ 阈值”(threshold), 那么它就会被激活,即“兴奋”起来,向其他神经元发送化学物质。 1943年,将上还情形抽象为下图所示的简单模型,这就是一直沿用至今的 “M-P神经元模型” 。在这个模型中,神经元接收到来自 n 个其他神经元传递过来的输入信号,这些输入信号通过带权重的连接(connection)进行传递,神经元接收到的 总输入值 将与神经元的 阈值 进行比较,然后通过“ 激活函数 ”(activation

XGBoost 重要参数(调参使用)

醉酒当歌 提交于 2020-08-15 04:51:26
XGBoost 重要参数(调参使用) 数据比赛Kaggle,天池中最常见的就是XGBoost和LightGBM。 模型是在数据比赛中尤为重要的,但是实际上,在比赛的过程中,大部分朋友在模型上花的时间却是相对较少的,大家都倾向于将宝贵的时间留在特征提取与模型融合这些方面。在实战中,我们会先做一个baseline的demo,尽可能快尽可能多的挖掘出模型的潜力,以便后期将精力花在特征和模型融合上。这里就需要一些调参功底。 本文从这两种模型的一共百余参数中选取重要的十余个进行探讨研究。并给大家展示快速轻量级的调参方式。当然,有更高一步要求的朋友,还是得戳 LightGBM 和 XGBoost 这两个官方文档链接。 XGBoost 的重要参数 XGBoost的参数一共分为三类: 通用参数 :宏观函数控制。 Booster参数 :控制每一步的booster(tree/regression)。booster参数一般可以调控模型的效果和计算代价。我们所说的调参,很这是大程度上都是在调整booster参数。 学习目标参数 :控制训练目标的表现。我们对于问题的划分主要体现在学习目标参数上。比如我们要做分类还是回归,做二分类还是多分类,这都是目标参数所提供的。 完整参数请戳官方文档 通用参数 booster :我们有两种参数选择, gbtree 和 gblinear

十、简单线性回归的python实现(详解)

风流意气都作罢 提交于 2020-08-14 20:52:52
4. 简单线性回归的python实现 点击标题即可获取源代码和笔记 4.1 导入相关包 import numpy as np import pandas as pd import random import matplotlib as mpl import matplotlib . pyplot as plt plt . rcParams [ 'font.sans-serif' ] = [ 'simhei' ] # 显示中文 plt . rcParams [ 'axes.unicode_minus' ] = False # 用来正常显示负号 % matplotlib inline # 将图片嵌套在输出框中显示,而不是单独跳出一张图片 4.2 导入数据集并探索数据 ex0 = pd . read_table ( "./datas/ex0.txt" , header = None ) ex0 . head ( ) 0 1 2 0 1.0 0.067732 3.176513 1 1.0 0.427810 3.816464 2 1.0 0.995731 4.550095 3 1.0 0.738336 4.256571 4 1.0 0.981083 4.560815 ex0 . shape (200, 3) ex0 . describe ( ) 0 1 2 count 200.0 200

用AI技术推动西安民俗文化,斗鱼超管团队有一套

巧了我就是萌 提交于 2020-08-14 20:30:54
摘要: AI成为传统文化发展的助推器,助力传统文化朝着大众化、数字化、个性化、精准化方向发展,赋予传统文化新的生机,延续传统文化新的生命。“斗鱼团队”从五个方面进行阐述“纵横西安”这个民俗文创产品实现的背后技术。 在科技引领生活日新月异变化的现在,新文创应运而生。随着人工智能技术不断发展,“文化+AI”成为文化与科技融合的最新亮点。AI也成为了传统文化发展的助推器,助力传统文化朝着大众化、数字化、个性化、精准化方向发展,赋予传统文化新的生机,延续传统文化新的生命。 “冲天香阵透长安,满城尽带黄金甲。”长安即是如今的西安,历史上前后有13个王朝在此建都,是今人追寻遗迹的首选之地。 为了帮助大家能够熟识西安那耸立城墙内外的诸多事务,在故都之旅中奔驰无阻。斗鱼超管团队开发了一款名为“纵横西安”Android端APP,它能够通过图片秒速识别,显示图片内容中背后的那些事儿。 纵横西安APP logo设计上采用了西安两字纵向拼接为城楼,辅以“陕”字的篆书阴刻,在开屏页采用了富有秦朝元素的的暗纹,以添庄重。 进入APP后,可以通过打开相册和实时拍照两种方式,选择待识别的素材。选定图片后,可选择是否剪裁图片,以便更好地进行识别。值得一提的是,在图片的识别动效画面,以及欢迎页的暗纹还是loading跳动的icon,都采用了兵马俑、肉夹馍、景泰蓝等西安特色,让用户现实所见和产品体验相互交融,浑然一体。

12中主要的Dropout方法:如何应用于DNNs,CNNs,RNNs中的数学和可视化解释

风流意气都作罢 提交于 2020-08-14 20:18:21
作者:Axel Thevenot 编译:ronghuaiyang 原文链接: 12中主要的Dropout方法:如何应用于DNNs,CNNs,RNNs中的数学和可视化解释 ​ mp.weixin.qq.com 深入了解DNNs,CNNs以及RNNs中的Dropout来进行正则化,蒙特卡洛不确定性和模型压缩的方法。 动机 在深度机器学习中训练一个模型的主要挑战之一是协同适应。这意味着神经元是相互依赖的。他们对彼此的影响相当大,相对于他们的输入还不够独立。我们也经常发现一些神经元具有比其他神经元更重要的预测能力的情况。换句话说,我们会过度依赖于个别的神经元的输出。 这些影响必须避免,权重必须具有一定的分布,以防止过拟合。某些神经元的协同适应和高预测能力可以通过不同的正则化方法进行调节。其中最常用的是 Dropout 。然而,dropout方法的全部功能很少被使用。 取决于它是 DNN ,一个 CNN 或一个 RNN ,不同的 dropout方法 可以被应用。在实践中,我们只(或几乎)使用一个。我认为这是一个可怕的陷阱。所以在本文中,我们将从数学和可视化上深入到dropouts的世界中去理解: 标准的Dropout方法 标准Dropout的变体 用在CNNs上的dropout方法 用在RNNs上的dropout方法 其他的dropout应用(蒙特卡洛和压缩) 符号 标准的Dropout