自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 【带你读】花书《深度学习》导读 第二章 线性代数 下

Chapter 2 线性代数 下特征分解特征分解(eigendecomposition)是一种矩阵分解算法,用于寻找矩阵中一些不明显的性质。特征分解将矩阵分解成一组特征向量和特征值。为了更好的理解特征分解,先引入线性变换的概念。我们把一个矩阵视为一种线性变化,例如有矩阵A=[3102]\boldsymbol{A}=\begin{bmatrix} 3 & 1 \\ 0 & 2\end{bmatrix}A=[30​12​]和向量a=[1,0]\bf{a}=[1,0]a=[1,0

2021-04-15 22:02:00 212

原创 【带你读】花书《深度学习》导读 第二章 线性代数基础 上

线性代数是深度学习的数学基础,学习深度学习之前必须掌握线性代数的相关知识。线性代数的内容是抽象的,本文旨在用直观易懂的语言解释线性代数中的相关概念。同时,学习不仅是记忆,而且需要思考。我在写作时会适时插入一些思考导向的内容,帮助大家更深的掌握概念。如果需要深入学习线性代数,这里推荐:线性代数机器应用(David C. Lay, 2007)The Matrix Cookbook(Petersen, 2012)Chapter 2 线性代数基础1 张量张量(tensor)是神经网络运算图中传递的

2021-04-07 21:14:32 237

原创 【带你读】花书《深度学习》导读 第一章 引言

我是一名计算机相关专业的在读研究生,我会利用此号分享自己的学习读书笔记和心得。相信很多人和我一样买过很多书,但是只有买回来的那些日子随便翻一翻,甚至压根就没看过变成压泡面工具。所以,我决定开始写作,通过这个专栏,帮助大家利用碎片化的时间了解专业书籍的相关内容。这个专栏的名称叫做《带你读》,旨在用精炼、易懂的文字解读专业著作。由于篇幅有限,在此仅介绍不太深入的内容,如需深入学习,还望阅读原作。另外,由于能力有限,可能存在一些错误理解,请大家批评指正。《深度学习》是深度学习领域的经典教材,其中/英文版已开源

2021-04-03 22:11:46 440

原创 修改Jupyter Notebook的字体

JupyterNotebook默认字体是在浏览器设置的默认字体或宋体,奇丑无比。尝试以下方式修改字体:修改浏览器默认字体chrome类浏览器可以在设置->外观->自定义字体中修改浏览器默认字体来改变Notebook中显示的字体修改Notebook的CSS样式文件如果是anaconda安装,该文件位于Anaconda安装路径\Lib\site-packages\notebook\static\components\codemirror\lib\codemirror.css.CodeM

2020-12-04 18:25:59 4330

原创 C++ const修饰符的几点tips

const修饰符用于修饰常量,被const修饰的常量不能再被更改。这里讨论几个有关const、函数参数与指针的问题。const修饰函数参数定义如下一个函数,参数列表中的第一个参数用const修饰:int sum_arr(const int arr[], int n) { int sum = 0; for (int i = 0; i < n; i++) sum += arr[i]; return sum;}C++中如果数组作为参数,传递的是地址(相当于

2020-11-08 13:47:29 59

原创 C++11中for循环新特性

C++11中添加了一种基于范围(range-based)的新循环,类似于python中的for in,简化了循环语句的代码形式,适用于数组或容器类。如对数组:#include <iostream>using namespace std;int main() { int a[5] = { 1,3,5,7,9 }; for (int i : a) { cout << i << endl; } return 0;}也可以这样:#include &l

2020-10-31 20:53:11 853

原创 谈C++生僻知识点——位字段(bit field)

位字段允许用户修改结构体中某个成员变量的特定位数,这种实现对于一般的程序似乎没有什么价值,但是对于硬件工程师来说,可以创建与特定硬件设备上的寄存器对应的数据结构。同时,如果空间宝贵,数据类型存储数据有空间冗余,也可以使用位字段优化。比如,C++中,bool类型仅存储0或1,但是与char类型一样占1个字节,浪费空间。考虑到操作系统自动对齐,如果使用位字段,相同的空间可以存储8个bool变量。#include <iostream>#include <string>using

2020-10-27 16:07:05 1293

原创 C++中输入输出流的自动类型转换

今天在学习“溢出”的时候,明白了C++输入输出流cout与cin的强大。对于一个类型为short变量sam,可以表示的最大值为SHRT_MAX = 32767。理论上来说,若sam自增1,就会发生溢出,变成-32768。试图用cout输出到控制台,结果与想象的不太一样:#include <iostream>using namespace std;int main() { short sam = SHRT_MAX; cout << "sam + 1 = "

2020-10-24 20:58:36 378

原创 C++11中的几种变量初始化方式

众所周知,初始化 = 声明 + 赋值。初始化通常使用常量,也可以使用以及定义过的变量或者可计算的表达式。这里介绍几种比较少见的初始化方式。int me(666); // set me to 666int him = {444}; // set me to 444char her{'A'}; // equal to char her = {'A'}short tmp = {}; // set tmp to 0char buf{}; // set buf to '\0'大括号内可以不包含任何东

2020-10-24 14:28:56 772

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除