深度学习之pytorch(二)

接下来从机器学习最简单的线性模型入手
线性模型就是***给定很多个数据点,希望能够找到一个函数来拟合这些数据点使其误差最小,比如最简单的一元线性模型***
在这里插入图片描述
一般函数表示的形式是:
在这里插入图片描述
而也可以用向量的形式表示:

f(x)=wTx+b

一维线性回归
首先介绍一下,均方误差:使用他们的差值平方之和,(取平方是因为把有正有负的距离都变成正的),有着很好的几何意义,对应了常用的欧几里得距离,基于均方误差最小化来进行模型求解的办法。
求解方法就是让其偏导数等于0,从而估计它的参数。

多维线性回归
用最小二乘法对w和b进行评估,其中也是需要进行矩阵的运算和求导操作。
在这里插入图片描述
多项式回归:
由于之前一些拟合出一条直线的函数精度欠佳,所以需要考虑多项式回归,也就是提高每个属性的次数,而不是只使用一次去回归目标函数,但是原理还是一样的,只不过这里用的是高次多项式而不是简单的一次线性多项式

分类问题
在监督学习中,主要就是回归问题和分类问题,之前的回归问题是希望预测结果是连续的,而分类问题的话预测的结果就是离散的类别。这个时候输入的变量可以是离散也可以是连续的。

分类的过程就是:监督学习从数据中学习一个分类模型或者分类决策函数,在用这个数据对新的输入进行输出预测。

有一个最著名的二分类算法——logistic回归
首先是logistic分布
他们的分布函数和密度函数是:
在这里插入图片描述
同理他的函数表达式是:
在这里插入图片描述
而由于函数很像“S”形,所以函数又叫做Sigmoid函数。

二分类的Logistic回归
他的目标就是找到一个区分度足够好的决策边界,是一个感知机的过程,通过决策函数的符号来判断属于哪一类,而logistic更进一步,通过找到分类概率P,与输入变量x的直接关系,然后通过比较概率值来判断类别。

简单的多层全连接前向网络
在神经网络的计算模型中,输入信号就是输入数据,模型的参数就相当于突出,然后输入信号传入神经元就像是输入的数据和模型参数进行线性组合,然后经过激活函数,最后传出模型。

激活函数
1.sigmoid函数
作用就是讲一个实数输入转换到0-1之间的输出,具体来说就是将越大的负值转换到靠近0,越大的正数转换到越靠近1。
但这个函数两个缺点:
1.会造成梯度的消失:在靠近1和0的两个端点的时候,梯度几乎变成0.
2.输出不是以0为均值的,所以导致经过他激活的函数输出之后,作为后面一层网络的输入的时候是非0均值的,而这个时候如果输入进入下一层神经元的时候全是正的,会导致梯度全是正的,而更新参数的时候永远都是正的。

2.Tanh函数
他相当于是sigmoid函数的变形,将输入的数据转换到-1-1之间,但是仍然存在梯度消失的问题,不过解决了第二个问题(以0为均值),所以会比之前那个函数要好

3.relu函数
这个函数在近些年变得越来越流行,他的数学表达式是f(x)=max(0,x),也就是简单地将大于0的部分保留,将小于0的部分变成0.
在这里插入图片描述
它的优点就是
1.相比较于之前的,他能极大的加速随机梯度下降法的收敛速度,因为他是线性的,不存在梯度消失的问题
2.相比较于之前的,他的计算方法更加的简单,只需要一个阈值过滤就可以得到结果,而不需要进行一大堆复杂的运算。

他的缺点是:
训练的时候很脆弱,比如一个很大的梯度经过这个函数,更新参数之后,会使得这个神经元不会对任何数据有激活现象。

4.leaky relu函数
他是relu激活函数的变式,主要就是为了修复ReLU激活函数中训练比较脆弱的这个缺点,不将x<0的部分变成0,而给它一个很小的负的斜率。

5.Maxout函数
他的优点是ReLUj激活函数的优点,同时也避免了ReLU激活函数训练脆弱的缺点,但是也有一个缺点,就是加倍了模型的参数,导致模型的存储变大。

### 回答1: 深度学习是一种强大的机器学习技术,而PyTorch是一种流行的深度学习框架,它可以用于计算机视觉任务,如图像分类、目标检测和图像分割等。PyTorch提供了灵活的工具和库,使得计算机视觉任务的实现变得更加容易和高效。通过深度学习PyTorch实战计算机视觉,我们可以学习如何使用PyTorch来构建和训练深度神经网络,以及如何将其应用于计算机视觉任务。这将有助于我们更好地理解深度学习和计算机视觉领域的最新发展。 ### 回答2: 深度学习在计算机视觉领域的应用越来越广泛,而PyTorch作为一个优秀的深度学习框架,能够帮助我们更高效地进行计算机视觉的应用。 首先,PyTorch具有独特的动态图特性,可以快速构建和修改计算图,同时可以使用Python的所有优秀功能。这种动态图的设计理念使得PyTorch可以更加灵活的进行计算图的优化和修改,使得模型的训练更加高效。 其次,PyTorch的设计理念非常自由和模块化,有着非常完善的高层次抽象。在计算机视觉领域中,我们可以使用PyTorch高层次API来快速地搭建卷积神经网络、池化操作、全连接层、归一化层等等,并进行简便的调试和训练。 除此之外,在计算机视觉领域中,我们还可以通过使用预训练模型,进行迁移学习和微调,有效提高模型的精度和效率。PyTorch提供了非常好的API和工具,方便我们加载、设置和使用现有的预训练模型。 最后,PyTorch的社区十分活跃,有着多种学习资料、代码库、论文解读等,任何学习者或实践者可以通过这些社区资源来学习和精进技能。 总之,PyTorch实战计算机视觉非常适合想要快速入门计算机视觉或者提高深度学习技能的从业人员。它提供了灵活、高效、模块化的API,可以方便地进行计算图构建和修改,支持多种优秀的预训练模型并且有着丰富的社区资源。 ### 回答3: 深度学习是当今计算机科学领域的一个热门话题,而pytorch则是其中受欢迎的深度学习框架之一。pytorch在计算机视觉方面应用广泛,实现了诸如卷积神经网络、循环神经网络等经典模型,方便用户进行图像分类、目标检测等任务。 深度学习pytorch实战计算机视觉,不仅需要对pytorch框架有所掌握和了解,还需要对计算机视觉技术有一定的认识和实践经验。 首先,要了解基本概念,比如深度学习pytorch、计算机视觉等。深度学习是机器学习的一种技术,通过多层神经网络模拟人脑的学习过程,实现自动化的数据处理和模式识别任务。PyTorch是一个基于Python的科学计算库,是深度学习框架中颇具实力的一款。计算机视觉则是指机器能够通过数字图像和视频进行智能判断和分析的能力,是深度学习在实际应用中的一个重要领域。 其次,需要熟练掌握pytorch框架的使用方法。包括pytorch的安装、常用模型的搭建及训练、数据集的处理等。其中,数据集的处理是计算机视觉任务中较为复杂的一部分,需要对数据集进行预处理、划分、增强等操作,以提高模型的训练效果和泛化能力。 最后,需要进行计算机视觉实践项目。可以选择一些基础的计算机视觉任务,比如图像分类、目标检测等,并结合pytorch框架进行实现。实践过程中需要注意模型选择、参数调优、数据分析等,且要对实验结果进行分析和总结。 总之,深度学习pytorch实战计算机视觉需要掌握深度学习pytorch、计算机视觉等基础理论知识,熟悉pytorch框架的使用方法,并进行实践项目以巩固知识和技能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值