优达学城深度学习之三(下)——卷积神经网络

简介: 优达学城深度学习之三(下)——卷积神经网络

one-hot编码


计算机在表示多结果的分类时,使用One-Hot编码是比较常见的处理方式。即每个对象都有对应的列。

84097ae8d3e4c7d697af25efb44a386b.jpg

最大似然率


下面是两幅图像,比较两幅图像,试通过概率的方法来讨论一下为什么右边的模型会更好。

6f013a5e4778eada5d0b0de53009879f.jpg

假设第一幅图像的每个点是对应颜色的概率为下图:

952efcc387155f320ab2e109c7271dfe.jpg

如果假设点的颜色是相互独立的,则整个图表的概率为相互乘积:0.6*0.1*0.7*0.2=0.0084,低于1%

第二个图概率如下图所示:

5ec197d09582edbf0e1d8d2286ad6576.jpg

则整个图表的概率为相互乘积:0.6*0.8*0.9*0.7=0.3024约等于30%。由此可知,右边的模型更靠谱。

b73ae79fe97491c3d3dbad4b24bfa2a2.jpg

如果我们可以通过一种方式最大化这个概率,则这种方法叫最大似然法。

最大化概率


交叉熵1:损失函数


e04d388ee891de3c29b19857663a0253.jpg

对他们每个点的概率进行对数运算,然把他们的相反数进行求和,我们称之为交叉熵。好的模型交叉熵比较低,坏的模型交叉熵会比较高。如下图的两个模型。

95a09e72cf75cfb6291557f5652f142e.jpg

我们遇到了某种规律,概率和误差函数之间肯定有一定的联系,这种联系叫做交叉熵。这个概念在很多领域都非常流行,包括机器学习领域。下图表示三个门后面有礼物的概率,分别为0.8、0.7、0.1,当后面有礼物时,yi=1,所以交叉熵如下图所示:

2d5cb8a9ddbd3330768bdf64886f1328.jpg

代码实现:

importnumpyasnp# Write a function that takes as input two lists Y, P,# and returns the float corresponding to their cross-entropy.defcross_entropy(Y, P):
Y=np.float_(Y)
P=np.float_(P)
return-np.sum(Y*np.log(P) + (1-Y) *np.log(1-P))

由单个类推出多种类别,假设每个门后面有三种不同的生物,概率不一样,则每种动物的概率和交叉熵如下图所示:

fbc1954913512187677777590563c092.jpg

d03fc7b6da1ec655c3c2ca4f7284e2ad.jpg

532f1259c6cd7798bc9cd79ffa1dae5e.jpg

则 Cross-Entropy = ∑ ∑ [ yij ln(Pij) ] ( i = 1, 2, 3 ... n ) ( j = 1, 2, 3 ...m ) = ∑ [ y1j ln(P1j) + y2j ln(P2j) + ..... yij ln(Pij) ] 且 ( P1j + P2j + P3j + ......Pij = 1 )

logistic回归


现在,我们终于要讲解机器学习中最热门和最有用的算法之一,它也是所有机器学习的基石——对数几率回归算法。基本上是这样的:

  • 获得数据
  • 选择一个随机模型
  • 计算误差
  • 最小化误差,获得更好模型
  • 完成

计算随机误差


4ceecd70f703f82f2f47945530b4de7d.jpg

备注:图片中的 log 应全为 ln。

d249e370741d8489f2f2cd10eaf053ef.jpg

最小化误差函数:梯度下降法


696c7494eacda87103e8f2d57afde72c.jpg

误差函数为△E。

在上几个视频中,我们了解到为了最小化误差函数,我们需要获得一些导数。我们开始计算误差函数的导数吧。首先要注意的是 s 型函数具有很完美的导数。即

2f175708656e0bbe15508ee646aeab1b.png

度运算如下图:

b736271f34f8dc7f113bf2fac6c8b970.jpg

c2e35479a9ebcf6facb5c7e73378373a.jpg

a91836cc93960fbe2e25082d451892de.jpg


相关文章
|
4天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
眼疾识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了4种常见的眼疾图像数据集(白内障、糖尿病性视网膜病变、青光眼和正常眼睛) 再使用通过搭建的算法模型对数据集进行训练得到一个识别精度较高的模型,然后保存为为本地h5格式文件。最后使用Django框架搭建了一个Web网页平台可视化操作界面,实现用户上传一张眼疾图片识别其名称。
20 4
基于Python深度学习的眼疾识别系统实现~人工智能+卷积网络算法
|
25天前
|
机器学习/深度学习 人工智能 算法
猫狗宠物识别系统Python+TensorFlow+人工智能+深度学习+卷积网络算法
宠物识别系统使用Python和TensorFlow搭建卷积神经网络,基于37种常见猫狗数据集训练高精度模型,并保存为h5格式。通过Django框架搭建Web平台,用户上传宠物图片即可识别其名称,提供便捷的宠物识别服务。
246 55
|
1月前
|
机器学习/深度学习 人工智能 算法
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
宠物识别系统,本系统使用Python作为主要开发语言,基于TensorFlow搭建卷积神经网络算法,并收集了37种常见的猫狗宠物种类数据集【'阿比西尼亚猫(Abyssinian)', '孟加拉猫(Bengal)', '暹罗猫(Birman)', '孟买猫(Bombay)', '英国短毛猫(British Shorthair)', '埃及猫(Egyptian Mau)', '缅因猫(Maine Coon)', '波斯猫(Persian)', '布偶猫(Ragdoll)', '俄罗斯蓝猫(Russian Blue)', '暹罗猫(Siamese)', '斯芬克斯猫(Sphynx)', '美国斗牛犬
173 29
【宠物识别系统】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+图像识别
|
22天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于yolov4深度学习网络的公共场所人流密度检测系统matlab仿真,带GUI界面
本项目使用 MATLAB 2022a 进行 YOLOv4 算法仿真,实现公共场所人流密度检测。通过卷积神经网络提取图像特征,将图像划分为多个网格进行目标检测和识别,最终计算人流密度。核心程序包括图像和视频读取、处理和显示功能。仿真结果展示了算法的有效性和准确性。
60 31
|
14小时前
|
机器学习/深度学习 算法 计算机视觉
基于CNN卷积神经网络的金融数据预测matlab仿真,对比BP,RBF,LSTM
本项目基于MATLAB2022A,利用CNN卷积神经网络对金融数据进行预测,并与BP、RBF和LSTM网络对比。核心程序通过处理历史价格数据,训练并测试各模型,展示预测结果及误差分析。CNN通过卷积层捕捉局部特征,BP网络学习非线性映射,RBF网络进行局部逼近,LSTM解决长序列预测中的梯度问题。实验结果表明各模型在金融数据预测中的表现差异。
|
29天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
1月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)##
在当今的人工智能领域,深度学习已成为推动技术革新的核心力量之一。其中,卷积神经网络(CNN)作为深度学习的一个重要分支,因其在图像和视频处理方面的卓越性能而备受关注。本文旨在深入探讨CNN的基本原理、结构及其在实际应用中的表现,为读者提供一个全面了解CNN的窗口。 ##
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深入理解深度学习中的卷积神经网络(CNN)
深入理解深度学习中的卷积神经网络(CNN)
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的卷积神经网络(CNN): 从理论到实践
本文将深入浅出地介绍卷积神经网络(CNN)的工作原理,并带领读者通过一个简单的图像分类项目,实现从理论到代码的转变。我们将探索CNN如何识别和处理图像数据,并通过实例展示如何训练一个有效的CNN模型。无论你是深度学习领域的新手还是希望扩展你的技术栈,这篇文章都将为你提供宝贵的知识和技能。
357 7