【深度学习】实例第二部分:OpenCV
[toc]
OpenCV安装执行以下命令安装opencv-python库(核心库)和opencv-contrib-python库(贡献库)。注意:命令拷贝后要合成一行执行,中间不要换行。
12345# 安装opencv核心库pip3 install --user opencv-python==3.4.2.16 --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host https://pypi.tuna.tsinghua.edu.cn# 安装opencv贡献库pip3 install --user opencv-contrib-python==3.4.2.16 --index-url https://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host https://pypi.tuna.tsinghua.edu.cn
OpenCV基本操作读取、图像、保存图像12345678910111213# 读取图像import cv2im = cv2.imrea ...
【深度学习】实例第一部分:基础理论
自定义感知机123456789101112131415161718192021222324252627282930313233343536373839# 00_percetron.py# 实现感知机# 实现逻辑和def AND(x1, x2): w1, w2, theta = 0.5, 0.5, 0.7 tmp = x1 * w1 + x2 * w2 if tmp <= theta: return 0 else: return 1print(AND(1, 1))print(AND(1, 0))# 实现逻辑或def OR(x1, x2): w1, w2, theta = 0.5, 0.5, 0.2 tmp = x1 * w1 + x2 * w2 if tmp <= theta: return 0 else: return 1print(OR(0, 1))print(OR(0, 0))# 实现异或def XOR(x1, x2): s1 = not AND(x1, x2) ...
【深度学习】基础 肆:卷积神经网络
注:封面画师:新雨林-触站
说明
本页面无手机端适配,强制缩放阅读。
使用纯html格式,保存教学用ppt,添加了部分个人笔记。
目录工作正常,可以跳转。
b{color:rgba(0,0,0,0.75)}
卷积神经网络
卷积神经网络
卷积函数
离散卷积与多维卷积
什么是卷积神经网络
什么是卷积
卷积神经网络
卷积神经网络的用途
卷积运算
卷积运算的效果
案例2:图像卷积运算
卷积运算神经网络结构
典型CNN介绍
生活中的卷积
全连接神经网络的局限
卷积函数
知识讲解
什么是卷积
• “卷积”其实是一个数学概念,它描述一个函数和另一个函数在某个维度上
的加权“叠加”作用。函数定义如下:
其中,函数 f 和函数 g 是卷积对象,a 为积分变量,星号“*”表示卷积。公式所示的操作,被称为连续域上的卷积操作。这种操作通常也被简记为如下公式:
知识讲解
离散卷积与多维卷积
• 一般情况下,我们并不需 ...
【深度学习】基础 叁:反向传播算法
注:封面画师:新雨林-触站
说明
本页面无手机端适配,强制缩放阅读。
使用纯html格式,保存教学用ppt,添加了部分个人笔记。
目录工作正常,可以跳转。
b{color:rgba(0,0,0,0.75)}
反向传播
这里对反向传播的讲解比较奇怪,可能比较适合初学者理解。想要通过严谨的数学推导理解反向传播的同学,可以搜索一下。
反向传播算法
反向传播算法
什么是正向传播网络
什么是反向传播
反向传播算法
为什么需要反向传播
图解反向传播
反向传播计算
链式求导法则
案例1:通过反向传播计算偏导数
知识讲解
什么是正向传播网络
• 前一层的输出作为后一层的输入的逻辑结构,每一层神经元仅与下一层的
神经元全连接,通过增加神经网络的层数虽然可为其提供更大的灵活性,让网络具有更强的表征能力,也就是说,能解决的问题更多,但随之而来的
数量庞大的网络参数的训练,一直是制约多层神经网络发展的一个重要
瓶颈。
知识讲解
什么是反向传播
• 反向传播(B ...
【深度学习】基础 贰:损失函数与梯度下降
注:封面画师:新雨林-触站
说明
本页面无手机端适配,强制缩放阅读。
使用纯html格式,保存教学用ppt,添加了部分个人笔记。
目录工作正常,可以跳转。
b{color:rgba(0,0,0,0.75)}
损失函数与梯度下降
损失函数与梯度下降
损失函数
损失函数的作用
什么是损失函数
梯度下降
常用的损失函数
什么是梯度
梯度下降
导数与偏导数
学习率
梯度递减训练法则
梯度下降算法
损失函数
知识讲解
什么是损失函数
• 损失函数(Loss Function),也有称之为代价函数(Cost Function),
用
来度量预测值和实际值之间的差异。
知识讲解
损失函数的作用
• 度量决策函数f(x)和实际值之间的差异。• 作为模型性能参考。损失函数值越小,说明预测输出和实际结果(也称期望
输出)之间的差值就越小,也就说明我们构建的模型越好。
学习的过程,就
是不断通过训练数据进行预测,不断调整预测输出与实 ...
【深度学习】基础 壹:感知机与神经网络
注:封面画师:新雨林-触站
说明
本页面无手机端适配,强制缩放阅读。
使用纯html格式,保存教学用ppt,添加了部分个人笔记。
目录工作正常,可以跳转。
b{color:rgba(0,0,0,0.75)}
感知机与神经网络
感知机与神经网络
感知机
感知机的功能
什么是感知机
如何实现感知机
激活函数
感知机的缺陷
多层感知机
神经网络
什么是神经网络
神经网络的功能
通用近似定理
什么是激活函数
为什么使用激活函数
深层网络的优点
常见激活函数
感知机
知识讲解
生物神经元
细胞体
(处理信息)
树突(收集信息)
轴突(传递信息)
突触
(输出信息)
知识讲解
生物神经网络
知识讲解
什么是感知机
• 感知机(Perceptron),又称神经元(Neuron,对生物神经元进行了模仿)是神
经网络(深度学习)的起源算法,1958年由康奈尔大学心理学教授弗兰克·罗森布拉特(Frank Rosenb ...
【深度学习】概述
注:封面画师:新雨林-触站
说明
本页面无手机端适配,强制缩放阅读。
使用纯html格式,保存教学用ppt,添加了部分个人笔记。
目录工作正常,可以跳转。
b{color:rgba(0,0,0,0.75)}
深度学习概述
深度学习概述
引入
深度学习巨大影响
人工智能划时代事件
什么是深度学习
深度神经网络
深度学习与机器学习的关系
深度学习的定义
深度学习的特点
深度学习的应用
深度学习的优点
深度学习的缺点
深度学习与机器学习对比
课程内容与特点
为什么要学习深度学习
深度学习发展史
深度学习的特点
深度学习的应用
课程内容
课程特点
学习资源推荐
深度学习发展简史
深度网络演化过程
引入
知识讲解
人工智能划时代事件
• 2016年3月,Google公司研发的AlphaGo以
4:1击败世界围棋顶级选手李世石。次年,AlphaGo2.0对战世界最年轻的围棋四冠王柯洁,以3:0击败对方。背后支撑AlphaGo具备如此强大能力的,就是“深度学习”(Deep Learning)。
...
【机器学习】第七部分:模型优化
验证曲线与学习曲线① 验证曲线验证曲线是指根据不同的评估系数,来评估模型的优劣. 例如,构建随机森林,树的数量不同,模型预测准确度有何不同?以下是一个验证曲线的示例:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556# 验证曲线示例import numpy as npimport sklearn.preprocessing as spimport sklearn.ensemble as seimport sklearn.model_selection as msimport matplotlib.pyplot as mpdata = []with open("../data/car.txt", "r") as f: for line in f.readlines(): data.append(line.replace("\n", "" ...
【机器学习】第六部分:模型评估
性能度量① 错误率与精度错误率和精度是分类问题中常用的性能度量指标,既适用于二分类任务,也适用于多分类任务.
错误率(error rate):指分类错误的样本占样本总数的比例,即 ( 分类错误的数量 / 样本总数数量)
精度(accuracy):指分类正确的样本占样本总数的比例,即 (分类正确的数量 / 样本总数数量)
$$精度 = 1 - 错误率$$
② 查准率、召回率与F1得分错误率和精度虽然常用,但并不能满足所有的任务需求。例如,在一次疾病检测中,我们更关注以下两个问题:
检测出感染的个体中有多少是真正病毒携带者?
所有真正病毒携带者中,有多大比例被检测了出来?
类似的问题在很多分类场景下都会出现,“查准率”(precision)与“召回率”(recall)是更为适合的度量标准。对于二分类问题,可以将真实类别、预测类别组合为“真正例”(true positive)、“假正例”(false positive)、“真反例”(true negative)、“假反例”(false negative)四种情形,见下表:
样例总数:TP + F ...
【机器学习】第五部分:降维问题
参见:机器学习四大降维方法
PCA降维参见:【机器学习】降维——PCA(非常详细)参见:机器学习实战8-sklearn降维(PCA/LLE)
LDA降维参见:【机器学习实战】降维方法的sklearn实现—-PCA和LDA
LLE降维参见:机器学习实战8-sklearn降维(PCA/LLE)
拉普拉斯特征映射参见:python实现拉普拉斯特征图降维示例
【机器学习】第四部分:聚类问题
聚类问题概述聚类(cluster)与分类(class)问题不同,聚类是属于无监督学习模型,而分类属于有监督学习。聚类使用一些算法把样本分为N个群落,群落内部相似度较高,群落之间相似度较低。在机器学习中,通常采用“距离”来度量样本间的相似度,距离越小,相似度越高;距离越大,相似度越低.
相似度度量方式① 欧氏距离相似度使用欧氏距离来进行度量. 坐标轴上两点$x_1, x_2$之间的欧式距离可以表示为:$$|x_1-x_2| = \sqrt{(x_1-x_2)^2}$$平面坐标中两点$(x_1, y_1), (x_2, y_2)$欧式距离可表示为:$$|(x_1,y_1)-(x_2, y_2)| = \sqrt{(x_1-x_2)^2+(y_1-y_2)^2}$$三维坐标系中$(x_1, y_1, z_1), (x_2, y_2, z_2)$欧式距离可表示为:$$|(x_1, y_1, z_1),(x_2, y_2, z_2)| = \sqrt{(x_1-x_2)^2+(y_1-y_2)^2+(z_1-z_2)^2}$$以此类推,可以推广到N维空间.$$|(x ...
【机器学习】第三部分肆:朴素贝叶斯
朴素贝叶斯是一组功能强大且易于训练的分类器,它使用贝叶斯定理来确定给定一组条件的结果的概率,“朴素”的含义是指所给定的条件都能独立存在和发生. 朴素贝叶斯是多用途分类器,能在很多不同的情景下找到它的应用,例如垃圾邮件过滤、自然语言处理等.
概率定义概率是反映随机事件出现的可能性大小. 随机事件是指在相同条件下,可能出现也可能不出现的事件. 例如:
(1)抛一枚硬币,可能正面朝上,可能反面朝上,这是随机事件. 正/反面朝上的可能性称为概率;
(2)掷骰子,掷出的点数为随机事件. 每个点数出现的可能性称为概率;
(3)一批商品包含良品、次品,随机抽取一件,抽得良品/次品为随机事件. 经过大量反复试验,抽得次品率越来越接近于某个常数,则该常数为概率.
我们可以将随机事件记为A或B,则P(A), P(B)表示事件A或B的概率.
联合概率与条件概率① 联合概率指包含多个条件且所有条件同时成立的概率,记作$P ( A , B )$ ,或$P(AB)$,或$P(A \bigcap B)$
② 条件概率已知事件B发生的条件下,另一个事件A发生的概率称为条件概率,记为:$P(A ...
【机器学习】第三部分贰:决策树分类
什么是决策树决策树是一种常见的机器学习方法,其核心思想是相同(或相似)的输入产生相同(或相似)的输出,通过树状结构来进行决策,其目的是通过对样本不同属性的判断决策,将具有相同属性的样本划分到一个叶子节点下,从而实现分类或回归. 以下是几个生活中关于决策树的示例.
【示例1】
男生看女生与女生看男生的决策树模型
【示例2】
挑选西瓜的决策树模型
在上述示例模型中,通过对西瓜一系列特征(色泽、根蒂、敲声等)的判断,最终我们得出结论:这是否为一个好瓜. 决策过程中提出的每个判定问题都是对某个属性的“测试”,例如“色泽=?”,“根蒂=?”. 每个测试的结果可能得到最终结论,也可能需要进行下一步判断,其考虑问题的范围是在上次决策结果限定范围之内. 例如若在“色泽=青绿”之后再判断“根蒂=?”.
决策树的结构一般来说,一棵决策树包含一个根节点、若干个内部节点和若干个叶子节点. 叶子节点对应最终的决策结果,其它每个节点则对应与一个属性的测试. 最终划分到同一个叶子节点上的样本,具有相同的决策属性,可以对这些样本的值求平均值来实现回归,对这些样本进行投票(选取样本数量最多的类别)实现分类. ...
【机器学习】第三部分叁:支持向量机(SVM)
基本概念什么是支持向量机支持向量机(Support Vector Machines)是一种二分类模型,在机器学习、计算机视觉、数据挖掘中广泛应用,主要用于解决数据分类问题,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化(即数据集的边缘点到分界线的距离d最大,如下图),最终转化为一个凸二次规划问题来求解。通常SVM用于二元分类问题,对于多元分类可将其分解为多个二元分类问题,再进行分类。所谓“支持向量”,就是下图中虚线穿过的边缘点。支持向量机就对应着能将数据正确划分并且间隔最大的直线(下图中红色直线)。
最优分类边界什么才是最优分类边界?什么条件下的分类边界为最优边界呢?
如图中的A,B两个样本点,B点被预测为正类的确信度要大于A点,所以SVM的目标是寻找一个超平面,使得离超平面较近的异类点之间能有更大的间隔,即不必考虑所有样本点,只需让求得的超平面使得离它近的点间隔最大。超平面可以用如下线性方程来描述:$$w^T x + b = 0$$其中,$x=(x_1;x_2;…;x_n)$,$w=(w_1;w_2;…;w_n)$,$b$为偏置项. ...
【机器学习】第三部分壹:逻辑回归
逻辑回归概述什么是逻辑回归逻辑回归(Logistic Regression) 虽然被称为回归,但其实际上是分类模型,常用于二分类。逻辑回归因其简单、可并行化、可解释强而受到广泛应用。二分类(也称为逻辑分类)是常见的分类方法,是将一批样本或数据划分到两个类别,例如一次考试,根据成绩可以分为及格、不及格两个类别,如下表所示:
姓名
成绩
分类
Jerry
86
1
Tom
98
1
Lily
58
0
……
……
……
这就是逻辑分类,将连续值映射到两个类别中。
逻辑函数逻辑回归是一种广义的线性回归,其原理是利用线性模型根据输入计算输出(线性模型输出值为连续),并在逻辑函数作用下,将连续值转换为两个离散值(0或1),其表达式如下:$$y = h(w_1x_1 + w_2x_2 + w_3x_3 + … + w_nx_n + b)$$其中,括号中的部分为线性模型,计算结果在函数$h()$的作用下,做二值化转换,函数$h()$的定义为:$$h= \frac{1}{1+e^{-t}}$$$$\quad t=w^Tx+b$$
该函数称为Si ...