要点

一般而言随着数据量增加,神经网络战胜传统机器学习模型的可能性会更大。





















































x









z=w^T * x + b









w









b









a = sigma(z)







如上图所示,输入层各节点中,要素x、权重w和偏执b为输入,z为输出。
weight、bais一般是从高斯分布中随机初始化的值。
权重表示可能性大小,偏置用于正确分类样本,保证输出值不能被随便激活。
计算出z后,对z使用激活函数σ\sigmaσ
激活函数用于向模型引入一些非线性,可以将神经元的输出幅度限制在一定范围,一般为(-1,1)、(0,1)。
常用的激活函数有sigmoid、tanh、ReLU。
整个过程为:首先前向传播(对变量和权重进行计算,最后求出误差);然后反向传播(遍历每个层每个连接对误差的贡献,然后调整权重和偏置)。

多层感知机

Multi-layer Perceptron,MLP。
也可以称作深度神经网络DNN,Deep Neural Networks,即含有多个隐藏层的神经网络。

def create_mpl(shape):X_input = Input((shape, ))X = Dense(256, activation='relu')(X_input)X = Dense(128, activation='relu')(X)X = Dense(64, activation='relu')(X)X = Dense(1, activation='relu')(X)model = Model(inputs=X_input, outputs=X)model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])return model
mlp_model = create_mlp(x_train.shape[0])
mlp_model.fit(x=x_train, y=y_train, epochs=30, batch_size=512)

卷积神经网络

CNN, Convolutional Neural Network。
类似MLP,但网络结构不同。
两大特点:有效的数据降维;有效保留特征。
基本结构:卷积层、池化层(采样层)、全连接层。
卷积层提取特征、池化层特征选择,全脸阶层分类。
池化层可有效降低数据维度,减少运算量,避免过拟合。
池化层常用方法:最大化池化层、平均池化层。

def create_cnn():X_input = Input((28, 28, 1))X = Conv2D(24, kernel_size=5, padding='same', activation='relu')(X_input)X = MaxPooling2D()(X)X = Conv2D(48, kernel_size=5, padding='same', activation='relu')(X)X = MaxPooling2D()(X)X = Flatten()(X)X = Dense(128, activation='relu')(X)X = Dense(64, activation='relu')(X)X = Dense(1, activation='sigmoid')(X)model = Model(inputs=X_input, outputs=X)model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])return modelcnn_model = create_cnn()
cnn_model.fit(x=x_train, y=y_train, epochs=30, batch_size=64)

循环神经网络

RNN,Recurrent Neural Network。
RNN是神经网络的一种扩展,更擅长对序列数据进行建模处理。
传统前馈神经网络,输入一般是一个定长的向量,无法处理变长的序列信息。
RNN将神经元串行,以处理序列化数据。每个神经元都可用其内部变量,保存之前输入的序列信息,因此整个序列被浓缩成抽象的表示,并可据此进行分类或生成新的序列。
RNN常用于自然语言处理、语音识别、机器翻译、时间序列预测等。

















































































































h0









f









x1









h1









y1









f









x2









h2









y2









f









x3







x_i表示输入层,h_i表示隐藏层,y_1表示输出层。
yt=g(V∗ht)y_t = g(V*h_t) yt=g(Vht)
ht=f(U∗Xt+W∗ht−1)h_t = f(U * X_t + W * h_{t-1}) ht=f(UXt+Wht1)
V是隐藏层到输出层的权重矩阵,U是输入层到隐藏层的权重矩阵,W表示隐藏层上一次的值作为这一次输入的权重。
RNN扩展的序列相关模型:LSTM、GRU等。
Long-short-term Memory,长短期记忆。
Gate Recurent Unit,循环门单元。

# RNN的输入数据包含序列信息
# 比如如果文本长度不一,需要利用pad_sequences截断
def create_rnn():emb = Embedding(10000, 32)  # 1w个单词,32为输出维度X = SimpleRNN(32)(emb)X = Dense(256, activation='relu')(X)X = Dense(128, activation='relu')(X)X = Dense(1, activation='sigmoid')(X)model = Model(inputs=X_input, outputs=X)model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])return modelrnn_model = create_rnn()
rnn_model.fit(x=x_train, y=y_train, epochs=30, batch_size=64)

《机器学习算法竞赛实践》学习笔记(1)神经网络相关推荐

  1. 《机器学习算法竞赛实战》笔记 - 第一部分 磨刀事半,砍柴功倍

    <机器学习算法竞赛实战>笔记 - 第一部分 磨刀事半,砍柴功倍 I. 图书豆瓣背景: II. 主要框架: 初见竞赛 问题建模 数据探索 特征工程 模型训练 模型融合 1. 初见竞赛: 竞赛 ...

  2. 《机器学习算法竞赛实践》学习笔记(3)竞赛概述问题建模

    竞赛概述 竞赛平台 Kaggle.天池.DataFountain.DataCasstle.Kesci(和鲸).JDATA.FlyAI.AI Challenger 公众号 Coggle数据科学.Kagg ...

  3. 机器学习算法-09-深度学习、BP神经网络、Hopfield神经网络、基于数学原理的神经网络、径向基函数RBF(B站一条会说666的咸鱼)

    Deep Learning 深度学习的概念源于人工神经网络的研究,含多隐层的多层感知器就是有一种深度学些的结构 ,深度学习通过组合低层特征形成更加抽象的高层表示属性类别或特征,以发现数据的分布式特征的 ...

  4. 吴恩达《机器学习》学习笔记十一——神经网络代码

    吴恩达<机器学习>学习笔记十一--神经网络代码 数据准备 神经网络结构与代价函数· 初始化设置 反向传播算法 训练网络与验证 课程链接:https://www.bilibili.com/v ...

  5. 吴恩达《机器学习》学习笔记十——神经网络相关(2)

    吴恩达<机器学习>学习笔记十--神经网络相关(2) 一. 代价函数 二. 反向传播算法 三. 理解反向传播算法 四. 梯度检测 五. 随机初始化 1.全部初始化为0的问题 2.随机初始化的 ...

  6. 吴恩达《机器学习》学习笔记九——神经网络相关(1)

    吴恩达<机器学习>学习笔记九--神经网络相关(1) 一. 非线性假设的问题 二. 神经网络相关知识 1.神经网络的大致历史 2.神经网络的表示 3.前向传播:向量化表示 三. 例子与直觉理 ...

  7. July深度学习笔记之神经网络与反向传播算法

    July深度学习笔记之神经网络与反向传播算法 一.神经网络 神经网络的大致结构如下: 大致可以分为输入层.隐藏层与输出层. 而我们可以单独拿出来一个结点,可以发现,其实它就是类似一个逻辑回归(LR), ...

  8. cart算法_决策树学习笔记(三):CART算法,决策树总结

    点击上方"Python数据科学",选择"星标公众号" 关键时刻,第一时间送达! 作者:xiaoyu 介绍:一个半路转行的数据挖掘工程师 推荐导读:本篇为树模型系 ...

  9. 《机器学习算法竞赛实战》-chapter4特征工程

    <机器学习算法竞赛实战>学习笔记,记录一下自己的学习过程,详细的内容请大家购买作者的书籍查阅. 特征工程 特征工程是算法竞赛中工作量最大,决定参赛者能否拿到较好名次的关键部分.吴恩达老师说 ...

  10. 嵌入式算法移植优化学习笔记5——CPU,GPU,TPU,NPU都是什么

    嵌入式算法移植优化学习笔记5--CPU,GPU,TPU,NPU都是什么 一.什么是CPU? 二.什么是GPU? 三.什么是NPU? 四.什么是TPU? 附: 随着AI的广泛应用,深度学习已成为当前AI ...

最新文章

  1. R语言计算回归模型每个样本(观察、observation、sample)的DFFITS度量实战:忽略单个观察(样本)时,回归模型所做的预测会发生多大的变化
  2. 木马——本质就是cs socket远程控制,反弹木马是作为c端向外发起网络请求
  3. 在Windows环境下编译cocos2d-x-3.0
  4. Java中六大时间类的使用和区别
  5. java gradle 资源访问_java在gradle工程访问src/test/resources目录下的资源配置文件
  6. gephi生成网络关系图_路网拓扑重建专题 (3) 网络图生成
  7. rstudio server docker 部署_Docker环境运行Spring Cloud项目
  8. ACDSee Photo Studio 8 for Mac(数字图象处理软件)
  9. python打字案例,Python 小案例 打字练习
  10. No ip domain-lookup和Logging synchronous和Exec-timeout 0 0
  11. 拼多多跨境电商如何快速上架商品?
  12. PNG透明图片叠加(Opencv实现,包括旋转缩放以及边界处理)
  13. 【计算机网络】4-41假定网络中的路由器B的路由表有如下的项目(这三列分别表示“目的网络”、“距离”和“下一跳路由器”):
  14. 高德地图大头针功能_【iOS】高德地图MAMapKit的使用:地图显示、添加大头针、导航、定位功能介绍...
  15. EPUB转为PDF和书籍pdf下载
  16. 应用与系统稳定性第三篇---FD泄露问题漫谈
  17. 啥是单点登录及单点登录原理
  18. 三种数学语言的相互转化
  19. 企业数字化转型浪潮下,大数据风控如何做决策
  20. 关于Github登录 token 失效(重新设置)

热门文章

  1. 从零到一,全套搜狗收录教程分享
  2. Android播放声音SoundPool、MediaPlayer、AudioTrack
  3. php单元测试入门教程phpunit详解
  4. Go语言编译出错:Compiled binary cannot be executed
  5. XAMP下tomcat无法启动:Make sure you have Java JDK or JRE installed and the required ports are free解决方法
  6. Winform当移入控件时,鼠标变手的通用方法
  7. 不要把精力浪费在“吃瓜”上
  8. SSD-caffe踩keng
  9. 关于java中xml文档解析
  10. 用计算机怎么打出箭头,怎么打出箭头