【深度学习】(一)机器学习基础

简介: AI人工智能包含的内容十分广泛,对于图像处理而言,机器学习、深度学习或者计算机视觉主要关注图像识别这部分内容,所以重点学习CNN卷积神经网络。今天先从上古时期的机器学习开始。

a942ed055a8f4c4eb20dc2f89f29a5b5.png

计算机视觉是人类希望机器可以像人眼一样去“看”,而机器学习(深度学习)是希望机器可以像人的大脑一样“思考”。

d90757a5520d45fc9bd6907b92ab11f8.png

既然要机器拥有人类的大脑,那就要从人类的大脑结构出发。人脑中的神经网络是一个非常复杂的组织。成人的大脑中估计有1000亿个神经元之多。前人对神经的结构进行了数学建模,进而通过计算机进行数学映射,得到了神经网络。神经网络是一种模拟人脑的神经网络以期能够实现类人工智能的机器学习技术。

a96881c8fd644a2fa2d32212f0319281.png

1958年,计算科学家Rosenblatt提出了由两层神经元组成的神经网络。他给它起了一个名字--“感知器”(Perceptron)(有的文献翻译成“感知机”,下文统一用“感知器”来指代)。每个神经元都是一个结构相似的独立单元,它接受前一层的输入,并将加权和输入非线性作用函数,最后输出结果传递给后一层。下图为单层感知机:

25f1b5004f054b72a8190b67fe258512.jpg

函数**:一般采用sigmoid和tanh函数,主要是将数据进行非线性变换,将输入压缩到(0,1)和(-1,1)之间。208e3589e7d14e6bb4133ffb587e1170.png

# 激活函数deftanh(x):  
returnnp.tanh(x)  
deflogistic(x):  
return1/(1+np.exp(-x))  

**学习规则**:设置学习率learning_rate和学习轮次epochs,机器学习是一个不断迭代优化的过程,需要学习率来调整实际输出和期望输出的差别。

5dfec6bb93f542b78458ee85066dbe50.png

# 学习率self.weights[i] +=learning_rate*layer.T.dot(delta) 

**目标函数**:主要采用均方误差,几乎所有的机器学习算法最后都归结为求解最优化问题,以达到我们想让算法达到的目标。为了完成某一目标,需要构造出一个“目标函数”来,然后让该函数取极大值或极小值,从而得到机器学习算法的模型参数。如何构造出一个合理的目标函数,是建立机器学习算法的关键,一旦目标函数确定,接下来就是求解最优化问题,这在数学上一般有现成的方案。

9d242fc01f2c40188d00d3971c3637bd.png

# cost/loss functioncost=-tf.reduce_mean(Y*tf.compat.v1.log(hypothesis) + (1-Y) *tf.compat.v1.log(1-hypothesis))

**梯度下降算法**:主要采用SGD、Mini-batch GD,目的就是求解目标函数的最小值。这个过程可以理解为蒙着眼睛下山,每次都朝着梯度下降最快的方向往下走。当然随着不断的发展,之后深度学习还有更好的最优化算法,如Adam。

36b80b989b2e4150a61c5bc2e45f9000.gif

# 调用Tensorflow的API函数GradientDescentOptimizer实现train=tf.compat.v1.train.GradientDescentOptimizer(learning_rate=learning_rate).minimize(cost)

**BP算法**:即误差反向传播算法,BP算法中核心的数学工具就是微积分的链式求导法则。

2673cdb19aca4e57ac225439b14209c7.png


#开始反向计算误差,更新权重  forlinrange(len(a) -2, 0, -1): # we need to begin at the second to last layer  deltas.append(deltas[-1].dot(self.weights[l].T)*self.activation_deriv(a[l]))  
deltas.reverse()  
foriinrange(len(self.weights)):  
layer=np.atleast_2d(a[i])  
delta=np.atleast_2d(deltas[i])  
self.weights[i] +=learning_rate*layer.T.dot(delta)   


目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 安全
探索AI的未来:从机器学习到深度学习
【10月更文挑战第28天】本文将带你走进AI的世界,从机器学习的基本概念到深度学习的复杂应用,我们将一起探索AI的未来。你将了解到AI如何改变我们的生活,以及它在未来可能带来的影响。无论你是AI专家还是初学者,这篇文章都将为你提供新的视角和思考。让我们一起探索AI的奥秘,看看它将如何塑造我们的未来。
72 3
|
6天前
|
机器学习/深度学习 人工智能 算法
探索机器学习:从线性回归到深度学习
本文将带领读者从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过代码示例,展示如何实现这些算法,并解释其背后的数学原理。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和知识。让我们一起踏上这段激动人心的旅程吧!
|
25天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
68 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
17天前
|
机器学习/深度学习 人工智能 TensorFlow
基于TensorFlow的深度学习模型训练与优化实战
基于TensorFlow的深度学习模型训练与优化实战
53 0
|
23天前
|
机器学习/深度学习 自然语言处理 语音技术
探索机器学习中的深度学习模型:原理与应用
探索机器学习中的深度学习模型:原理与应用
33 0
|
2月前
|
机器学习/深度学习 自然语言处理 算法
机器学习和深度学习之间的区别
机器学习和深度学习在实际应用中各有优势和局限性。机器学习适用于一些数据量较小、问题相对简单、对模型解释性要求较高的场景;而深度学习则在处理大规模、复杂的数据和任务时表现出色,但需要更多的计算资源和数据,并且模型的解释性较差。在实际应用中,需要根据具体的问题和需求,结合两者的优势,选择合适的方法来解决问题。
76 0
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
浅谈机器学习与深度学习的区别
浅谈机器学习与深度学习的区别
59 0
|
4天前
|
机器学习/深度学习 传感器 数据采集
深度学习在故障检测中的应用:从理论到实践
深度学习在故障检测中的应用:从理论到实践
27 5
|
6天前
|
机器学习/深度学习 自动驾驶 算法
深度学习在图像识别中的应用
本文将探讨深度学习技术在图像识别领域的应用。我们将介绍深度学习的基本原理,以及如何利用这些原理进行图像识别。我们将通过一个简单的代码示例来演示如何使用深度学习模型进行图像分类。最后,我们将讨论深度学习在图像识别领域的未来发展趋势和挑战。
|
6天前
|
机器学习/深度学习 数据采集 算法
深度学习在图像识别中的应用与挑战
本文探讨了深度学习技术在图像识别领域的应用,重点分析了卷积神经网络(CNN)的基本原理、优势以及面临的主要挑战。通过案例研究,展示了深度学习如何提高图像识别的准确性和效率,同时指出了数据质量、模型泛化能力和计算资源等关键因素对性能的影响。