神经网络模型

04 基于神经网络的逻辑回归实现 - 神经网络和深度学习 [Deep Learning Specialization系列]

巧了我就是萌 提交于 2020-03-07 03:11:54
本文是 Deep Learning Specialization 系列课程的第1课《 Neural Networks and Deep Learning 》中Logistic Regression with a Neural Network mindset练习部分的笔记。 在《 02 神经网络 - 神经网络和深度学习 [Deep Learning Specialization系列] 》中,我们了解了神经网络的大部分理论知识。通过该编程实例,我们能构建一个简答的逻辑回归的分类器来识别猫,以复习神经网路的知识并了解具体的编程实现。 概述 本试验使用的是 h5 格式的数据集,该数据集包含有标注结果的训练数据和测试数据,通过以下7个步骤来完成神经网络的训练和预测: 数据加载 数据处理 参数初始化 逻辑回归函数的实现(正向传播) 损失/代价函数的实现(正向传播) 梯度递减算法的实现(反向传播) 预测 1. 数据加载 h5 格式的数据的读取是通过 h5py 库来实现的,简单的介绍可以参考我的上一篇文章《 h5py - HDF5 for Python的简单入门 》。 首先构建一个 load_dataset() 函数来完成数据的加载,该函数通过 h5py.File() 函数来读取 h5 格式的数据文件,将训练数据和测试数据做一个简单处理后,输出 train_set_x_orig , train

机器学习160道面试题

爷,独闯天下 提交于 2020-03-06 10:19:46
数据科学职位的典型面试过程会有很多轮,其中通常会涉及理论概念,目的是确定应聘者是否了解机器学习的基础知识。 在这篇文章中,我想总结一下我所有的面试经历(面试or被面试)并提出了160多个数据科学理论问题的清单。 其中包括以下主题: 线性回归 模型验证 分类和逻辑回归 正则化 决策树 随机森林 GBDT 神经网络 文本分类 聚类 排序:搜索和推荐 时间序列 这篇文章中的问题数量似乎远远不够,请记住,面试流程是根据公司的需求和你的工作经历而定的。因此,如果你的工作中没有用过时间序列模型或计算机视觉模型,就不会收到类似的问题。提示:如果不知道某些面试问题的答案,不要灰心。为了简化起见,我根据难度将问题分为三类: 👶容易 ⭐️中号 🚀专家 开始吧! 有监督的机器学习 什么是有监督学习?👶 线性回归 什么是回归?哪些模型可用于解决回归问题?👶 什么是线性回归?什么时候使用它?👶 什么是正态分布?为什么要重视它?👶 如何检查变量是否遵循正态分布?‍⭐️ 如何建立价格预测模型?价格是否正态分布?需要对价格进行预处理吗?‍⭐️ 解决线性回归的模型有哪些?‍⭐️ 什么是梯度下降?它是如何工作的?‍⭐️ 什么是正规方程?‍⭐️ 什么是SGD-随机梯度下降?与通常的梯度下降有何不同?‍⭐️ 有哪些评估回归模型的指标?👶 什么是MSE和RMSE?👶 验证方式 什么是过拟合?👶 如何验证模型?👶

160个机器学习面试题

半城伤御伤魂 提交于 2020-03-06 09:30:23
原文: https://hackernoon.com/160-data-science-interview-questions-415s3y2a Alexey Grigorev(Lead Data Scientist at OLX Group) 数据科学职位的典型面试过程会有很多轮,其中通常会涉及理论概念,目的是确定应聘者是否了解机器学习的基础知识。 在这篇文章中,我想总结一下我所有的面试经历(面试or被面试)并提出了160多个数据科学理论问题的清单。 其中包括以下主题: 线性回归 模型验证 分类和逻辑回归 正则化 决策树 随机森林 GBDT 神经网络 文本分类 聚类 排序:搜索和推荐 时间序列 这篇文章中的问题数量似乎远远不够,请记住,面试流程是根据公司的需求和你的工作经历而定的。因此,如果你的工作中没有用过时间序列模型或计算机视觉模型,就不会收到类似的问题。 提示:如果不知道某些面试问题的答案,不要灰心。为了简化起见,我根据难度将问题分为三类: 👶容易 ⭐️中号 🚀专家 开始吧! 有监督的机器学习 什么是有监督学习?👶 线性回归 什么是回归?哪些模型可用于解决回归问题?👶 什么是线性回归?什么时候使用它?👶 什么是正态分布?为什么要重视它?👶 如何检查变量是否遵循正态分布?‍⭐️ 如何建立价格预测模型?价格是否正态分布?需要对价格进行预处理吗?‍⭐️ 解决线性回归的模型有哪些?

ML激活函数使用法则

≡放荡痞女 提交于 2020-03-06 00:13:42
以下仅为自己的整理记录,绝大部分参考来源: 莫烦Python ,建议去看原博客 一、处理结构 因为TensorFlow是采用数据流图( data flow graphs )来计算, 所以首先我们得创建一个数据流流图, 然后再将我们的数据( 数据以张量(tensor)的形式存在 )放在数据流图中计算. 节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组, 即张量(tensor). 训练模型时tensor会不断的从数据流图中的一个节点flow到另一节点, 这就是TensorFlow名字的由来. Tensor 张量意义 张量(Tensor) : 张量有多种. 零阶张量为 纯量或标量 (scalar) 也就是一个数值. 比如 [1] 一阶张量为 向量 (vector), 比如 一维的 [1, 2, 3] 二阶张量为 矩阵 (matrix), 比如 二维的 [[1, 2, 3],[4, 5, 6],[7, 8, 9]] 以此类推, 还有 三阶 三维的 … 二、使用Tensorflow创建一个线性回归的模型 创建数据 加载 tensorflow 和 numpy 两个模块, 并且使用 numpy 来创建我们的数据. import tensorflow as tf import numpy as np # create data x_data = np

卷积神经网络(三):权值初始化方法之Xavier与MSRA

為{幸葍}努か 提交于 2020-03-05 20:25:03
基础知识 首先介绍一下Xavier等初始化方法比直接用高斯分布进行初始化W的优势所在: 一般的神经网络在前向传播时神经元输出值的方差会不断增大,而使用Xavier等方法理论上可以保证每层神经元输入输出方差一致。 这里先介绍一个方差相乘的公式,以便理解Xavier: Xavier 现在我们先来分析一层卷积: 其中ni表示输入个数。 根据概率统计知识我们有下面的方差公式: 特别的,当我们假设输入和权重都是0均值时(目前有了BN之后,这一点也较容易满足),上式可以简化为: 进一步假设输入x和权重w独立同分布,则有: 于是,为了保证 输入与输出方差一致 ,则应该有: 为什么要保证输入和输出的方差一致:如果不一致,则会造成方差越来越大(vary(y)>var(x)),或是越来越小(var(y) 为了保证前向传播和反向传播时每一层的方差一致,应 但是,实际当中输入与输出的个数往往不相等,于是为了均衡考量, 最终我们的权重方差应满足 : ——————————————————————————————————————— ——————————————————————————————————————— 学过概率统计的都知道 [a,b] 间的均匀分布的方差为: 因此, Xavier 初始化的实现就是下面的均匀分布 ——————————————————————————————————————————

卷积神经网络的七条核心知识

只谈情不闲聊 提交于 2020-03-05 16:25:31
卷积神经网络由哪几部分组成 ?卷积神经网络在视觉上具有较大的应用,卷积神经网络分为卷积层、池化层和全连接层。 什么是卷积核,卷积核的作用是什么 ?其中卷积核是一种数字矩阵,不同的卷积核用来提取特征,不同的卷积核可以提取不同的特征,位于不同深度的卷积核提取的也不同。正是因为卷积核再图像内滑动提取特征的性质,一整张图像使用一个卷积核,使得卷积神经网络具有参数共享的特性,也就减少了计算量。 什么是卷积层?不同卷积层的作用是什么 ?标准神经网络的每层执行的是激活函数的输入输出操作,卷积神经网络的每层卷积层是执行卷积操作。一般来说卷积层的第一层可以提取不同方向的纹理,第二层可以提取颜色等信息,更深层次的神经网络可以提取不同性质的组合状态。 怎样解决卷积的过程中会使图像变小问题 ?可以通过padding的方法先扩充图像再卷积,这样使得输出图像大小保持不变。padding方法还可以解决卷积过程中边缘像素卷积次数少的问题。 什么是池化层?池化层的作用是什么 ?池化层在卷积层后面,可以使卷积后的特征得到强化。池化层分为两种,max pooling和average pooling,池化层的作用是将明显的特征进一步提取。 什么是全连接层 ?全连接层是卷积神经网络最后的部分,通常是全连接神经网络的结构,起到分类的作用。全连接层通常连接softmax分类器用来分类。 经典的卷积神经网络模型有哪些

神经网络量化实践

半腔热情 提交于 2020-03-05 13:44:29
2018月到2019年底这段智能辅助驾驶的创业,不论结果如何还是要对自己曾经钻研过的知识加以整理总结 ,敬畏知识,积极分享 ,才能在学习的路上保持年轻!   这里首先要特别感谢几位朋友: mogo智行 FPGA专家:黄自瑞,google tflite 工程师:刘仁杰,小米MACE 架构师 何亮亮 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------   本次主要分享,我们在神经网络模型部署上的其中一次探索,“tensorflow quantization-aware”   参考资源如下:   “Quantizing deep convolutional networks for

多分类器:KNN,SVM,Softmax,2-Layer-Affine-Net(以图像分类为例子)

时光怂恿深爱的人放手 提交于 2020-03-01 09:21:59
多分类器:KNN,SVM,Softmax,2-Layer-Affine-Net(以图像分类为例子) 记录一下 CS 231N 计算机视觉这门课所提到的一些基础分类器,结合机器学习中学到的二元分类器算法,并以 CIFAR 10 作为训练集测试多分类器性能。 KNN K近邻分类 主要思路:寻找训练集到测试集中最相似的 k k k 个图像(距离由矩阵二范数、或是 F r o b i n u s Frobinus F r o b i n u s 范数表示),并由 k k k 个最优结果投票决定其标签。 算法流程: 训练集导入 X X X 与标签 y y y 测试集输入 x ^ \hat x x ^ ,找到 X X X 中与 x ^ \hat x x ^ 距离最近的 k k k 个图像: χ = { X ~ 1 , ⋯   , X ~ k } \chi = \{\tilde X_1,\cdots, \tilde X_k\} χ = { X ~ 1 ​ , ⋯ , X ~ k ​ } (一般用二范数距离) 对标签进行计数: η = { ( X ~ 1 , y ~ ( 1 ) ) , ⋯   , ( X ~ k , y ~ ( p ) ) } \eta = \{(\tilde X_1, \tilde y^{(1)}),\cdots, (\tilde X_k, \tilde y^{(p)})\}

搭建神经网络1

瘦欲@ 提交于 2020-02-29 17:08:45
基本概念 1、基于Tensorflow的NN(neural network)用 张量 表示数据,用 计算图 搭建神经网络,用 会话 执行运算图,优化线上的权重,得到模型。 0阶张量称作标量,表示一个单独的数,如s=12; 1阶张量称作向量,表示一个一维数组(列表),如V=[1,2,3]; 2阶张量称作矩阵,表示一个二维数组(列表),它可以有i行j列个元素,每个元素可以用行号和列号共同索引到, 如m=[[1,2,3],[4,5,6],[7,8,9]]; t=[[[...]]]为三阶张量。 2,数据类型:Tensorflow的 数据类型 有tf.float32、tf.int32等。 例如我们实现tensorflow的加法: import tensorflow as tf#引入模块 a = tf.constant([1.0,2.0])#定义一个张量等于[1.0,2.0],constant表示是一个常量 b = tf.constant([3.0,4.0])#定义一个张量等于[3.0,4.0] result = a+b#实现a和b的加法 print(result)#打印出结果 结果: 意思是result是一个名称为add_2:0的张量,shape=(2,)表示一维数组长度为2,dtype=float32表示数据类型为浮点型。 3,计算图(Graph):搭建神经网络的计算过程

神经网络框架及相关信息

强颜欢笑 提交于 2020-02-29 09:42:59
神经网络框架 Google TensorFlow 34,807 Facebook PyTorch 18,281 Google Keras 14,514 Facebook Caffe Caffe2 1,609 Theano 1,484 Google TensorFlow.js 1,131 Amazon MxNet 1,045 TFLearn 373 百度 PaddlePaddle 118 ONNX Microsoft CNTK 华为 MindSpore Microsoft Avatar Framework Microsoft Cognitive Toolkit ML.NET Scikit-learn Spark Mllib DeepLearning4j TensorRT XGBoost Core ML ConvNetJS Apple Create ML Amazon Neo 腾讯ncnn框架 阿里巴巴 MNN框架 阿里巴巴 X-DeepLearning 科大讯飞 一种全新的语音识别框架 深度全序列卷积神经网络DFCNN SNN尖峰神经网络/脉冲神经网络(SNN-Spiking Neuron Networks)Alan Lloyd Hodgkin和Andrew Huxley在1952年提出了第一个脉冲神经网络模型 PCNN脉冲耦合神经网络(Pulse Coupled Neural