Python学习-字典

K-SVD字典学习及其实现(Python) 算法思想算法求解思路为交替迭代的进行稀疏编码和字典更新两个步骤. K-SVD在构建字典步骤中,K-SVD不仅仅将原子依次更新,对于原子对应的稀疏矩阵中行向量也依次进行了修正. 不像MOP,K-SVD不需要对矩阵求逆,而是利用SVD数学分析方法得到了一个新的原子和修正的系数向量.固定系数矩阵X和字典矩阵D,字典的第kk个原子为dkd_k,同时dkd_k对应的稀疏矩阵为XX中的第kk个行向量xkTx^k 阅读详情

十七、字典

一、前提概要

1、字典是Python中唯一实现映射关系的内置类型。
2、在映射类型的数据的获取上,字典的效率是要远远快于列表的
3、语法结构
变量名 = {“键1”:“值1”,“键2”:“值2”}

>>> y = {"吕布":"口口布","关羽":"关习习"}
>>> type(y)
<class 'dict'>

4、提供键,就可以获得其对应的值

>>> y["吕布"]
'口口布'

5、通过指定一个不存在于字典中的键,来创建一个新的键值对

>>> y ["刘备"]="刘Baby"
>>> y
{'吕布': '口口布', '关羽': '关习习', '刘备': '刘Baby'}

二、创建字典

1、直接使用大括号和冒号的组合,将映射关系套牢。

>>> a = {"吕布":"口口布","关羽":"关习习"}

2、使用dict()函数生成字典,每个参数就是一个对应的键值对,键与值之间直接使用等号进行挂钩。
要求不能往键上面加引号

>>> b = dict(吕布="口口布",关羽="关习习",刘备="刘Baby")

3、使用列表作为参数,列表中的每个元素是使用元祖包裹起来的键值对

>>> c = dict([("吕布","口口布"),("关羽","关习习"),("刘备","刘Baby")])

4、将第1种方法作为参数传递给这个dict。

>>> d =dict({"吕布":"口口布","关羽":"关习习","刘备":"刘Baby"})

5、混合组合在一起

>>> e =dict({"吕布":"口口布","关羽":"关习习"},刘备="刘Baby")

6、搭配使用zip函数

>>> f =dict(zip(["吕布","关羽","刘备"],["口口布","关习习","刘Baby"]))

三、方法

1、增

fromkeys(iterable[,values]),使用iterable参数指定的可迭代对象来创建一个新的字典,并将所有的值初始化为values参数指定的值。

>>> d = dict.fromkeys("FishC",250)
>>> d
{'F': 250, 'i': 250, 's': 250, 'h': 250, 'C': 250}

#加

>>> d ['A'] =67
>>> d
{'F': 70, 'i': 250, 's': 250, 'h': 250, 'C': 250, 'A': 67}
2、改

#修改单个键值

>>> d['F'] = 70
>>> d
{'F': 70, 'i': 250, 's': 250, 'h': 250, 'C': 250}

#同时修改多个键值对—update([other])
1)支持同时给它传入多个键值对
2)可以直接传入另外一个字典
3)传入一个包含键值对的一个可迭代对象

>>> d = dict.fromkeys("FishC")
>>> d
{'F': None, 'i': None, 's': None, 'h': None, 'C': None}
>>> d.update({'i':105,'s':104})
>>> d
{'F': None, 'i': 105, 's': 104, 'h': None, 'C': None}
>>>d.update(F='70',C='67')
>>>d
{'F': '70', 'i': 105, 's': 104, 'h': None, 'C': '67'}
3、删:

1)pop(key[,default])、popitem()

>>> d.pop('s')
250
>>> d
{'F': 70, 'i': 250, 'h': 250, 'C': 250, 'A': 67}

#如果pop一个不存在的键就会抛出异常

>>> d.pop('D')
Traceback (most recent call last):
  File "<pyshell#22>", line 1, in <module>
    d.pop('D')
KeyError: 'D'

#让异常好看点

>>> d.pop('D',"没有这个值")
'没有这个值'

2)popitem():Python3.7之前随机删除一个键值对,Python3.7之后是删除最后一个加入字典的键值对

>>> d.popitem()
('A', 67)
>>> d
{'F': 70, 'i': 250, 'h': 250, 'C': 250}

3)del关键字,也可用于删除一个指定的字典元素

>>> del d['i']
>>> d
{'F': 70, 'h': 250, 'C': 250}
#删除整个字典,del字典名字
>>> del d
>>> d
Traceback (most recent call last):
  File "<pyshell#29>", line 1, in <module>
    d
NameError: name 'd' is not defined

4)clear()清空字典中的内容

>>> d = dict.fromkeys("FishC",250)
>>> d
{'F': 250, 'i': 250, 's': 250, 'h': 250, 'C': 250}
>>> d.clear()
>>> d
{}
4、查

1)get(key[,default]):查找对应键的值

>>>d['C']
'67'
>>>d['c']
Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    d['c']
KeyError: 'c'
>>>d.get('c',"查找不到该值")
'查找不到该值'

2)setdefault(key[,default]):查找一个键是否存在于字典中,如果在则返回它对应的值,如果不在,则给他指定一个新的值

>>>d.setdefault('C',"code")
'67'
>>>d.setdefault('c',"code")
'code'
>>>d
{'F': '70', 'i': 105, 's': 104, 'h': None, 'C': '67', 'c': 'code'}

3)items()、keys()、values():获取字典的键值对,键和值,三者的视图对象
视图对象:即字典的动态视图,这就意味着当字典的内容发生改变的时候,视图对象的内容也会相应的跟着改变。

>>>keys = d.keys()
>>>values = d.values()
>>>items = d.items()
>>>items
dict_items([('F', '70'), ('i', 105), ('s', 104), ('h', None), ('C', '67'), ('c', 'code')])
>>>keys
dict_keys(['F', 'i', 's', 'h', 'C', 'c'])
>>>values
dict_values(['70', 105, 104, None, '67', 'code'])
>>>d.pop('c')
'code'
>>>d
{'F': '70', 'i': 105, 's': 104, 'h': None, 'C': '67'}
>>>items
dict_items([('F', '70'), ('i', 105), ('s', 104), ('h', None), ('C', '67')])
>>>keys
dict_keys(['F', 'i', 's', 'h', 'C'])
>>>values
dict_values(['70', 105, 104, None, '67'])
 

4)copy():浅拷贝

>>>e = d.copy()
>>>e
{'F': '70', 'i': 105, 's': 104, 'h': None, 'C': '67'}
5、其他函数

1)len():获取字典中键值对的数量

>>>len(d)
5

2)in和not in:判断某个键是否存在于字典中

>>>'C' in d
True
>>>'c' not in d
True

3)list():字典转换成列表
#得到字典中所有的键构成的列表

>>>list(d)
['F', 'i', 's', 'h', 'C']

#得到字典中所有的值构成的列表

>>>list(d.values())
['70', 105, 104, None, '67']

4)iter():将字典的键构成一个迭代器

>>>e = iter(d)
>>>next(e)
'F'
>>>next(e)
'i'
>>>next(e)
's'
>>>next(e)
'h'
>>>next(e)
'C'
>>>next(e)
Traceback (most recent call last):
  File "<pyshell#39>", line 1, in <module>
    next(e)
StopIteration

5)reversed()函数:对字典内部的键值对进行逆向操作

>>>list(d.values())
['70', 105, 104, None, '67']
>>>list(reversed(d.values()))
['67', None, 104, 105, '70']
6、嵌套

字典也是可以嵌套的,某个键的值是另外一个字典。

>>>d = {"吕布":{"语文":60,"数学":70,"英语":80},"关羽":{"语文":80,"数学":90,"英语":70}}
>>>d["吕布"]["数学"]
70

#嵌套列表

>>>d = {"吕布":[60,70,80],"关羽":[80,90,70]}
>>>d["吕布"][1] 70
7、字典推导式
>>>d = {'F':70,'i':105,'s':115,'h':104,'c':67}
>>>b = {v:k for k,v in d.items()}
>>>b
{70: 'F', 105: 'i', 115: 's', 104: 'h', 67: 'c'}

#加筛选

>>>c = {v:k for k,v in d.items() if v>100}
>>>c
{105: 'i', 115: 's', 104: 'h'}

#求字符串的编码值

>>>d = {x:ord(x) for x in "FishC"}
>>>d
{'F': 70, 'i': 105, 's': 115, 'h': 104, 'C': 67}
 
>>>d = {x:y for x in [1,3,5] for y in [2,4,6]}
>>>d
{1: 6, 3: 6, 5: 6}
Python实现字典学习 接下来,我们需要进行稀疏编码,将输入数据表示为字典中原子的稀疏线性组合。假设我们有一批大小为100x100的图像数据,其中每个图像都可以表示为大小为10x10的块。最后,我们需要通过字典更新算法对字典进行更新,使其逐渐逼近输入数据的表示形式。这个过程可以分为两步:将字典更新为当前样本的稀疏表示和使用更新后的字典进行下一轮迭代。运行代码后,我们可以得到一个大小为10x10的字典矩阵,其中每个原子都是一个大小为10x10的图像块。然后,我们需要初始化字典,为每个块生成一些随机原子。Python实现字典学习。 阅读详情

相关推荐

机器学习强基计划9-2:图解字典学习KSVD算法(附Python实战)

字典学习研究如何从普通稠密样本中学习出字典,并将样本转换为恰当稀疏的表示形式,从而简化学习任务。本文以KSVD算法和图像重构任务为例,讲解字典学习的基本思想,并给出Python实现加深理解

FRIGIDWINTER的博客 4356

Python入门:Python3 字典全面学习教程

Python入门:Python3 字典全面学习教程,本文是 Python3 字典的全面学习教程,涵盖多方面内容。先介绍字典基本概念,其由键值对组成,键唯一且不可变,值可任意。接着讲解创建方式,有大括号和内置函数 dict () 两种。还阐述了访问字典值的方法及访问不存在键的问题与解决办法,以及修改、删除字典元素的操作。另外,说明了字典键的唯一性和不可变性特性,最后列举了字典的内置函数与方法,并给出常用方法实例,助力读者掌握字典使用以解决实际问题。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 20万+

Python基础学习-06字典Dict

• 字典的属性1)通过键而不是偏移量来读取2)任意对象的无序集合3)可变长、异构、任意嵌套4)可变、散列• 使用{} 定义一个元组1) D = {}2) D = {"name":"张三", "age":18, "salary":10000.00, "address":{"province":"浙江","city":"杭州"}}4) D = dict(name="张三", age=18)• 如何掌握本节内容1)字典的定义、字典的操作、字典的函数、字典的解析。

soarfeng的专栏 829

Python学习总结——字典

最近在工作之余开始学习机器学习方面的知识了,在决策树构建的时候就遇到了Python字典知识,所以才回过头来看。之前也看过Python但是基本没用过所以也就没记住,索性就直接在学习机器学习的过程中遇到再学,再总结。   一、字典中的一些概念 (1)字典的定义(字典的键和值):字典是由键和键对应的值构成的对组成(我们也可以将键-值对称之为项)。 (2)字典的创建方式:字典可以用下面的方式创建 ...

sooolitude的博客 470

echarts实现折线图上下限区域展示

效果图: 画这种区域中主要是利用了series的两个属性: 思路:上下限都画上区域,然后折线利用图形透明度隐藏,给上区域加上颜色,给下区域加上白色(echarts图背景是啥色,就加啥色) lineStyle: { opacity: 0 }, // 图形透明度。支持从 0 到 1 的数字,为 0 时不绘制该图形 areaStyle: { color: 'rgba(0,122,255,0.1)' }, // 填充的颜色 我的需求是最大天数、最小天数、

小太阳的博客 1万+

超声波清洗机拆解实录:从电路板到换能器,一文看懂内部构造(附高清图)

本文详细拆解了超声波清洗机的内部构造,从电路板设计到换能器工作原理,揭示了其核心技术。通过高清图片和详细分析,展示了功率放大电路、高频变压器及压电换能器等关键部件,为电子爱好者和维修技术人员提供了实用的故障诊断和元件二次利用指南。

grape的博客 1183

python字典添加数组_Python字典学习去噪

字典学习在图像和信号处理中是一种重要的算法,常常用于图像去噪、分类等,其中图像去噪可以认为是一种无监督学习技术。接下来简单介绍字典学习原理,并使用Python进行灰度图像去噪。1 字典学习灰度图像可以认为是二维信号,可以使用冗余字典和该字典下的稀疏编码来表示。字典学习就是根据已知的数据找到合适的字典和其对应的稀疏编码,使误差尽可能的小。矩阵使用冗余字典和稀疏编码表示如图1所示,理想情况下...

weixin_39549899的博客 540

Halcon实战:基于图像清晰度自动筛选最佳对焦图片

本文详细介绍了如何使用Halcon实现基于图像清晰度的自动筛选最佳对焦图片技术。通过分析灰度值统计和标准差等核心指标,结合实战代码示例,帮助开发者高效处理工业检测中的对焦问题,提升自动化检测的准确性和效率。

weixin_27015733的博客 440

Python字典学习

1Python 字典常用方法总结 2Python 字典(Dictionary)操作详解 3Python之dict字典详解

moonlightpeng的博客 1799

椭圆曲线点加的推导公式(一)

椭圆曲线点加推导过程

qq_32100199的博客 1516

Vue2 - 详细实现网页 “开启录音并生成音频文件,上传到服务器效果“,浏览器录制外部音频调用麦克风并传到后端,兼容全部浏览器、支持 PC 网页或手机 H5 网页、可本地播放试听(详细示例运行代码)

vue,nuxt,uniapp,网页网站,麦克风,网页录音,MediaRecorder,浏览器录音,移动端h5网页,手机端录音,web网页录音,recorder-core官方文档,Recorder,非https怎么本地录音,录音报错失败,录音后怎么播放音频,如何获取录音mp3文件,解决一直不提示麦克风权限,小白详细教程,实时录音,调用浏览器麦克风录音,浏览器不兼容,wav,mp3,vue怎么实现网页录音呢,vue2网页录音并上传到服务器,web如何实现录制音频,vue网页录音,音频录制播放和上传服务器,vu

🏆 前端领域优质创作者 6003

python学习之字典使用归纳总结

python学习之字典(dict)学习笔 python学习之字典(dict)学习笔记 很水的博文笔记主要是记录下来自己看,详细记录了一些自己在网课学习中对python字典的学习和个人理解 #字典 #字典是一种映射关系,感觉可以用c++中的map作为类比 #也是用来存储对象的数据结构,字典中每一个元素都有一个名字,通过查询名字来直接找到对应值 #是一种键值对 名字是(key),值是(value) #用{}来创建字典 #key是可变对象,比如int,str,bool等等 #key不能重复,重复会让后面的key覆

Ericpigeondiary的博客 257

《中国电信运营商骨干网:历史、现状与未来演进》系列 第一篇:中国骨干网全景图:一级运营商与专用网络的演进

揭秘国家信息高速公路!一文读懂什么是骨干网,它如何支撑我们的数字生活,以及电信、联通、移动、广电等巨头如何构建这张“国家级动脉”。

maqh_csdn的博客 2037

Python--字典学习

for name ,score in sorted(scores.items(), key=lambda x:x[1]): #从低到高。print('age' in k_view) #判断键是否在字典中,<键> in <字典名>.keys(),<键> in <字典名>for k in student.keys(): # 使用keys()方法。# 直接转换字典为列表。3.字典视图对象的特性。# 按键字母顺序遍历。# 按值从高到低遍历。# 获取所有键的集合。# 获取所有值的列表。

m0_64953766的博客 268

vue3+vite:引入tailwindcss不生效的原因,详细解决Tailwind配置没问题但就是不生效的情况,配置正确无报错但样式没有生效(包括tailwindcss在Vue2使用不生效解决方案)

vue3 tailwind使用教程以及tailwind不生效的问题,vue3+vite引入tailwindcss不生效的原因,tailwindcss配之后不生效怎么办,如何解决tailwinscss不生效的原因,Vue3项目使用tailwindcss在Vue2使用,不生效解决,如何解决使用 Tailwind CSS 后出现的样式不生效的问题?tailwindcss配之后不生效 tailwindcss不生效,为什么我的 Tailwind css 类没生效,解决使用 Tailwind 时样式不生效的问题,配置没

✅ 精选推荐文章 4128

YOLOv8改进,YOLOv8添加DCNv3可变性卷积,无需编译

DCNv3在DCNv2版本上进行了改进,上一期我们在YOLOv8中添加了DCNv2,这一期我们将添加DCNv3,DCNv3代码详解可以参考链接:代码详解——可变形卷积(DCNv3)

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 5021

Python学习—字典

今天是周六,八点钟就到自习室了,背了单词,学了运筹学前几堂课的内容,从基础的地方再巩固,从我的角度去看,这学期含金量最高的课就是运筹学了吧。 今天开始学了第六章——字典,稍微有点绕了,下午精神不是很好,效率就没办法保证,这几天学的知识没有系统的复习与巩固,Python明天暂停一天新知识的学习,明天复习一下这周学的知识,要保持每天都敲代码的习惯,一万行代码的任务一个月随随便便都能敲完吧。 #10.30练习 #字典 alien_0 = {"color":"green","points":5} #字典.

weixin_59782469的博客 291

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Python教程学习之字典知识概述

作为一门对新手友好、就业前景广阔的编程语言,Python一直深受人们青睐。想要学好Python需要从入门到进阶一点一点掌握,而繁杂的理论知识点让不少人伤脑筋。事实上,只要你理清知识关系,掌握其用法并尝试动手操作,就可以慢慢掌握。接下来小编就给大家分享字典的相关知识。 目前,在Python中只内置了一种映射类型:字典。除去那些不能哈希的类型的值(例如列表,字典和其他通过值而不是id比较的可变类型的值),其它值几乎都可用作字典的键。用于键的数字类型遵循数字比较的一般规则:如果两个数字键比较相等(比如1和1.0)

bnmqwe1的博客 187

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

ios yymodel 将字典转数组模型_Python字典学习去噪

字典学习在图像和信号处理中是一种重要的算法,常常用于图像去噪、分类等,其中图像去噪可以认为是一种无监督学习技术。接下来简单介绍字典学习原理,并使用Python进行灰度图像去噪。1 字典学习灰度图像可以认为是二维信号,可以使用冗余字典和该字典下的稀疏编码来表示。字典学习就是根据已知的数据找到合适的字典和其对应的稀疏编码,使误差尽可能的小。矩阵使用冗余字典和稀疏编码表示如图1所示,理想情况下...

weixin_39616379的博客 310

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

python学习-字典

本文介绍了Python字典的基本概念和操作方法。字典是可变数据类型,以键值对形式存储数据,具有无序特性。创建字典可通过直接定义、zip函数合并列表或动态添加键值对实现。文章详细展示了字典遍历、增删改查操作,以及与其他数据类型的转换方法,包括将字典转换为列表、元组等。此外还介绍了字典生成式,通过随机赋值和列表映射两种方式快速创建字典。代码示例演示了字典的基本使用和常见操作,包括keys()、values()、items()等方法的应用,以及如何使用zip函数将两个列表合并为字典。

Empty__cup的博客 857

Python之字典学习笔记

补充:集合用放在花括号{}中的一系列值表示,值与值之间用逗号分隔,比如fruit={'apple','pear','watermelon'}。注:当创建集合时,集合中存在重复的值,但是在访问结果会去除重复的值,同时集合不会以特定的顺序存储元素。,每个键都与一个值关联,可以使用键访问与之关联的值,与键关联的值可以是数、字符串、列表、乃至字典。要修改字典中的值,可依次之词能够字典名,用方括号括起来的值和与该键关联的新值。要添加键值对,可依次指定字典名,用方括号括起来的键和与该键关联的值。使用keys()方法。

qq_35183814的博客 341

python学习- 元组、字典

fly_highly的博客 107

python学习2 re正则匹配,字典,集合学习

python学习2 re正则匹配,字典,集合 相关函数整理

u014267106的博客 570

Python基础学习 --- 字典

本节介绍了字典的定义以及用法,包含访问,添加,修改,删除字典,还有遍历字典的键值对,键以及值。

2501_90611562的博客 563

python字典学习

python字典学习字典 dict字典表示方式初始化字典获取键值 字典 dict 字典是一种可变的容器,可以存储任意类型的数据 字典中的每个数据都是用’键’(key) 进行索引,而不像序列可以用下标来进行索引 字典的数据没有先后顺序关系,字典的存储是无序的 字典中的数据以键(key)-值(value)对进行映射存储 字典的键不能重复,且只能用不可变类型作为字典的键 字典表示方式 用 {} 括...

Trista2hong的博客 895
上一篇: Excel图表 - 条形图误差线组合
下一篇: Python学习-集合
Lizzy_Fly
博客等级 码龄5年 262粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值