机器学习中使用的神经网络(四)
2015-05-02 22:20
309 查看
机器学习的一个简单例子
It is a very simple kind of NeuralNet and it is gonna be learning to recognize digits and you gonna be able to see how the weights evolved as we run a very simple learning algorithm.
A very simple learning algorithm for traing a very simple network to recognize handwritten shapes. The network has two layers of neurons. It has input neuron whose activities represent the intensity of pixels, and output neurons, whose activities represent the class.
Consider a neural network with two layers of neurons.
– neurons in the top layer represent known shapes.
– neurons in the bottom layer represent pixel intensities.
What we'd like is that when we show a paritcular shape. The output neuron for that shape get active. If a pixel is active what it does is its votes for particular shapes.Namely the shapes that contain that pixel.
• A pixel gets to vote if it has ink on it.
– Each inked pixel can vote for several different shapes.
• The shape that gets the most votes wins.
第一步:我们需要决定如何显示权值,it seems natural to write the weights on the connection between input unit and output unit. But , we are never to be able to see what was going on if we get that.We need a display in which we can see the values of thousands of weghts. So the idea is for each output unit, we make a little map. And int that map we show the strenght of connection coming from each input pixel in the location of that input pixel. And we show the strength of connection by using
a black or white blob, whose area represents the magnitude of the weight and the color representing the sign. So the initial weights that you see there are just small random weights
Now what we gonna do is show that network some data and get it to learn weights that are better than the random weights.
the way we are gonna look is when we show it an image, we are going to increment the weights from the active pixels in the image to the correct class.
If we just did that, the weights could get only bigger and eventually every class , so we need some way of keeping the weights under control.
What we gonna do is we will also gonna decrement weights from the active pixels to whatever class the network guesses.
初始化的权值:
训练中:
最终:
看每个单元的权值,有点像数字模板
Why the simple learning algorithm is insufficient
• A two layer network with a single winner in the top layer is equivalent to having a rigid template for each shape.
– The winner is the template that has the biggest overlap with the ink.
• The ways in which hand-written digits vary are much too complicated to be captured by simple template matches of whole shapes.
– To capture all the allowable variations of a digit we need to learn the features that it is composed of
It is a very simple kind of NeuralNet and it is gonna be learning to recognize digits and you gonna be able to see how the weights evolved as we run a very simple learning algorithm.
A very simple learning algorithm for traing a very simple network to recognize handwritten shapes. The network has two layers of neurons. It has input neuron whose activities represent the intensity of pixels, and output neurons, whose activities represent the class.
Consider a neural network with two layers of neurons.
– neurons in the top layer represent known shapes.
– neurons in the bottom layer represent pixel intensities.
What we'd like is that when we show a paritcular shape. The output neuron for that shape get active. If a pixel is active what it does is its votes for particular shapes.Namely the shapes that contain that pixel.
• A pixel gets to vote if it has ink on it.
– Each inked pixel can vote for several different shapes.
• The shape that gets the most votes wins.
第一步:我们需要决定如何显示权值,it seems natural to write the weights on the connection between input unit and output unit. But , we are never to be able to see what was going on if we get that.We need a display in which we can see the values of thousands of weghts. So the idea is for each output unit, we make a little map. And int that map we show the strenght of connection coming from each input pixel in the location of that input pixel. And we show the strength of connection by using
a black or white blob, whose area represents the magnitude of the weight and the color representing the sign. So the initial weights that you see there are just small random weights
Now what we gonna do is show that network some data and get it to learn weights that are better than the random weights.
the way we are gonna look is when we show it an image, we are going to increment the weights from the active pixels in the image to the correct class.
If we just did that, the weights could get only bigger and eventually every class , so we need some way of keeping the weights under control.
What we gonna do is we will also gonna decrement weights from the active pixels to whatever class the network guesses.
初始化的权值:
训练中:
最终:
看每个单元的权值,有点像数字模板
Why the simple learning algorithm is insufficient
• A two layer network with a single winner in the top layer is equivalent to having a rigid template for each shape.
– The winner is the template that has the biggest overlap with the ink.
• The ways in which hand-written digits vary are much too complicated to be captured by simple template matches of whole shapes.
– To capture all the allowable variations of a digit we need to learn the features that it is composed of
相关文章推荐
- 机器学习中使用的神经网络第五讲笔记
- 机器学习的大局观:使用神经网络和TensorFlow来对文本分类
- 机器学习中使用的神经网络(一)
- 使用机器学习预测天气(第三部分神经网络)
- 机器学习系列直播--使用对抗神经网络(GANs)生成猫
- 机器学习中使用的神经网络第二讲笔记:神经网络的结构和感知机
- 机器学习中使用的神经网络第四讲笔记
- 机器学习中使用的神经网络第六讲笔记
- 机器学习中使用的神经网络(二)
- 机器学习中使用的神经网络第七讲笔记
- 神经网络基础 - PyBrain机器学习包的使用
- (转)机器学习系列直播--使用对抗神经网络(GANs)生成猫
- 机器学习中使用的神经网络(六) --第二课
- 机器学习中使用的神经网络第十讲笔记
- 机器学习中使用的神经网络第一讲笔记:Introduction
- stanford coursera 机器学习编程作业 exercise 3(使用神经网络 识别手写的阿拉伯数字(0-9))
- 使用机器学习预测天气(第三部分神经网络)
- 机器学习中使用的神经网络(七)
- 机器学习中使用的神经网络第二讲笔记
- 机器学习中使用神经网络第三讲笔记