脚本宝典收集整理的这篇文章主要介绍了感知机-动手学深度学习,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
给予输入,权重和偏差,然后感知机输出1或0,其实是个二分类问题
二分类:-1或1
线性回归:输出实数
softmax回归:输出回归概率
标记$y_i$有值为1和-1,分别对应着二分类中的两个类。如果$<w,x_i>+b$的值小于等于0,即预测的为-1对应的类,但是真实的$y_i$是1,二者相乘结果为非整数表示分类错误,就需要调整参数。
停止条件:如此反复直到所有的数据都分类正确。
等价于使用批量大小为1的梯度下降,每一次拿一个样本去算梯度做更新,不是随机梯度下降是因为感知机是一边又一边的去扫描数据,不是随机取值。损失函数使用max来判断是否分类正确,若正确则取值为0,常数的梯度
暂时不做证明,证明见这里
余量ρ使得存在一个分界面,该分界面对于所有的数据都分类正确。
r代表着数据大小,所以收敛的步数与r成正比。ρ是分界面的大小,如果分割面很大,那么就会把数据分类分的很开,就所需要的步数变少,所以步数和ρ成反比。
他只能产生线性分割面,不能拟合XOR函数。该问题直接导致了AI的第一次寒冬。
解决XOR问题,单线性模型是不行的,所以使用多层。蓝色的线根据x轴坐标分类,黄色的线根据y轴的坐标分类,之后再把蓝色和黄色的分类结果相乘即可得到正确的分类结果。即如果一个函数解决不了,那就先用几个简单地函数来解决,之后再对简单的函数进行分类解决。
隐藏层的大小是超参数。原因:输入的大小是不能改的,输出的大小取决于要分多少类,唯一能够设置的就是超参数的大小。
输入:一个n维向量。隐藏层:$W_1$是一个m*n的矩阵,偏移是一个m维的向量。输出层:为一个m维的向量,有多少个分类,就是多少维。
函数σ的结果是一个m*n的矩阵,该结果作为输入数据到输出层中,再经过输出层的运算得到结果。如果σ是线性的(比如σ=ax)那么输出层结果是一个线性函数,等价于一个单层的感知机。
sigmoid激活函数:
就是把σ给软化了
Tanh激活函数:
ReLU激活函数:
rectified linear unit,其实就是一个max而已,主要的好处就是算起来很快,不需要做指数运算。
指数运算是一个很贵的事情,在cpu上一次指数运算可能相当于上百次乘法运算,在GPU上好一点,但是还是很贵
定义和单类没有太大区别,就是输出层$W_2$变成了m*k,$b_2$变成了k维向量,然后对output做一次softmax
每层的大小一般都是越来越小的(也可以先扩张再缩小),如果input的维度比较高可以使用多层隐藏层慢慢压缩。
以上是脚本宝典为你收集整理的感知机-动手学深度学习全部内容,希望文章能够帮你解决感知机-动手学深度学习所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。