AI笔记(4):深层神经网络
1.深层神经网络我们在前面提到了浅层神经网络,深层神经网络其实就是包含更多隐层的神经网络。下图分别列举了不同深度的神经网络模型结构:
我们会参考「隐层个数」和「输出层」对齐命名。如上图逻辑回归可以叫做1 layer NN,单隐层神经网络可以叫做2 layer NN,2个隐层的神经网络叫做3 layer NN,以此类推。所以当我们提到L layer NN,指的是包含 个隐层的神经网络。
下面我们来了解一下神经网络的一些标记写法。以如下图的4层神经网络为例:
总层数用 表示,
输入层是第 层,输出层是第 层
表示第 层包含的单元个数,
下图模型中, ,表示三个输入特征 、 、
下图模型中 ,,,
第 层的激活函数输出用 表示,
表示第 层的权重,用于计算
输入 记为
输出层 记为
注意, 和 中的上标 都是从1开始的,。
2.深层神经网络前向运算下面我们来推导一下深层神经网络的前向传播计算过程。依旧是上面提到的4层神经网络,我们以其为例来做讲解。
2.1 单个样本的计算对于单个样本,我们有:
2.2 m个样本的 ...
AI笔记(3):浅层神经网络
1.神经网络表示图示为两层神经网络,也可以称作单隐层神经网络 (a single hidden layer neural network) 。这就是典型的浅层 (shallow) 神经网络,结构上,从左到右,可以分成三层:
输入层 (input layer) :竖向堆叠起来的输入特征向量。
隐藏层 (hidden layer) :抽象的非线性的中间层。
输出层 (output layer) :输出预测值。
注意:当我们计算网络的层数时,通常不考虑输入层。因此图中隐藏层是第一层,输出层是第二层。
有一些约定俗成的符号表示,如下:
输入层的激活值为 ,隐藏层产生的激活值,记作 。
隐藏层的第一个单元 (或者说节点) 就记作 ,输出层同理。
隐藏层和输出层都是带有参数 和 的,它们都使用上标[1]来表示是和第一个隐藏层有关,或者上标[2]来表示是和输出层有关。
2.计算神经网络的输出2.1 两层神经网络接下来我们开始详细推导神经网络的计算过程。
我们依旧来看看我们熟悉的逻辑回归,我们用其构建两层神经网络。逻辑回归的前向传播计算可以分解成计算 和 的两部分。
如果我 ...
Shell笔记
第1章 Shell概述
第2章 Shell解析器(1)Linux提供的Shell解析器有:
1234567[root@master ~]$ cat /etc/shells /bin/sh #是bash的一个快捷方式 /bin/bash #bash是大多数Linux默认的shell,包含的功能几乎可以涵盖shell所有的功能 /sbin/nologin #表示非交互,不能登录操作系统 /bin/dash #小巧,高效,功能相比少一些 /bin/csh #具有C语言风格的一种shell,具有许多特性,但也有一些缺陷/bin/tcsh #是csh的增强版,完全兼容csh
(2)bash和sh的关系
123[root@master bin]$ ll | grep bash-rwxr-xr-x. 1 root root 941880 5月 11 2016 bashlrwxrwxrwx. 1 root root 4 5月 27 2017 sh -> bash
(3)Centos默认的解析器是bash
12[root@master bin]$ echo $SHELL/bi ...
AI笔记(2):神经网络基础
1.算法基础与逻辑回归逻辑回归(Logistic regression) 是一个用于二分类的算法。
1.1 二分类问题与机器学习基础二分类就是输出 只有 {0,1} 两个离散值(也有 {-1,1} 的情况)。我们以一个「图像识别」问题为例,判断图片是否是猫。识别是否是「猫」,这是一个典型的二分类问题——0代表「非猫(not cat)」,1代表「猫(cat)」。
从机器学习的角度看,我们的输入 此时是一张图片,彩色图片包含RGB三个通道,图片尺寸为 。
有些神经网络的输入是一维的,我们可以将图片 (维度 )展平为一维特征向量(feature vector),得到的特征向量维度为 。我们一般用列向量表示样本,把维度记为 。
如果训练样本有 张图片,那么我们用矩阵存储数据,此时数据维度变为 。
矩阵 的行 代表了每个样本 特征个数
矩阵 的列 代表了样本个数。
我们可以对训练样本的标签 也做一个规整化,调整为1维的形态,标签 的维度为 。
1.2 逻辑回归算法逻辑回归是最常见的二分类算法,它包含以下参数:
输入的特征向量: ,其中 是特征数量
用于训 ...
SQL刷题笔记
SQL刷题笔记
基础题:
表 user_profile
id
device_id
gender
age
university
province
1
2138
male
21
北京大学
Beijing
2
3214
male
复旦大学
Shanghai
3
6543
female
20
北京大学
Beijing
4
2315
female
23
浙江大学
ZheJiang
5
5432
male
25
山东大学
Shandong
1.查看用户信息表中所有的数据,请你取出相应结果 select * from user_profile
2.想要用户的设备id对应的性别、年龄和学校的数据,请你取出相应数据
select device_id,gender,age,university from user_profile;
3.查看用户来自于哪些学校,请从用户信息表中取出学校的去重数据
(1)select DISTINCT university from user_profile;
(2)select university from u ...
Numpy笔记
基础知识NumPy的主要对象是同构多维数组。它是一个元素表(通常是数字),所有类型都相同,由非负整数元组索引。在NumPy维度中称为 轴 。
例如,3D空间中的点的坐标[1, 2, 1]具有一个轴。该轴有3个元素,所以我们说它的长度为3.在下图所示的例子中,数组有2个轴。第一轴的长度为2,第二轴的长度为3。
12[[ 1., 0., 0.], [ 0., 1., 2.]]
NumPy的数组类被调用ndarray。它也被别名所知 array。请注意,numpy.array这与标准Python库类不同array.array,后者只处理一维数组并提供较少的功能。ndarray对象更重要的属性是:
ndarray.ndim - 数组的轴(维度)的个数。在Python世界中,维度的数量被称为rank。
ndarray.shape - 数组的维度。这是一个整数的元组,表示每个维度中数组的大小。对于有 n 行和 m 列的矩阵,shape 将是 (n,m)。因此,shape 元组的长度就是rank或维度的个数 ndim。
ndarray.size - 数组元素的总数。这等于 shape 的元素 ...
AI笔记(1):基础知识
基本名词
示例/样本:上面一条数据集中的一条数据。
属性/特征:「色泽」「根蒂」等。
属性空间/样本空间/输入空间X:由全部属性张成的空间。
特征向量:空间中每个点对应的一个坐标向量。
标记:关于示例结果的信息,如((色泽=青绿,根蒂=蜷缩,敲声=浊响),好瓜),其中「好瓜」称为标记。
分类:若要预测的是离散值,如「好瓜」,「坏瓜」,此类学习任务称为分类。
假设:学得模型对应了关于数据的某种潜在规律。
真相:潜在规律自身。
学习过程:是为了找出或逼近真相。
泛化能力:学得模型适用于新样本的能力。一般来说,训练样本越大,越有可能通过学习来获得具有强泛化能力的模型。
欠拟合(Underfitting):常常在模型学习能力较弱,而数据复杂度较高的情况出现,此时模型由于学习能力不足,无法学习到数据集中的“一般规律”,因而导致泛化能力弱。
过拟合(Overfitting):模型学习能力太强,以至于将训练集单个样本自身的特点都能捕捉到,并将其认为是“一般规律”,同样这种情况也会导致模型泛化能力下降。
偏差 (Bias) 和 ...
linux
linux常见的分支
实际上Linus Torvalds所创建的是linux内核,而linux内核至今只发行了几个版本,变化并不是很大。但围绕着linux内核,不同的开发商开发出了很多linux系统(在linux内核上加入一些应用软件),这些linux系统就称为linux的分支。
linux有非常多的分支,常见的分支有CentOs,Ubuntu,RedHat等。
linux系统的安装
目前主要采用虚拟机安装,常见的虚拟机有vmware出品的vmware workstation、oracle 出品的virtual Box.但vmware的性能比virtual Box好一点。
具体的安装方式百度一下教程。
这里注意一下VMware的备份功能,合理使用可以提高效率。VMware的备份方式有两种:克隆和快照。
快照:又称还原点,就是保存在拍快照时候的系统的状态(包含了所有的内容),在后期的时候随时可以恢复。【侧重在于短期备份,需要频繁备份的时候可以使用快照,做快照的时候虚拟的操作系统一般处于开启状态】
克隆:就是复制的意思。【侧重长期备份,做克隆的时候是必须得关闭】
linux ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment