学习视频:B站 北大曹建
1.1人工智能三学派
1.行为主义:基于控制论,感知-动作控制
2.符号主义:用公式描述,理性思维
3.连接主义:仿脑神经元连接,实现感性思维,如神经网络
用计算机仿出神经网络连接关系,让计算机具备感性思维,需要:
1.准备数据,数据量越大越好,构成“特征——标签”对
2.搭建神经网络结构
3.通过反向传播,优化连接权重,直到模型的识别准确率达到要求,得到最优连线权重,保存模型
4.用保存的模型,输入新的数据,通过前向传播,输出概率值,概率值最大的一个即为分类和预测的结果
1.2神经网络设计过程
用神经网络实现鸢尾花分类
特征:花萼长、花萼宽、花瓣长、花瓣宽
|
输入层OOOO
输出层OOO
|
标签:0狗尾花鸢尾 1杂色鸢尾 2弗吉尼亚鸢尾
y=x*w+b
y是一行三列的输出,x是一行四列的输入特征,w是四行三列的权重,b是三个偏置项
y即为三种鸢尾花各自的可能性大小
w和b是随机初始化产生的,一组输入特征喂入神经网络后会产生预测值y,预测值y与标准答案y_之间的差距叫做损失函数,当损失函数最小时,w,b会出现最优值
损失函数有多种定义方法,最常见的是均方误差
现在,想找到一组w,b,使得损失函数最小,采用梯度下降法
梯度:函数对各参数求偏导后的向量,梯度下降的方向就是函数减小的方向,
梯度下降法就是沿损失函数梯度下降的方向寻找损失函数的最小值,这里引入学习率,学习率是梯度下降的速度,学习率设置过小,收敛过程会很缓慢,设置过大可能会在最小值附近来回震荡,甚至可能无法收敛
反向传播:从后向前,逐层求损失函数对每层神经元参数的偏导数,迭代更新所有参数
接下来用代码感受一下这个过程:pycharm->file->new project->使用默认路径,文件夹命名为AI->
确认环境为python3.7(TF2.1)->create->no->this window->AI文件夹右键->show in explorer->进入AI文件夹,把class1文件夹和里面的源码一同copy到AI文件夹->p13_backpropagation.py