Hinton-NN
文章平均质量分 76
silent56_th
大学生一枚,对机器学习、图像处理感兴趣,偶尔也会刷刷leetcode或者hihocoder。希望在这里可以和大家多多交流,互相学习。
展开
-
Hinton Nerual Networks课程笔记9d:贝叶斯方法入门
课程简介Geoffrey Hinton 2012年在coursera上开的网课:Neural Networks for Machine Learning。课程笔记这里主要对比的是Bayesian方法 和 频率法(最大似然法)。两者的本质区别在于Bayesian中参数也具有分布,而最大似然法中参数只是一个数。 从数学的角度,这两个理论不分优劣,已经进行了好多年的圣战了;从机器学习的角度,两个方法都有很原创 2017-03-06 14:28:50 · 763 阅读 · 0 评论 -
Hinton Neural Networks课程笔记2d:为什么感知机的学习算法可以收敛
感知机的学习算法非常简单,就是每次选取一个样本,如果预测错误,则根据样本真值,权重加减一个输入向量。这和一般使用的附有学习率的优化算法不一样,没有一个超参数,使其快速而且简洁。而为什么这样一个简单的算法可以work,Hinton在这节加以说明。注意此部分是直观层次的解释,不是严谨的数学推导。上一节有提到感知机的几何解释,其中有一个结论是在权重空间内,感知机的合法解是连续的,位于一个被多个超平面限制的原创 2017-08-14 22:40:28 · 1195 阅读 · 0 评论 -
Hinton Neural Networks课程笔记3b:线性神经元的误差曲面
这节其实是在为反向传播(BP)算法铺路,解释了delta rule(chain rule),然后举了个简单的例子,并做了一些评价。回顾感知机的部分,其学习算法简单快速,在数据集线性可分的情况下保证收敛。回顾感知机的学习算法,因为是Binary Threshold的激活函数,构建权重空间之后,每一个数据点对应于权重空间的一个超平面,该超平面对能够正确分类该数据点的权重空间做了限制;满足所有数据点限制的原创 2017-08-25 20:20:48 · 2800 阅读 · 2 评论 -
Hinton Neural Networks课程笔记3c:学习逻辑斯蒂回归
这节可以看做反向传播(BP)算法在逻辑斯蒂回归(logistic regression)中的应用。为了进一步拓展BP算法的应用,从线性神经元拓展到了非线性神经元。这里选取了最简单的非线性神经元:逻辑斯蒂输出神经元(logistic output neuron)。损失函数同样选用简单的误差平方和。逻辑斯蒂神经元(logistic neuron) 如上图所示,该神经元只是在线性神经元的输出后面加上一个原创 2017-08-26 20:33:56 · 755 阅读 · 0 评论 -
Hinton Neural Networks课程笔记3e:如何利用梯度值训练网络(学习策略和过拟合抑制)
这里只是开了个头,笼统的讲了讲如何利用梯度值训练网络,包括优化算法的部分以及防止过拟合的部分。1. 优化算法的部分这里只提到了三个部分(具体要到第六节才讲):batch相关的抉择、学习率相关的选择、优化算法的选择。 batch相关的选项有online(one case)、mini-batch(some cases)和full-batch(all cases)。那online典型的问题就是zig-z原创 2017-08-27 20:38:54 · 844 阅读 · 0 评论 -
Hinton Neural Networks课程笔记3d:反向传播算法(BP)
铺垫了几节课,终于讲到了反向传播。因为笔者已经在刷CS231n的时候学习过反向传播(BP)算法,想要直接查看BP操作的可以看之前的博客:CS231n课程笔记4.1:反向传播BP。这里记录一些BP历史、推导相关的知识点原创 2017-08-27 16:55:11 · 1458 阅读 · 0 评论 -
Hinton Neural Networks课程笔记quiz 3:带有隐层的非线性神经网络不一定能学习线性函数
这是做quiz 3遇到的问题,在论坛里面找到了差不多的答案,虽然有些文字游戏的意思,但确实是知识盲点,记录在此。问题Consider a neural network with one layer of logistic hidden units (intended to be fully connected to the input units) and a linear output unit.原创 2017-08-27 23:19:30 · 869 阅读 · 0 评论 -
Hinton Neural Networks课程笔记3a:线性神经元的学习算法
这节其实是在为反向传播(BP)算法铺路,解释了delta rule(chain rule),然后举了个简单的例子,并做了一些评价。回顾感知机的部分,其学习算法简单快速,在数据集线性可分的情况下保证收敛。回顾感知机的学习算法,因为是Binary Threshold的激活函数,构建权重空间之后,每一个数据点对应于权重空间的一个超平面,该超平面对能够正确分类该数据点的权重空间做了限制;满足所有数据点限制的原创 2017-08-24 16:00:07 · 777 阅读 · 0 评论 -
Hinton Neural Networks课程笔记4a:使用神经网络做逻辑推理
PPT中的标题是Learning to predict the next word(学习预测下一个单词),是从实际操作中得出的,但笔者认为这里使用神经网络做逻辑推理的例子很典型,所以拿出来做标题了。 例子简单讲就是给定n个三元组(A,R,B)作为训练集,然后给定A和R,神经网络输出B。这里涉及到学习A,R,B的特征表示,不仅要有意义,而且还有三者之间进行配合。例子简介:亲戚关系推断这节主要介绍一个原创 2017-09-08 14:30:51 · 3460 阅读 · 0 评论 -
Hinton Neural Networks课程笔记4b:神经网络是一种混合概念表示,既可以表示为特征向量,也可以表示为关系
这一节内容是神经网络在认知科学领域的探索,不是笔者擅长的领域,部分记录内容是笔者自己的思考演绎,正确性有待验证,欢迎指教。 主要讨论的是神经网络作为一种信息表示,同时具有特征向量表示,和关系表示的能力。Hinton说认知科学中关于概念(concept)表示方法有一个长时间的争论:表示为特征向量(feature vector),和表示为关系(relationship)。 特征向量就是把信息都是原创 2017-09-23 22:37:31 · 713 阅读 · 0 评论 -
Hinton Neural Networks课程笔记2e:感知机的局限性
感知机的局限性用一句话就是只能对线性可分的数据集收敛。基于感知机的局限性,体现出了特征提取的重要性,进而提出了使用隐层节点学习特征提取的重要性;然后稍微分析了一下学习特征提取的难度。1. 前提条件:特征提取固定首先明确感知机局限性的前提条件:特征提取固定。 如果特征提取的足够多,感知机可以对任意二值输入向量分类(任意有理数域信息都可以表示为二值向量,只需要特征提取为所有二值向量的表示(共2|x|2原创 2017-08-21 20:12:52 · 1861 阅读 · 4 评论 -
Hinton Neural Networks课程笔记2c:感知机的几何解释
此部分,Hinton从几何角度解释了感知机。这里不是使用权重作为超平面,输入数据作为空间内点的解释方式;相反,这里使用权重作为空间内点,每一维对应于一维权重,输入数据被看做constrain,限制合法权重的空间。 具体的,输入数据和权重维数相同(使用bias,而不是threshold),则每个输入数据可以对应于权重空间中的一个向量(起始点为原点),则对该数据的分类取决于权重向量(起始点为原点)和输原创 2017-08-12 11:32:13 · 1057 阅读 · 0 评论 -
Hinton Neural Networks课程笔记2b:第一代神经网络之感知机
感知机可以说是最简单最经典的神经网络模型了,简单而言就是对输入加权求和之后,得到一个评价值和一个threshold比较,从而进行分类。只能求取线性分类面,极大依赖于特征提取,但速度极快,适用于特征维度很大的情况。传统模式识别框架传统统计模式识别的标准流程分为三步,首先进行特征提取,然后学习一个加权求和,最后把求和得到的值与一个threshold比较,高于threshold即为正样本,低于则为负样本。原创 2017-08-10 16:09:52 · 1907 阅读 · 0 评论 -
Hinton Neural Network课程笔记9f:Mackay的设定正则化系数方法
课程简介Geoffrey Hinton 2012年在coursera上开的网课:Neural Networks for Machine Learning。课程笔记以下内容基于一些基础知识点:例如MAP,正则项的贝叶斯解释等等。此部分内容因为设计过多公式,暂时跳过,请参考Hinton Neural Network的课程9e或者自行搜索。原创 2017-03-06 15:34:15 · 925 阅读 · 0 评论 -
Hinton Neural Network课程笔记10a:融合模型Ensemble, Boosting, Bagging
课程简介Geoffrey Hinton 2012年在coursera上开的网课:Neural Networks for Machine Learning。课程笔记1. 模型融合的原因1.1. bias-variance trade-off当模型过于复杂而数据量不足的时候,就会出现过拟合问题。即学习了很多训练集内部的噪声等内容,在测试集结果不好。通过模型之间取均值可以较好的解决这个问题,尤其是模型预测原创 2017-03-06 21:51:59 · 1931 阅读 · 0 评论 -
Hinton Neural Network课程笔记11a: Hopfield Net的定义与应用
课程简介Geoffrey Hinton 2012年在coursera上开的网课:Neural Networks for Machine Learning。课程笔记本文只包括Hopfield的定义与应用,并不包括对其的深度理解,以及各种设置的insight。关于Hopfield的详细介绍,可以参考《现代模式识别(第二版)》(里面包括对于Hopfield Net其他角度的理解与应用,讲解也更加系统。个人原创 2017-03-29 16:45:14 · 4093 阅读 · 0 评论 -
Hinton Neural Network课程笔记11b: 利用Hopfield Net进行信息存储
课程简介Geoffrey Hinton 2012年在coursera上开的网课:Neural Networks for Machine Learning。课程笔记关于Hopfield的简单定义与应用,请参考Hinton Neural Network课程笔记11a: Hopfield Net的定义与应用。关于Hopfield的详细介绍,可以参考《现代模式识别(第二版)》(里面包括对于Hopfield原创 2017-04-18 14:23:48 · 1153 阅读 · 0 评论 -
Hinton Neural Network课程笔记1a:为什么需要机器学习?
课程简介hinton在coursera上开的网课,名称为Neural Networks for Machine Learning (University of Toronto)课程笔记第一节课就是介绍了一下Machine Learning的优势,以及给了几个相关的例子。1. Machine Learning的优势课中把Machine Learning和hard coded program做了一下对比原创 2017-07-21 16:31:57 · 924 阅读 · 0 评论 -
Hinton Neural Networks课程笔记1b:神经网络模拟的大脑机理
课程主要讲的是神经网络,而其初始的时候是模拟的人类大脑内部的机理。所以这部分介绍一些大脑内部的机理,主要是其被神经网络模拟的部分,以及其具有的优点。1. 为什么研究神经科学研究大脑机理。大脑庞大复杂而且脆弱,所以需要计算机模拟。理解基于神经和其适应性连接的平行计算。这种平行计算和传统的连续计算不同,应该具有和大脑相似的特性(比如适合完成认知类似的任务,但不擅长算术等)。模拟其结构来设计算法,解原创 2017-07-21 21:45:01 · 1535 阅读 · 0 评论 -
Hinton Neural Networks课程笔记1c:几种激活函数Linear、Binary、ReLU、Stochastic binary neurons
本章简单介绍了一些神经元的激活函数,包括Linear、Binary、ReLU和一些概率统计方面的变种。 笔者在刷CS231n的时候也记录了相关内容,贴在这里方便比较:CS231n课程笔记5.1:神经网络历史&激活函数比较为什么激活函数都相对简单首先说明idealize具有很多实际意义:某件事物本身是复杂的,其内可能包含许多没有应用价值的小细节,idealize可以去繁化简,从而可以更好的把握主旨;原创 2017-07-22 16:40:07 · 7622 阅读 · 0 评论 -
Hinton Neural Networks课程笔记1d:一个简单的机器学习实例
这里介绍一个用于识别数字的模型实例,输入是图像(即n个pixel),输出是数字类别。这里采用的模型是每个pixel对每个数字类别进行加权投票,最后票数多的类别获胜,其实就是一个线性函数。 那这里面有一个权重表示方法还是蛮有意思的,权重用和输入相同的一张图表示,位置对应于输入的pixel的位置,正负用黑白表示,权重绝对值大小用点的大小表示。这样就可以直观的查看权重了。 学习算法是一种早期机器学原创 2017-07-22 17:10:07 · 1052 阅读 · 0 评论 -
Hinton Neural Networks课程笔记2a:三种主要的神经网络框架之前向网络、循环神经网络和对称网络
这一节主要是介绍了三种主要的神经网络模型:前向网络、循环神经网络和对称网络前向网络 Feed-forward Neural Networks如果把神经元看做节点,把神经元的输出到另一个神经元的输入看做有向边,那么神经网络可以看做是一个有向图,一个有向图没有圈(circle)的神经网络就是前向网络。前向网络应用广泛,也十分经典,常见的CNN就是一个典型的前向网络;全连接网络则为相邻两层节点之间都有权重原创 2017-07-23 14:56:26 · 4555 阅读 · 0 评论 -
Hinton Neural Networks课程笔记4c:softmax输出神经元
这节主要介绍softmax,将其与squared error作对比,体现softmax优越性。squared error的问题squared error用来做分类器,通常是使用logistic输出神经元的输出与目标值做差取平方。 具体的,输入时z⃗ \vec{z},输出是y⃗ =e−z⃗ 1+e−z⃗ \vec{y} = \frac{e^{-\vec{z}}}{1+e^{-\vec{z}}},目标原创 2017-09-27 19:04:43 · 490 阅读 · 0 评论