Goolgle
1、Define a set of function
2、Goodness of function
3、pick the best function
第一步中的function其实是一个神经网络
把逻辑回归前后连接起来,单独一个逻辑回归模型称作神经元,整体称作神经网络。
可以用不同的方法链接网络,得到了不同的结构,每一个逻辑回归单元都有自己的w和b,所有的参数集合起来,就叫做这个网络的参数
输入1 -1
输入0 0
可以将一个已知参数的network看作一个function,输入输出都是vector
若不知道参数,只是知道网络的结构,相当于定义了一个function set。到时候给定一个参数,就相当于一个function set中的一个function。
通常把神经网络画成如下所示:
从前往后传,所以叫feedforward
Deep = Many hidden layers
一连串的矩阵运算,可以使用GPU加速
隐藏层看作feature extractor特征提取,替代了之前的feature transformation
output layer是一个Multi-class classifier多类别的分类器,所以在最后一层也会加上一个softmax
黑了->1
没黑->0
神经网络的output用了softmax后,output代表了一个概率分布,output是对应到每一个数字的概率
这个network代表了一个可以拿来做手写数字识别的function set,只不过效果不同
一个好的function set很关键
Q:多少层?每层多少个神经元?
A:试错+直觉
Q:神经网络的结构可以自动地确定吗?
A:很少
Q:可以自己设计神经网络的结构吗?
A:可以,fully connect也可以,CNN
给定一组参数,一个img和一个label,对应一个target
,通过神经网络计算得到一个
,接下来,就利用
和
计算一个cross entropy,最后调整神经网络的参数,使得cross entropy 最小。
n笔data得到n个loss,求和得到total loss
在function set中找到一个function,最小化这个total loss(即,找一组参数w和b)
以此类推,,,
这就是所谓的学习。。
任何一个连续的function,都可以用一个hidden layer的网络来表示,只要有足够多的隐藏单元即可,所以把deep neural network变成了fat neural network,看起来很虚弱?2333