
pytorch 深度学习初体验
文章平均质量分 87
利用 pytorch 搭建简单的深度学习、机器学习网络实战内容
听风吹等浪起
随缘学习,正常摆烂
展开
-
手动实现逻辑回归算法(LogisticRegression)
逻辑回归的目标是预测二元分类问题,输出的结果是一个0或1的概率。为了将线性回归的输出(无限范围的实数)转化为一个概率,使用Sigmoid函数。Sigmoid函数将任何实数映射到0到1之间,适合用来表示概率:其中z=ax+by等等,这里的x、y是输入数据,也就是特征,a、b是权重,也就是特征的重要程度Sigmoid函数的输出可以理解为“属于类别1的概率”。当输出接近1时,模型认为数据点属于类别1的概率较高;当输出接近0时,模型认为数据点属于类别0的概率较高。损失函数:交叉熵损失。原创 2024-09-22 10:54:27 · 1307 阅读 · 0 评论 -
从零编写一个神经网络完成手写数字的识别分类(pytorch实现)
很多人都有这样的困惑:“我已经看过很多有关神经网络的书和视频了,但为什么感觉还是似懂非懂呢?那是因为,你从来都没有完整的、从头编写并训练过一个神经网络学习AI相关的算法,尤其是深度学习方向;真的不是学几个公式,了解几个名词概念就可以的。因为深度学习,是一门实践课程!举个例子:激活函数、损失函数、前向传播和反向传播,这些概念,相信大家都听过。几个相关的问题,大家看看能不能回答出来。激活函数必须要有吗?一般要放在哪里?是放在线性层计算后,还是放在线性层计算前?或者有没有都可以、放在哪都可以?原创 2024-07-13 12:57:36 · 2344 阅读 · 1 评论 -
手动完成反向传播的多层线性网络对sin的回归
从头开始搭建神经网络对sin的拟合原创 2023-03-27 15:04:01 · 1041 阅读 · 1 评论 -
pytorch 线性回归拟合sin函数
利用pytorch的神经网络库对sin函数进行拟合原创 2023-03-26 21:14:50 · 1562 阅读 · 2 评论 -
pytorch 多项式回归
因为我们打算建立一个y = a + bx + cx^2 的多项式模型去预测,所以我们需要三个参数,因为平方项乘积已经很大了,为了防止梯度爆炸,这里学习率先设置小一点。然后真实值y近似等于 1 + 2x + x^2 ,为了不是完全符合多项式,添加了一些随机噪声。首先,还是先定义我们的数据集,这里我们定义20个样本。训练的过程较为简单,还是遵循几个步骤。然后将样本点和预测曲线绘制出来就行了。样本点和我们预测的多项式曲线基本拟合。最后一步打印学习到的参数。原创 2022-10-20 20:46:40 · 956 阅读 · 0 评论 -
pytorch 实现逻辑回归
简单说明一下任务,想在一个正方形的区域内生成若干点,然后手工设计label,最后通过神经网络的训练,画出决策边界假设:正方形的边长是2,左下角的坐标为(0,0),右上角的坐标为(2,2)然后我们手工定义分界线 y = x ,在分界线的上方定义为蓝色,下方定义为红色。原创 2022-10-12 16:35:47 · 7317 阅读 · 11 评论 -
用反向传播实现线性回归
因为,w太小的话,那么在反向传播的时候,由于我们习惯学习率lr 设置很小,那在更新w的时候基本就不更新了。这里有两种解释,第一种是每次计算完梯度后,值会和之前计算的梯度值进行累加,而我们只是需要当前这步的梯度值,所有我们需要将之前的值清零。要绘制连续的图像,只需要给个定义域然后通过表达式 w * x +b 计算y就可以了,最后输出一下w和b,看看是不是和我们设置的w = 2,b =3 接近。首先,我们要建立的模型是线性的y = w * x + b ,所以我们需要先初始化w ,b。原创 2022-10-10 17:32:50 · 901 阅读 · 0 评论 -
Gradient Descent
目录1.Assignment2. Algorithm3. Gradient Descent(Batch)Gradient Descent(Batch)Code4. Stochastic Gradient DescentStochastic Gradient DescentCode5. Different of Gradient method假设我们的Training set 是建立一个model ,预测输入x = 4的时候,y是多少之前的穷举法虽然简单,但是有很多的问题。穷举顾名思义就是通过暴力手段找到所有原创 2022-06-26 13:53:16 · 307 阅读 · 0 评论 -
Linear Model(Exhaustive method 穷举法)
目录1. Assignment2. Function Set3. Loss Function4. Exhaustive method5. Code利用简单的线性模型实现对输入x的预测假设我们的Training set是其中应该还有一个x = 4,y =?作为我们的测试集(Test set)如果这里的y是可以看见的话,那么在训练模型的时候可能会根据测试集进行调整。那么,测试集就会失去本来的意义。相当于,想用训练好的模型去预测新的x,但是我们想要预测的x已经成为训练集的一部分了,那么预测就变得没有意义了。这里我原创 2022-06-26 11:13:01 · 718 阅读 · 0 评论