神经网络算法

浅析Word2Vec

烈酒焚心 提交于 2019-12-16 02:08:06
浅析Word2Vec 1 预备内容 1.1 NLP任务 1.2 Distributional Semantics 1.3 one-hot向量 1.4 softmax函数 2 浅析Word2Vec 2.1 概述 2.2 Skip-Gram模型 2.2.1 模型的细节 2.2.2 隐层 2.2.3 输出层 2.2.4 小结 2.3 Continuous Bag of Words模型(CBOW) 2.4 加速策略1——Hierarchical Softmax 2.5 加速策略2——Negative Sampling 2.5.1 Subsampling Frequent Words 2.5.2 负采样 Negative Sampling 2.5.3 选择负样本 2.6 加速策略小结 2.7 模型训练的一些参数设定 参考文献 1 预备内容 1.1 NLP任务 NLP的目标是设计算法让计算机去理解自然语言并去解决某些问题。 所有NLP任务德第一步,就是如何将单词表示为模型的输入。为了使得大多数NLP任务表现良好,我们首先需要能够用向量表示单词的相似性和差异性。有了这些词向量,我们可以简单的用向量自身的能力来计算相似性(如Jaccard, cos等) 1.2 Distributional Semantics A word’s meaning is given by the words that

莫烦Python神经网络技巧

杀马特。学长 韩版系。学妹 提交于 2019-12-15 05:15:28
一、验证神经网络 训练集70%,验证集30% 误差曲线,虽然后面误差逐步降低,但是类似于考试一样,考到90分容易,95分就很难呀。 准确度曲线,在分类问题直接看准确度曲线,在回归问题中,可以引用R2分数测量回归问题的精度,F1分数用来测量不均衡数据的精度。 正规化:很多时候模型会过拟合,过拟合类似于自负,就是把老师教的全会,出新的就不会了,解决过拟合可以通过L1\L2正规化,dropout方法。 过拟合时候一般公式y = Wx中W的值往往特别大或者特别小,那么原始的误差函数为cost = (预测值-真实值)平方, 为了不让W的值变化太大 ,L1在误差函数后面加上了abs(W),L2中误差函数后面是W的平方,。(这样误差函数加上这个平方不是会误差值更大吗???不是很明白) 想象随机产生类似于y = a +bx的点,但类似于噪声一样,那么y = WX中,x的次数越多,整条曲线的拟合效果越好,但是这样就会过拟合了,所以,我们也要考虑w的值。 上图中蓝圈上的误差值是一样的,黄色的同理,蓝圈的最里面的圆心误差值最小,那么 蓝黄的角点就是误差值最小(啥??) 要提到另外一点是, 使用 L1 的方法, 我们很可能得到的结果是只有 theta1 的特征被保留, 所以很多人也用 l1 正规化来挑选对结果贡献最大的重要特征. 但是 l1 的结并不是稳定的. 比如用批数据训练,

02 神经网络主要知识点

不羁的心 提交于 2019-12-15 00:48:04
02 - 神经网络主要知识点 目录引索 简单神经网络 感知机 神经网络特点 softmax 交叉熵 卷积神经网络 卷积 激活函数 池化 全连接 Tensorflow playground 演示 简单神经网络 神经网络就是模拟人的神经元进行信号(信息)收集、传递、处理的过程。 以人体对于温度的感知为例: 感知机 定义: 有n个输入数据,通过权重与个数据之间的计算和,比较激活函数结果,得出输出。 sum = w1x1+w2x2+w3x3+...... 应用: 容易解决与、或问题, 分类问题。 与问题: 所有输入为1,则为1 或问题: 只要有一个为1,则为1 亦或问题:相同为0,不同为1 (使用2条直线来划分,即2个感知机) 感知机与逻辑回归的对比 感知机是求和以后进行一个简单的阈值判断,而逻辑回归是通过一个sigmoid激活函数函数转化为[0,1]的值。 神经网络定义 当一个感知机不能解决问题的时候,会用多个感知机来构成网络。 感知机 --> 神经元 多个神经元构成的网络 --> 神经网络 神经网络是一个多分类问题,得出属于全部类别的每一个概率,谁的概率大,就是谁。 神经网络特点 由输入层(1个)、隐藏层(n个)、输出层组成(1个) 输入向量的维度和输入神经元的个数相同 (不是个数) 同一层的神经元之间没有连接 每个连接都有权重 (类似于线性回归) 第N层与N-1层的所有神经元全连接

神经网络从经典到卷积

浪子不回头ぞ 提交于 2019-12-12 10:24:43
title: 神经网络从经典到卷积 date: 2019-07-21 14:48:14 categories: - 深度学习 tags: - 神经网络 - 卷积神经网络 神经网络是一种模拟人脑神经结构的计算机程序结构,以期能够实现人工智能的机器学习技术。本文将介绍神经网络背后的概念,并介绍如何通过编程实现神经网络。 神经网络基础 机器可以迅速做出大量的算术运算,但是无法处理图像中包含的大量信息。我们怀疑图像识别需要特别的人类智能, 而这是机器所缺乏的,人工智能所讨论的问题正是如此。 简单的学习器 一台基本的机器的工作流程,如下图所示,接受了一个问题并作出相应的思考,得到一个输出结果。 所有有用的计算机系统都应该有一个输入和输出,并在输入和输出之间进行某种类型的计算。我们不能精确知道一些事务如何运行,但我们可以通过模型来估计其运作方式。改进这些模型的方法是通过输出值和真实值之间的比较得到偏移值,进一步调整参数。 以一个简单的分类器为例子,有二维坐标内有两个点系,聚集在两片区域,先要用一条直线将这两类特征分开,即为通过判断在直线的那一端来对这两类进行分类。 我们设计一条经过原点的直线 y = A * x 作为我们分类的依据。这条直线应该基于具体的坐标数值特征将两组点分割开来。 为简化工作,将实例简化为以下的表格。 实例 x坐标 y坐标 类别 1 3.0 1.0 A 2 1.0 3.0

常用的分类与预测算法

拟墨画扇 提交于 2019-12-07 21:51:39
根据挖掘目标和数据形式可以建立分类与预测、聚类分析、关联规则、时序模式、偏差检测。 算法名称 算法描述 回归分析 确定预测属性与其他变量间相互依赖的定量关系最常用的统计学方法 决策树 自顶向下的递归方式,在内部节点进行属性值的比较,并根据不同的属性值从该节点下分支,最终得到的叶节点是学习划分的类 人工神经网络 输入与输出之间关系的模型 贝叶斯网络 不确定知识表达和推理领域最有效的理论模型之一 支持向量机 把低维的非线性可分转化为高维的线性可分,在高维空间进行线性分析的算法 主要回归模型 回归模型名称 算法描述 线性回归 对一个或多个自变量和因变量之间的线性关系进行建模,可用最小二乘法求解模型系数 非线性回归 对一个或多个自变量和因变量之间的非线性关系进行建模。如果非线性关系可以通过简单的函数变换转化成线性关系,用线性回归的思想求解;不过不能转化,用非线性最小二乘法求解 Logistic回归 广义线性回归模型的特例,利用Logistic函数将因变量的取值范围控制在0和1之间,表示取值为1的概率 岭回归 一种改进最小二乘估计的方法 主成分回归 主成分回归是根据主成分分析的思路提出来的,是对最小二乘法的一种改进,它是参数估计的一种有偏估计。可以消除自变量之间的多重共线性 glm <- glm(y ~ x1 + x2 + x3 + x4 + x5 + x6 + x7 + x8,

整理的机器学习资源大全

假如想象 提交于 2019-12-07 14:48:16
本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。 伯乐在线已在 GitHub 上发起「机器学习资源大全中文版」的整理。欢迎扩散、欢迎加入。 https://github.com/jobbole/awesome-machine-learning-cn C++ 计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV —它提供C++, C, Python, Java 以及 MATLAB接口,并支持Windows, Linux, Android and Mac OS操作系统。 通用机器学习 MLPack DLib ecogg shark Closure 通用机器学习 Closure Toolbox —Clojure语言库与工具的分类目录 Go 自然语言处理 go-porterstemmer —一个Porter词干提取算法的原生Go语言净室实现 paicehusk —Paice/Husk词干提取算法的Go语言实现 snowball —Go语言版的Snowball词干提取器 通用机器学习 Go Learn — Go语言机器学习库 go-pr —Go语言机器学习包. bayesian —Go语言朴素贝叶斯分类库。 go-galib —Go语言遗传算法库。 数据分析/数据可视化 go-graph —Go语言图形库。 SVGo

《Neural Networks and Deep Learning》课程笔记

旧街凉风 提交于 2019-12-06 10:31:02
Lesson 1 Neural Network and Deep Learning 这篇文章其实是 Coursera 上吴恩达老师的深度学习专业课程的第一门课程的课程笔记。 参考了其他人的笔记继续归纳的。 逻辑回归 (Logistic Regression) 逻辑回归的定义 神经网络的训练过程可以分为 前向传播(forward propagation) 和 反向传播 (backward propagation) 的 过程。我们通过逻辑回归的例子进行说明。 逻辑回归是一个用于 二分类 (binary clasification) 的算法。比如说,我们有一张图片作为输入,比如下图中的猫,如果识别这张图片为猫,则输出标签1作为结果;如果识别出不是猫,那么输出标签0作为结果。而我们把输出结果用 \(y\) 表示就如下图所示。 图片在计算机中保存的话,我们需要保存三个矩阵,它们分别对应图片中的红、绿、蓝三种颜色通道。如果图片是 \(64\times64\) 像素的,那么这三个矩阵的大小都是 \(64\times64\) 。 为了把这张图片的像素值转换为特征向量 \(x\) ,我们需要把三个矩阵展开为一个向量,而这个向量的总维度用 \(n_x\) 表示的话,就是 \(n_x=3\times64\times64=12,288\) 。 符号定义: \(x\) :表示一个 \(n_x\) 维数据

RNN循环神经网络学习——概述

a 夏天 提交于 2019-12-06 06:50:51
  循环神经网络(Recurrent Neural NetWork,RNN)是一种将节点定向连接成环的人工神经网络,其内部状态可以展示动态时序行为。   循环神经网络的主要用途是处理和预测序列数据。循环神经网络最初就是为了刻画一个序列当前的输出与之前信息的关系。从网络结构上来看,循环神经网络会记忆之前的信息,并利用之前的信息影响后面节点的输出。也就是说,循环神经网络的隐藏层之间的节点是有连接的,隐藏层的输入不仅包含输入层的输出,还包括上一时刻隐藏层的输出。         如图为典型的RNN结构示意图。RNN主体结构的输入,除了来自输入层的x t 还有一个循环的边来提供上一时刻的隐层状态S t 。在每一时刻,RNN的模块在读取了X t 和S t-1 之后会产生新的隐藏状态S t ,并产生本时刻的输出O t 。RNN当前的状态是由上一时刻的状态S t-1 和当前的输入X t 共同决定的。对于一个序列数据,可以将这个序列上不同时刻的数据依次传入循环神经网络的输入层;而输出既可以是对序列下一时刻的预测,也可以是对当前时刻信息的处理结果。循环神经网络要求每一时刻都有一个输入,但是不一定每个时刻都有输出。   网络在t时刻接收到输入Xt之后,隐藏层的值是S t ,输出值是O t 。S t 的值不仅仅取决于S t ,还取决于S t-1 。可以用下面的公式来表示。       O t =g(V

国外程序员整理的机器学习资源大全

怎甘沉沦 提交于 2019-12-05 21:55:50
 英文原文: awesome-machine-learning   本文汇编了一些机器学习领域的框架、库以及软件(按编程语言排序)。    C++    计算机视觉 CCV —基于C语言/提供缓存/核心的机器视觉库,新颖的机器视觉库 OpenCV —它提供C++, C, Python, Java 以及 MATLAB 接口,并支持 Windows, Linux, Android and Mac OS 操作系统。    通用机器学习 MLPack DLib ecogg shark    Closure    通用机器学习 Closure Toolbox —Clojure 语言库与工具的分类目录    Go    自然语言处理 go-porterstemmer —一个 Porter 词干提取算法的原生 Go 语言净室实现 paicehusk —Paice/Husk 词干提取算法的 Go 语言实现 snowball —Go 语言版的 Snowball 词干提取器    通用机器学习 Go Learn — Go 语言机器学习库 go-pr —Go 语言机器学习包. bayesian —Go 语言朴素贝叶斯分类库。 go-galib —Go 语言遗传算法库。    数据分析/数据可视化 go-graph —Go 语言图形库。 SVGo —Go 语言的 SVG 生成库。    Java   

[转帖]一文搞懂神经网络

六眼飞鱼酱① 提交于 2019-12-05 16:19:30
一文搞懂神经网络 人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 https://ai.51cto.com/art/201911/606086.htm 【51CTO.com原创稿件】人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 一、什么神经网络 概念 所谓神经网络简单说就是包含多个简单且高度相连的元素的系统,每个元素都会根据输入来处理相关信息。神经网络是由节点(神经元)组成,这些节点相互链接,信息传入到输入层之后由多个隐藏层进行处理,处理完后再传递给输出层进行最终处理。这里所说的最终处理有可能是输出结果,也有可能是作为输入数据传入到另外的神经网络或者节点进行下一轮的处理。 在上面的内容中我们多次提到节点,那么什么是节点呢?节点也被称为神经元,是一个神经网络的基本单元。它通过接收输入的数据来计算出应该输出的数据,输入的数据可能来自于其他节点或者是外部的输入源