SoftMax实际上是Logistic的推广,当分类数为2的时候会退化为Logistic分类 其计算公式和损失函数如下, 梯度如下, 1{条件} 表示True为1,False为0,在下图中亦即对于每个样本只有正确的分类才取1,对于损失函数实际上只有m个表达式(m个样本每个有一个正确的分类)相加, 对于梯度实际上是把我们以前的最后一层和分类层合并了: 第一步则和之前的求法类似,1-概率 & 0-概率组成向量,作为分类层的梯度,对batch数据实现的话就是建立一个(m,k)的01矩阵,直接点乘控制开…
sklearn线性回归模型 import numpy as np import matplotlib.pyplot as plt from sklearn import linear_model def get_data(): #506行,14列,最后一列为label,前面13列为参数 data_original = np.loadtxt('housing.data') scale_data = scale_n(data_original) np.random.shuffle(scale_dat…
二元正态分布可视化本体 由于近来一直再看kaggle的入门书(sklearn入门手册的感觉233),感觉对机器学习的理解加深了不少(实际上就只是调包能力加强了),联想到假期在python科学计算上也算是进行了一些尝试学习,觉得还是需要学习一下机器学习原理的,所以重新啃起了吴恩达的cs229,上次(5月份的时候?)就是在多元高斯分布这里吃的瘪,看不下去了,这次觉定稳扎稳打,不求速度多实践实践,尽量理解数学原理,所以再次看到这部分时决定把这个分布复现出来,吴恩达大佬用的matlab,我用的pytho…
 『教程』L0.L1与L2范数 一.L0范数.L1范数.参数稀疏 L0范数是指向量中非0的元素的个数.如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0,换句话说,让参数W是稀疏的. 既然L0可以实现稀疏,为什么不用L0,而要用L1呢?一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解.所以大家才把目光和万千宠爱转于L1范数. 总结:L1范数和L0范数可以实现稀疏,L1因具有比L0更好的优化求解特性而被广泛应用.…
这里是课上老师给出的一个示例程序,演示图像检测的过程,本来以为是传统的滑窗检测,但实际上引入了selectivesearch来选择候选窗,所以看思路应该是RCNN的范畴,蛮有意思的,由于老师的注释写的蛮好的,我基本就不画蛇添足了,这里记录下来,为加深理解cs231n的课程做个铺垫.,所以做个储备,实在不行还有开学不是么233 # coding: utf-8 #copyRight by heibanke #如需转载请注明出处 #<<用Python做深度学习1-数学基础>> #http…
基础 1.matplotlib绘图函数接收两个等长list,第一个作为集合x坐标,第二个作为集合y坐标 2.基本函数: animation.FuncAnimation(fig, update_point,data) fig是画布 update是绘画函数需自己定义,需要一个参数,会自动接收data,需要返回plt.plot对象,描述比较费解,看例子就好 data种类很多,包括总帧数(例1).当前帧数(即不设定data的默认参数,例2).返回迭代器的函数(例3).list(作业2) frames=2…
思想:万物皆对象 作业 第一题: import numpy as np import matplotlib.pyplot as plt x = [1, 2, 3, 1] y = [1, 3, 0, 1] def plot_picture(x, y): plt.plot(x, y, color='r', linewidth='2', linestyle='--', marker='D', label='one') plt.xticks(list(range(-5,5,1))) plt.yticks…
『cs231n』通过代码理解gan网络&tensorflow共享变量机制_上 上篇是一个尝试生成minist手写体数据的简单GAN网络,之前有介绍过,图片维度是28*28*1,生成器的上采样使用的是tf.image.resize_image(),不太正规,不过其他部分很标准,值得参考学习. 辨别器: n,28,28,1    :卷积 + 激活 + 池化 n,14,14,32  :卷积 + 激活 + 池化 n,7,7,64     :reshape n,7*7*64    :全连接 + 激活 n,…
GAN网络架构分析 上图即为GAN的逻辑架构,其中的noise vector就是特征向量z,real images就是输入变量x,标签的标准比较简单(二分类么),real的就是tf.ones,fake的就是tf.zeros. 网络具体形状大体如上,具体数值有所调整,生成器过程为:噪声向量-全连接-卷积-卷积-卷积,辨别器过程:图片-卷积-卷积-全连接-全连接. 和预想的不同,实际上数据在生成器中并不是从无到有由小变大的过程,而是由3136(56*56)经过正常卷积步骤下降为28*28的过程. 实…
『cs231n』卷积神经网络的可视化应用 文件目录 vgg16.py import os import numpy as np import tensorflow as tf from download import exist_or_download model_url = 'https://s3.amazonaws.com/cadl/models/vgg16.tfmodel' model_dir = 'vgg16/' model_name = 'vgg16.tfmodel' def mode…
梯度下降法 梯度下降法用来求解目标函数的极值.这个极值是给定模型给定数据之后在参数空间中搜索找到的.迭代过程为: 可以看出,梯度下降法更新参数的方式为目标函数在当前参数取值下的梯度值,前面再加上一个步长控制参数alpha.梯度下降法通常用一个三维图来展示,迭代过程就好像在不断地下坡,最终到达坡底.为了更形象地理解,也为了和牛顿法比较,这里我用一个二维图来表示: 懒得画图了直接用这个展示一下.在二维图中,梯度就相当于凸函数切线的斜率,横坐标就是每次迭代的参数,纵坐标是目标函数的取值.每次迭代的过程…
数据降维 为了说明什么是数据的主成分,先从数据降维说起.数据降维是怎么回事儿?假设三维空间中有一系列点,这些点分布在一个过原点的斜面上,如果你用自然坐标系x,y,z这三个轴来表示这组数据的话,需要使用三个维度,而事实上,这些点的分布仅仅是在一个二维的平面上,那么,问题出在哪里?如果你再仔细想想,能不能把x,y,z坐标系旋转一下,使数据所在平面与x,y平面重合?这就对了!如果把旋转后的坐标系记为x’,y’,z’,那么这组数据的表示只用x’和y’两个维度表示即可!当然了,如果想恢复原来的表示方式,那…
转载请声明出处 SVD奇异值分解概述 SVD不仅是一个数学问题,在工程应用中的很多地方都有它的身影,比如前面讲的PCA,掌握了SVD原理后再去看PCA那是相当简单的,在推荐系统方面,SVD更是名声大噪,将它应用于推荐系统的是Netflix大奖的获得者Koren,可以在Google上找到他写的文章:用SVD可以很容易得到任意矩阵的满秩分解,用满秩分解可以对数据做压缩.可以用SVD来证明对任意M*N的矩阵均存在如下分解: 这个可以应用在数据降维压缩上!在数据相关性特别大的情况下存储X和Y矩阵比存储A…
零.资料集合 知乎专栏:Bob学步 知乎提问:如何高效的学习 TensorFlow 代码?. 大佬刘光聪(Github,简书) 开源书:TensorFlow Internals,强烈推荐(本博客参考书) TensorFlow架构与设计:编程模型 TensorFlow架构与设计:概述 TensorFlow架构与设计:会话生命周期 TensorFlow架构与设计:图模块 TensorFlow架构与设计:OP本质论 TensorFlow架构与设计:变量初始化 大佬姚健(Github) 系列文章(图片?…
有时候你会认为某个对象应该是去全局唯一的,这就是引用(Reference)的概念.它代表当你在某个地点对他进行修改之后,那么所有共享他的对象都应该在再次访问他的时候得到相应的修改.而不会像值对象(Value)一样,不可修改.举个例子,你认识小明,我也认识小明,小明忽然把头发都踢了,这个时候你认识的小明和我认识的小明都是同一个人,都是光头,这个小明就是世界的唯一实例,然而,你有100块钱,我有50块钱,我把50块钱花到只剩20,你手里的100块钱并不会因为我的50块钱改变而改变,不会相应的修改,这…
Intro 对于同样的数值计算任务,使用numpy比直接编写python代码实现 优点: 代码更简洁: numpy直接以数组.矩阵为粒度计算并且支持大量的数学函数,而python需要用for循环从底层实现: 性能更高效: numpy的数组存储效率和输入输出计算性能,比python使用list好很多,用numpy进行计算要比原生Python快得多,而且数据量越大,效果越明显:numpy的大部分代码都是c语言实现的,这是numpy比python高效的原因 numpy核心:ndarray对象 ndar…
论文地址:MobileNetV2: Inverted Residuals and Linear Bottlenecks 前文链接:『高性能模型』深度可分离卷积和MobileNet_v1 一.MobileNet v1 的不足 Relu 和数据坍缩 Moblienet V2文中提出,假设在2维空间有一组由 个点组成的螺旋线 数据,经随机矩阵 映射到 维并进行ReLU运算,即: 再通过 矩阵的广义逆矩阵 将 映射回2维空间: 对比 和 发现,当映射维度 时,数据坍塌:当 时,数据基本被保存.虽然这不是…
基础知识 Python3内置函数 『Python』库安装 『流畅的Python』第1~4章_数据结构.编码 『Python』基础数据结构常见使用方法 『Python CoolBook』数据结构和算法_多变量赋值&“*”的两种用法 『Python CoolBook:Collections』数据结构和算法_collections.deque队列&yield应用 『Python CoolBook:heapq』数据结构和算法_heapq堆队列算法&容器排序 『Python CoolBook…
20172311『Java程序设计』课程 结对编程练习_四则运算第一周阶段总结 结对伙伴 学号 :20172307 姓名 :黄宇瑭 伙伴第一周博客地址: http://www.cnblogs.com/20172307hyt/p/8975967.html 需求分析 功能要求 1.自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目,类似于: 1级题目:2 + 5 =: 10 - 5 = 之类的两个数,一个运算符的题目 2.题目运算(判题) 可独立使用 实现中缀表达…
2017-2018-2 1723 『Java程序设计』课程 结对编程练习-四则运算-最后阶段 最后的一周,时间越来越紧张,因为之前的拖沓和一些事情的耽误,导致了如今的紧张,这一周应该是我们小组效率最高的一周,因为放下了很多事情开始补充一些关于四则运算编程的一些东西. 结对编程的战友 20172316 赵乾宸:负责对于整数出题的编程,实现括号,整合最终输出: 20172319 唐才铭:负责对于分数出题的编程,类图绘制,整数类的修改,整数.分数测试: 20172329 王文彬:负责对于题目运算的编写…
结对编程的好丽友 - 20172323 王禹涵:中缀转后缀 - 20172314 方艺雯:后缀表达式的计算 - 20172305 谭鑫:中缀表达式的输出 需求分析 能随机生成由使用者确定的任意多道四则运算题目 题目的难度等级可以选择,也可以选择不做混合运算 题目运算实现中缀表达式转为后缀表达式并计算 可以判断正误,并计算正确率 支持真分数的运算 设计思路 无栈 首先要确定生成题目的数量,可以用一个循环,使用Scanner,循环次数由用户输入的数确定. 算式的产生 写一个类实现整数的四则运算:定义…
深度学习用的有一年多了,最近开始NLP自然处理方面的研发.刚好趁着这个机会写一系列NLP机器翻译深度学习实战课程. 本系列课程将从原理讲解与数据处理深入到如何动手实践与应用部署,将包括以下内容:(更新ing) NLP机器翻译深度学习实战课程·零(基础概念) NLP机器翻译深度学习实战课程·壹(RNN base) NLP机器翻译深度学习实战课程·贰(RNN+Attention base) NLP机器翻译深度学习实战课程·叁(CNN base) NLP机器翻译深度学习实战课程·肆(Self-Atte…
Julia语言:让高性能科学计算人人可用要:一群科学家对现有计算工具感到不满:他们想要一套开源系统,有C的快速,Ruby的动态,Python的通用,R般在统计分析上得心应手,Perl的处理字符串处理,Matlab的线性代数运算能力……易学又不让真正的黑客感到无聊. Julia是个灵活动态的语言,最初针对数值计算而发明,项目起初是MIT的研究课题,现已发展成富有活力的软件系统,也是目前最受关注的编程语言之一.日前,Julia的四位发明者Jeff Bezanson.Stefan Karpinski.…
2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算 经过第一阶段的学习,同学们已经熟悉了这门语言基本的用法.在一次又一次对着电脑编写并提交代码,进行练习的时候,有没有觉得孤单又无趣?这次我们来体验一种新的开发模式--结对编程,让你和小伙伴一起分析,一起思考,一起测试,一起完善,在思维的碰撞中体验结对编程的魅力! --------CONTENTS-------- 1.题目描述 2.测试说明 3.提交要求 附:参考资料 1.题目描述 邹欣老师在<现代软件工程讲义 3…
论文地址:HetConv 一.现有网络加速技术 1.卷积加速技术 作者对已有的新型卷积划分如下:标准卷积.Depthwise 卷积.Pointwise 卷积.群卷积(相关介绍见『高性能模型』深度可分离卷积和MobileNet_v1),后三种卷积可以取代标准卷积,使用方式一般是 Depthwise + Pointwise 或者是 Group + Pointwise 这样的两层取代(已有网络架构中的)标准卷积的一层,成功的在不损失精度的前提下实现了 FLOPs 提升,但是带来副作用是提高了网络延迟(…
2017-2018-2 20172310『Java程序设计』课程 结对编程练习_四则运算_第二周 博客要求 组内同学需各自发表博客 博客中需包含以下内容: 相关过程截图 关键代码解释 遇到的困难及解决方法 写出项目中自己负责的部分 个人贡献度划分(按百分比给小组各成员划分贡献度,各成员贡献之和为100%) 对结对的小伙伴做出评价给出小伙伴博客链接(重点指出需要改进的地方) 给出项目的码云链接 给出小组结对编程照片 博客内容中如需展示团队的共同成果,请进行说明 如有参考或引用的设计.实现,请进行说…
2017-2018-2 165X 『Java程序设计』课程 助教总结 本学期完成的助教工作主要包括: 编写300道左右测试题,用于蓝墨云课下测试: 发布博客三篇:<2017-2018-2 165X 『Java程序设计』课程 团队项目备选题目>.<2017-2018-2 165X 『Java程序设计』课程 结对编程练习_四则运算>.<2017-2018-2 165X 『Java程序设计』课程 每周成绩公布>,其中每周成绩按照班级课程进度定期更新: 发布七次作业: 点评博客…
2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址: @王志伟 四则运算第一周博客 @仇夏四则运算第一周博客 @王志伟 四则运算第二周博客 @仇夏四则运算第二周博客 结对照片: 1.进度进程: 1.上周进度: 已完成: - 完成了生成中缀表达式的类. - 完成了main函数用来运行的类. - 中缀表达式转化成后缀表达式的类 - 后缀表达式的计算. - 去重. - 代码的完善与美化. 待完成: - 将生成的题…
2017-2018-20172309 『Java程序设计』课程 结对编程练习_四则运算 组队成员: 仇夏 学号: 20172310 博客地址:点击这里 1. 需求分析: 可生成题目: - 输入要想生成的题目个数,输出随机等级的一组题目. - 运算符随机等概率(加减乘除).运算数随机等概率(整数.真分数). 判题系统: - 用户输入答案,计算机之后产生正确答案. - 答题结束后给出答题正确率. 关于真分数 - 运算数中含有真分数. - 运算结果中含有真分数,践行分数的运算法则. 关于拓展 - 包括…
20172325『Java程序设计』课程 结对编程练习_四则运算第三周阶段总结 结对伙伴 学号:20172306 姓名:刘辰 在这次项目的完成过程中刘辰同学付出了很多,在代码的实践上完成的很出色,在技术上提供了很多帮助.但是不足之处还是在于和结对伙伴沟通较少,使我不能准确的把握进程以及他的设计思路. 小组结对编程照片 小组成员感想 邓煜坤: (1)首先要说的是,在这个项目的完成过程中,我在节奏的掌控方面没有做的很好,导致时间过于紧张,有些部分没有顺利完成,没有做到最好. (2)在收获上面有较多的…