sheng的学习笔记-神经网络

基础知识

基础知识-什么是分类问题

分类问题是根据已有数据,判断结果是正的还是负的(1或者0),比如:
• 根据肿瘤大小,判断肿瘤是良性的还是恶性的
• 根据客户交易行为,判断是否是恶意用户
• 根据邮件情况,判断是否垃圾邮件
下图:横坐标是肿瘤大小,纵坐标:是肿瘤的可能性,可能性大于 50% ,结果是 1 (恶性),小于 50% 结果是 0 (良性),下图中最右边的那个,体积很大,是恶性的可能性非常大

肿瘤有70%可能性是恶性,30%可能性是良性,两者加和为1

基础知识-逻辑回归算法(logsitic regression)

逻辑回归算法是解决分类问题的一种,下面是逻辑回归模型,x是肿瘤大小(已知数据),theta是需要训练的参数,一个肿瘤根据两个数据可以知道h(是肿瘤的概率),下图z>0认为是恶性肿瘤

线性决策边界:线右边的是恶性,左边是良性

非线性决策边界:圈外面的是恶性,圈里面是良性

基础知识-多分类(multi-class classification)

多分类:上述讲的是二分类,结果只有1和0,以此扩展为多分类,预测结果有很多可能。

比如预测天气可能是:晴天?阴天?雨天?雪天?分别预测每种情况的可能性,比如是晴天的可能性70%,阴天可能性60%。。。找可能性最大的那个,作为本次数据的结果

基础知识-什么是神经网络

神经网络模拟人类大脑,将大量的输入信息,经过多个节点(每个节点处理一部分)处理(输入层),将结果作为输入传给下个节点(隐藏层,每个隐藏层含多个节点,可以有多个隐藏层),隐藏层的输出传给最后一个节点,并得到结果

适用于数据量大,特征个数多,计算复杂的场景,在语音识别,图像识别等场景应用很广

基础知识-神经网络应用:识别手写数字,智能驾驶

识别手写数字:通过图片转化成数字输入,经过神经网络算法,输出结果数字

智能驾驶:通过观察人类的行驶学习转向,根据摄像头采集的画面画质(车上装传感器),转化成数据,预测出接下来应该是向左,向右,直向行驶(采用神经网络算法,多分类问题应用)

下图左上角第一个横线是驾驶员实际操作,第二个横线是系统预测的操作

计算方法

计算方法-总体方法

实现方法:正向传播计算结果,反向传播更新theta(这里的w和b就是theta),直到损失函数最小

1 正向传播

2 计算导数推演

3 逻辑回归计算导数推演

计算实现

计算方法-代价函数( cost function )

肿瘤举例:有了很多肿瘤的数据,训练theta,让预测的结果跟实际结果最相近,当有一个新的肿瘤案例,根据theta就知道新的病例是恶性的可能性有多大,所以我们要做的是找到最佳的theta

过程是:随机初始化参数=>算出预测值=>算出差异(损失函数J)=>更新参数=>算出预测值。。重复第二步,直到损失函数足够小

预测值与实际值的差距(叫做代价函数J)越小,代表预测的越准确

参数每次减去J的导数和学习速率乘积,更新自己

计算方法-导数

导数:变量x偏移一个小的单位,结果y变化的倍数,是斜率

直线的斜率是恒定值,曲线的斜率在不同的点不一样

计算方法-正向传播

计算方法-反向传播

反向传播可以让损失函数朝着最小值前进

计算方法-反向传播-梯度检测(选看)

当反向传播和其他算法(梯度下降等)一起工作时,可能会产生一些BUG,导致看起来都正常(比如代价函数在每次梯度都在减小),但其结果的误差很大,这时候需要用梯度检测,注意:在使用梯度检测验证反向传播是正确之后,应该关闭梯度检测,因为这个检测很耗费时间

计算方法-反向传播-随机初始化(选看)

如果初始化的theta都是0,对于x2产生的a1和a2是一样的,在反向传播会导致theta1和theta2一样,也就是说红色的两个线参数一样,绿色的2个线参数一样(蓝色也一样),虽然它们的值都不是0

参考

吴恩达深度学习和机器学习,关于神经网络部分

相关推荐
羊小猪~~1 小时前
神经网络基础--什么是正向传播??什么是方向传播??
人工智能·pytorch·python·深度学习·神经网络·算法·机器学习
软工菜鸡1 小时前
预训练语言模型BERT——PaddleNLP中的预训练模型
大数据·人工智能·深度学习·算法·语言模型·自然语言处理·bert
哔哩哔哩技术2 小时前
B站S赛直播中的关键事件识别与应用
深度学习
deephub3 小时前
Tokenformer:基于参数标记化的高效可扩展Transformer架构
人工智能·python·深度学习·架构·transformer
___Dream3 小时前
【CTFN】基于耦合翻译融合网络的多模态情感分析的层次学习
人工智能·深度学习·机器学习·transformer·人机交互
极客代码3 小时前
【Python TensorFlow】入门到精通
开发语言·人工智能·python·深度学习·tensorflow
王哈哈^_^4 小时前
【数据集】【YOLO】【VOC】目标检测数据集,查找数据集,yolo目标检测算法详细实战训练步骤!
人工智能·深度学习·算法·yolo·目标检测·计算机视觉·pyqt
是瑶瑶子啦4 小时前
【深度学习】论文笔记:空间变换网络(Spatial Transformer Networks)
论文阅读·人工智能·深度学习·视觉检测·空间变换
wangyue46 小时前
c# 深度模型入门
深度学习
川石课堂软件测试6 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana