机器学习的模型概念和构建方法入门—— 《Python深度学习》读书笔记(2)

版权声明:随便转载,互相学习,注明来源即可,不想注明也没事 https://blog.csdn.net/yangwohenmai1/article/details/88808823

 本系列文章是对《Python深度学习》这本书阅读过程中,提炼出来的读书笔记。

《Python深度学习》这本书的作者是Kreas之父,也是Tensorflow框架的贡献者,本书的特点是,作者从一个编程学习者的角度来描述机器学习,而不是堆上来复杂的数学公式和函数变换。所有的数学理论或者公式,都用程序的方式描述出来,对于没有数学功底的开发者来说是一个很大的福利。不过当然,后期还是离不开数学,但作为入门来说这本书就相当的好了。

本章主要讲的是深度学习模型中的模块和概念,以及如何用程序构建一个深度学习框架,比如:

1.什么是神经网络的“层”

层的核心本质是权重,权重也就是一组通过训练得到的数字组合,或者说向量数据。相邻的层之间要互相兼容,也就是相邻层的权重所构成的向量的维度,是要互相对应的。什么叫互相对应?就是下一层的输入张量结构要对应上一层的输出张量结构。

2.怎么用代码定义一个中间层

目前提到的基本就是全连接Dense层,也就是全连接曾,或者密集层。属于初级的层。

layer = layers.Dense(32,input_shape(16,))

上述代码就定义了一个Dense全连接层,这个层描述的是接受一个输入维度为(16,***第二个维度无限制)的张量,输出的是一个(16,32)的张量。

3.一个深度学习模型都要配置什么功能

模型中比较重要的配置还有损失函数和优化器,损失函数也叫目标函数,用于计算当前结果和期望值之间的差距,即损失。优化器则决定了,基于损失函数算出来的损失值,如何通过修改权重使得损失值越来越小。模型的优化器一般都是基于梯度下降(SGD)的某个变体。

4.用Kreas开发一个深度网络的流程

粗略来说就是

(1)定义数据:包括数据的收集,标准化,归一化,补全,清洗,切片等

(2)定义网络模型:对于不同场景的数据,选择不同的网络模型进行训练,下一章节会有一个对应列表,列出常用的数据分析场景对应的网络模型选区方法。

(3)配置模型:包括损失函数,优化器,监控器,网络神经节点数量,训练迭代次数等。

(4)调用fit()函数来训练网络:一切都配置好了,就交给fit()函数来训练吧。

5.还有一些小知识点,关于神经网络的常用参数

除了构建模型,还要优化模型,这就要通过获取模型训练过程中返回的数据,对模型进行针对性的优化了,主要是通过调整模型参数或者增减层的规模。

6.最后给出了一个简单的神经网络代码的模板

就不手打了,看纸质笔记吧,红笔标注的是每个参数的意义

猜你喜欢

转载自blog.csdn.net/yangwohenmai1/article/details/88808823
今日推荐