首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【深度学习】实例第一部分:基础理论

【深度学习】实例第一部分:基础理论

作者头像
杨丝儿
发布于 2022-02-28 04:49:02
发布于 2022-02-28 04:49:02
21000
代码可运行
举报
文章被收录于专栏:杨丝儿的小站杨丝儿的小站
运行总次数:0
代码可运行

自定义感知机

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 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 1

print(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 1

print(OR(0, 1))
print(OR(0, 0))

# 实现异或
def XOR(x1, x2):
    s1 = not AND(x1, x2) # 与非门
    s2 = OR(x1, x2)
    y = AND(s1, s2)
    return y

print(XOR(1, 0))
print(XOR(0, 1))
print(XOR(1, 1))
print(XOR(0, 0))

计算N个概率的交叉熵

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# 计算交叉熵
import math

p_true = [0, 1, 0, 0, 0]  # 真实概率
p_pred1 = [0.1, 0.6, 0.1, 0.1, 0.1]  # 预测概率
p_pred2 = [0.1, 0.7, 0.1, 0.05, 0.05]  # 预测概率
p_pred3 = [0.1, 0.8, 0.04, 0.03, 0.03]  # 预测概率

print(sum(p_true))
print(sum(p_pred1))
print(sum(p_pred2))
print(sum(p_pred3))

cross_entropy1 = 0.0
cross_entropy2 = 0.0
cross_entropy3 = 0.0

# 计算每组预测概率和真实概率的交叉熵(实际上只计算对应正确解标签的输出的自然对数)
for i in range(len(p_true)):
    cross_entropy1 += (p_true[i] * math.log(p_pred1[i]))
    cross_entropy2 += (p_true[i] * math.log(p_pred2[i]))
    cross_entropy3 += (p_true[i] * math.log(p_pred3[i]))

# 打印结果
print("交叉熵1:", -cross_entropy1)
print("交叉熵2:", -cross_entropy2)
print("交叉熵3:", -cross_entropy3)

验证图像卷积运算效果

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from scipy import signal
from scipy import misc
import matplotlib.pyplot as plt
import numpy as np
import scipy.ndimage as sn

im = misc.imread("data/zebra.png", flatten=True)
# face = sn.imread("data/zebra.png", flatten=True)
flt = np.array([[-1, 0, 1],
                [-2, 0, 2],
                [-1, 0, 1]])

flt2 = np.array([[1, 2, 1],
                 [0, 0, 0],
                 [-1, -2, -1]])

# 把图像的face数组和设计好的卷积和作二维卷积运算,设计边界处理方式为symm
conv_img1 = signal.convolve2d(im, flt,
                              boundary='symm',
                              mode='same').astype("int32")

conv_img2 = signal.convolve2d(im, flt2,
                              boundary='symm',
                              mode='same').astype("int32")

plt.figure("Conv2D")
plt.subplot(131)
plt.imshow(im, cmap='gray')  # 显示原始的图
plt.xticks([])
plt.yticks([])

plt.subplot(132)
plt.xticks([])
plt.yticks([])
plt.imshow(conv_img1, cmap='gray')  # 卷积后的图

plt.subplot(133)
plt.xticks([])
plt.yticks([])
plt.imshow(conv_img2, cmap='gray')  # 卷积后的图

plt.show()

执行结果:

OpenCV版:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from scipy import misc
from scipy import signal
import matplotlib.pyplot as plt
import matplotlib
import numpy as np
import scipy.ndimage as sn
import cv2
import pylab

im = cv2.imread("../data/zebra.png",0)

flt = np.array([[-1,0,1],
                [-2,0,2],
                [-1,0,1]])/2
flt2 = np.array([[1,2,1],
                 [0,0,0],
                 [-1,-2,-1]])/2

conv_img1 = cv2.filter2D(im, -1, flt,borderType=1)
conv_img2 = cv2.filter2D(im, -1, flt2,borderType=1)

cv2.imshow("im",im)
cv2.imshow("conv_img1",conv_img1)
cv2.imshow("conv_img2",conv_img2)
cv2.waitKey()
cv2.destroyAllWindows()
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-12-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用Pytorch做深度学习(第一部分)
深度学习是机器学习的一个领域,利用大规模网络,海量数据集和在GPU(图形处理单元)上的加速运算。
AI研习社
2018/12/28
7400
用Pytorch做深度学习(第一部分)
Convolutional Neural Networks: Application
X_train_orig, Y_train_orig, X_test_orig, Y_test_orig, classes = load_dataset()
小飞侠xp
2018/08/29
4670
【他山之石】TensorFlow神经网络实现二分类的正确姿势
“他山之石,可以攻玉”,站在巨人的肩膀才能看得更高,走得更远。在科研的道路上,更需借助东风才能更快前行。为此,我们特别搜集整理了一些实用的代码链接,数据集,软件,编程技巧等,开辟“他山之石”专栏,助你乘风破浪,一路奋勇向前,敬请关注。
马上科普尚尚
2021/03/17
9910
【他山之石】TensorFlow神经网络实现二分类的正确姿势
Python机器学习、深度学习库总结(内含大量示例,建议收藏)
目前,随着人工智能的大热,吸引了诸多行业对于人工智能的关注,同时也迎来了一波又一波的人工智能学习的热潮,虽然人工智能背后的原理并不能通过短短一文给予详细介绍,但是像所有学科一样,我们并不需要从头开始”造轮子“,可以通过使用丰富的人工智能框架来快速构建人工智能模型,从而入门人工智能的潮流。人工智能指的是一系列使机器能够像人类一样处理信息的技术;机器学习是利用计算机编程从历史数据中学习,对新数据进行预测的过程;神经网络是基于生物大脑结构和特征的机器学习的计算机模型;深度学习是机器学习的一个子集,它处理大量的非结构化数据,如人类的语音、文本和图像。因此,这些概念在层次上是相互依存的,人工智能是最广泛的术语,而深度学习是最具体的:
润森
2022/09/22
3.2K0
Python机器学习、深度学习库总结(内含大量示例,建议收藏)
卷积神经网络 第一周作业 Convolution+model+-+Application+-+v1
Welcome to Course 4’s second assignment! In this notebook, you will:
Steve Wang
2019/05/29
1.3K0
【玩转腾讯云】深度学习之《深度学习入门》学习笔记(四)神经网络的学习
最近学习吴恩达《Machine Learning》课程以及《深度学习入门:基于Python的理论与实现》书,一些东西总结了下。现就后者学习进行笔记总结。本文是本书的学习笔记(四)神经网络的学习。
ZNing
2020/05/05
1.5K0
TensorFlow 深度学习实战指南:1~5 全
TensorFlow 是 Google 最近发布的新的机器学习和图计算库。 其 Python 接口可确保通用模型的优雅设计,而其编译后的后端可确保速度。
ApacheCN_飞龙
2023/04/23
2K0
TensorFlow 深度学习实战指南:1~5 全
TensorFlow实现简单神经网络分类问题
①定义神经网络的结构和前向传播的输出结果。 ②定义损失函数以及选择反向传播优化算法。 ③生成会话(tf.Session)并且在训练数据上反复运行反向传播优化算法。
里克贝斯
2021/05/21
1.2K0
TensorFlow实现简单神经网络分类问题
技术角 | 深度学习之《深度学习入门》学习笔记(四)神经网络的学习(下)
最近学习吴恩达《Machine Learning》课程以及《深度学习入门:基于Python的理论与实现》书,一些东西总结了下。现就后者学习进行笔记总结。本文是本书的学习笔记(四)神经网络的学习的下半部分。
ZNing
2020/05/13
1.1K0
技术角 | 深度学习之《深度学习入门》学习笔记(四)神经网络的学习(下)
机器学习开发者应该收藏的 DIY 计算机视觉和深度学习项目
受到 Akshay Bahadur 所做伟大工作的鼓舞,在这篇文章中你将看到一些应用计算机视觉和深度学习的项目,包括具体实现和细节,你可以在自己的电脑上复现这些项目。
AI研习社
2018/07/26
6580
机器学习开发者应该收藏的 DIY 计算机视觉和深度学习项目
matplotlib作图不显示3D图,怎么办?
前几天在Python白银交流群【Kim】问了一个Python作图的问题,问题如下:他不显示3D图咋办?
Python进阶者
2024/06/12
1020
matplotlib作图不显示3D图,怎么办?
Deeplearning.ai 课程笔记第一部分:神经网络与深度学习
神经网络就是由若干神经元组合而成的网络结构,其包含输入层、隐藏层和输出层。而含有多层隐藏层的神经网络即为深度神经网络。下图给出了一个深度神经网络的示意图。
口仆
2020/08/17
9470
精通 TensorFlow 2.x 计算机视觉:第一部分
在本节中,您将加深对理论的理解,并学习有关卷积神经网络在图像处理中的应用的动手技术。 您将学习关键概念,例如图像过滤,特征映射,边缘检测,卷积运算,激活函数,以及与图像分类和对象检测有关的全连接和 softmax 层的使用。 本章提供了许多使用 TensorFlow,Keras 和 OpenCV 的端到端​​计算机视觉管道的动手示例。 从这些章节中获得的最重要的学习是发展对不同卷积运算背后的理解和直觉-图像如何通过卷积神经网络的不同层进行转换。
ApacheCN_飞龙
2023/04/27
1.5K0
精通 TensorFlow 2.x 计算机视觉:第一部分
零基础入门深度学习(十一):目标检测之YOLOv3算法实现下篇
本课程是百度官方开设的零基础入门深度学习课程,主要面向没有深度学习技术基础或者基础薄弱的同学,帮助大家在深度学习领域实现从0到1+的跨越。从本系列课程中,你将学习到:
用户1386409
2020/02/19
1.3K0
人脸检测——滑动窗口篇(训练和实现)
该文章介绍了如何使用深度学习实现人脸检测和识别。首先介绍了基于深度学习的人脸检测技术,包括基于Haar特征的级联分类器、Dlib库、人脸检测框架等。然后介绍了基于深度学习的人脸识别技术,包括DeepFace、FaceNet、ArcFace等。最后介绍了如何基于深度学习实现人脸检测和识别的应用,包括人脸门禁、人脸签到、人脸支付等。
MachineLP
2018/01/09
2.3K0
人脸检测——滑动窗口篇(训练和实现)
深度学习之卷积神经网络(CNN)详解与代码实现(一)
本文系作者原创,转载请注明出处:https://www.cnblogs.com/further-further-further/p/10430073.html
用户7225427
2020/09/03
2.9K0
深度学习之卷积神经网络(CNN)详解与代码实现(一)
tensorflow/pytorch材质检测(多分类)
pytorch封装性更好,成功率高由于pytorch中使用了归一化数据(tensorflow中没有添加相应的代码),所以成功率更高
sofu456
2019/07/09
1.1K0
tensorflow/pytorch材质检测(多分类)
深度学习神经网络中正则化的使用
如果训练数据集不够大,由于深度学习模型具有非常大的灵活性和容量,以至于过度拟合可能是一个严重的问题,为了解决这个问题,引入了正则化的这个方法。要在神经网络中加入正则化,除了在激活层中加入正则函数,应该dropout也是可以起到正则的效果。我们来试试吧。
夜雨飘零
2020/05/06
9020
【深度学习】实例第三部分:TensorFlow
注意:此代码全部为TensorFlow1版本。 查看Tensorflow版本 from __future__ import absolute_import, division, print_function, unicode_literals # 导入TensorFlow和tf.keras import tensorflow as tf from tensorflow import keras # 导入辅助库 import numpy as np import matplotlib.pyplot as
杨丝儿
2022/02/28
1.1K0
【中文】【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第一周作业(1&2&3)
上一篇:【课程2 - 第一周测验】※※※※※ 【回到目录】※※※※※下一篇:【课程2 - 第二周测验】
Steve Wang
2019/05/28
8960
【中文】【吴恩达课后编程作业】Course 2 - 改善深层神经网络 - 第一周作业(1&2&3)
推荐阅读
相关推荐
用Pytorch做深度学习(第一部分)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档