人工智能算法
文章平均质量分 56
谁最温柔最有派
这个作者很懒,什么都没留下…
展开
-
【强化学习】Asynchronous Advantage Actor-Critic(A3C)
1 A3C简介A3C全称Asynchronous Advantage Actor-Critic,顾名思义,它采用的是Actor-Critic的形式(需要回顾Actor-Critic的,可以点击这里【强化学习】Actor-Critic(演员-评论家)算法详解)。为了训练一对Actor和Critic,我们将他复制多份红色的,然后同时放在不同的平行空间中,让他们各玩各的。然后每个红色副本都悄悄告诉黑色的Actor-Critic自己在那边的世界玩的怎么样,有哪些经验值得分享。然后还能从黑色的Actor-Criti原创 2022-04-25 15:33:40 · 5615 阅读 · 0 评论 -
【强化学习】Deep Q Network深度Q网络(DQN)
1 DQN简介1.1 强化学习与神经网络该强化学习方法是这么一种融合了神经网络和Q-Learning的方法,名字叫做Deep Q Network。Q-Learning使用表格来存储每一个状态state,和在这个state每个行为action所拥有的Q值。而当今问题实在是太复杂,状态可以多到比天上的星星还多(比如下围棋)。如果全用表格来存储它们,恐怕我们的计算机有再大的内存都不够,而且每次在这么大的表格中搜索对应的状态也是一件很耗时的事。不过在机器学习中,有一种方法对这种事情很在行,那就是神经网络。我们原创 2022-04-24 15:34:06 · 6279 阅读 · 0 评论 -
【强化学习】Deep Deterministic Policy Gradient(DDPG)算法详解
1 DDPG简介DDPG吸收了Actor-Critic让Policy Gradient 单步更新的精华,而且还吸收让计算机学会玩游戏的DQN的精华,合并成了一种新算法,叫做Deep Deterinistic Policy Gradient。那DDPG到底是什么样的算法呢,我们就拆开来分析,我们将DDPG分成’Deep’和’Deterministic Policy Cradient’又能被细分为’Deterministic’和’Policy Gradient’,接下来,我们开始一个一个分析。1.1 Dee原创 2022-04-22 14:42:56 · 8183 阅读 · 0 评论 -
【强化学习】Actor-Critic(演员-评论家)算法详解
1 Actor Critic算法简介1.1 为什么要有Actor CriticActor-Critic的Actor的前身是Policy Gradient,这能让它毫不费力地在连续动作中选取合适的动作,而Q-Learning做这件事会瘫痪,那为什么不直接用Policy Gradient呢,原来Actor-Critic中的Critic的前身是Q-Learning或者其他的以值为基础的学习法,能进行单步更新,而更传统的Policy Gradient则是回合更新,这降低了学习效率。现在我们有两套不同的体系,A原创 2022-04-22 13:45:25 · 19674 阅读 · 0 评论 -
【强化学习】Q-Learning算法详解
1 Q-Learning算法简介1.1 行为准则我们做很多事情都有自己的行为准则,比如小时候爸妈常说:不写完作业就不准看电视。所以我们在写作业这种状态下,写的好的行为就是继续写作业,知道写完他,我们还可以得到奖励。不好的行为就是没写完就跑去看电视了,被爸妈发现,后果很严重。小时候这种事情做多了,也就变成我们不可磨灭的记忆。这和我们提到的Q-Learning有什么关系呢?原来Q-Learning也是一个决策过程,和小时候的这种情况差不多。我们举例说明。假设现在我们处于写作业的状态,而且我们以前没有尝试过原创 2022-04-20 13:05:13 · 22496 阅读 · 2 评论 -
机器学习十大算法简介
本文对机器学习的常用算法进行常识性的认识,介绍这些算法是什么以及如何应用(主要是针对分类问题)以及对单个算法的理解的简介。本文要介绍的十大算法如下:①决策树;②随机森林;③逻辑回归;④SVM(support vector machine);⑤朴素贝叶斯;⑥K最近邻算法;⑦K均值算法;⑧Adaboost算法;⑨神经网络;⑩马尔科夫。原创 2022-02-24 14:30:29 · 2176 阅读 · 2 评论 -
pytorch深度学习(10):卷积神经网络(CNN)并尝试在GPU上运行模型
以pytorch深度学习(9):加载MNIST数据集,使用Softmax进行多分类一文中的例子,使用卷积层神经元,并将模型和数据放在gpu上运行代码如下:import torchfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimport torch.optim as o原创 2021-12-01 14:04:18 · 2163 阅读 · 0 评论 -
pytorch深度学习(9):加载MNIST数据集,使用Softmax进行多分类
代码如下:import torchfrom torchvision import transformsfrom torchvision import datasetsfrom torch.utils.data import DataLoaderimport torch.nn.functional as Fimport torch.optim as optimbatch_size = 64transform = transforms.Compose([ transforms.ToTe原创 2021-12-01 10:30:57 · 685 阅读 · 1 评论 -
pytorch深度学习(8):加载数据集
以pytorch深度学习(7):处理多维特征输入–一文中的例子优化数据集加载,使用mini batch算法代码如下:import numpy as npimport torchfrom torch.utils.data import Dataset, DataLoaderclass DiabetesDataset(Dataset): def __init__(self, filepath): xy = np.loadtxt(filepath, delimiter=','原创 2021-11-30 16:52:06 · 168 阅读 · 0 评论 -
pytorch深度学习(7):处理多维特征输入
文章所需要的数据集diabetes.csv下载地址:https://download.csdn.net/download/shoppingend/52699628为免费下载资源,下载后只需将其放到自己的.py文件同一目录下数据定义:xy = np.loadtxt(‘diabetes.csv’, delimiter=’,’, dtype=np.float32)x_data = torch.from_numpy(xy[:, :-1])y_data = torch.from_numpy(xy[:, [-原创 2021-11-30 15:23:15 · 166 阅读 · 0 评论 -
pytorch深度学习(6):逻辑斯蒂回归(Logistic Regression)处理分类问题
数据 x_data = [[1.0], [2.0], [3.0]],分类:y_data = [[0], [0], [1]]代码如下:import torchx_data = torch.Tensor([[1.0], [2.0], [3.0]])y_data = torch.Tensor([[0], [0], [1]])class LogisticRegressionModel(torch.nn.Module): def __init__(self): super(Log原创 2021-11-30 11:14:50 · 680 阅读 · 0 评论 -
pytorch深度学习(5):pytorch实现线性回归y=w*x+b
数据 x_data = [1.0, 2.0, 3.0],y_data = [2.0, 4.0, 6.0]模型选择:y = w * x + b代码如下:import torch# 数据准备x_data = torch.Tensor([[1.0], [2.0], [3.0]])y_data = torch.Tensor([[2.0], [4.0], [6.0]])# 设计模型class LinearModel(torch.nn.Module): def __init__(self):原创 2021-11-30 09:52:16 · 1426 阅读 · 0 评论 -
pytorch深度学习(4):反向传播y=w*x
数据 x_data = [1.0, 2.0, 3.0],y_data = [2.0, 4.0, 6.0]模型选择:y = w * x代码如下:import torchx_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0]w = torch.Tensor([1.0])w.requires_grad = Truedef forward(x): return x * wdef loss(x, y): y_pred = forwar原创 2021-11-29 16:26:01 · 340 阅读 · 0 评论 -
pytorch深度学习(3):随机梯度下降y=w*x
数据:x_data = [1.0, 2.0, 3.0], y_data = [2.0, 4.0, 6.0]模型选择:y = x * w代码如下:x_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0]w = 1.0def forward(x): return x * wdef loss(x, y): y_pred = forward(x) return (y_pred - y) ** 2def gradient(x, y原创 2021-11-29 14:55:45 · 349 阅读 · 0 评论 -
pytorch深度学习(2):线性模型y=w*x+b
数据 x_data = [1.0, 2.0, 3.0],y_data = [5.0, 8.0, 11.0]模型选择:y = x * w + b代码如下:import numpy as npimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dx_data = [1.0, 2.0, 3.0]y_data = [5.0, 8.0, 11.0]def forward(x): return x * w原创 2021-11-29 13:25:50 · 1437 阅读 · 0 评论 -
pytorch深度学习(1):线性模型y=w*x
数据 x_data = [1.0, 2.0, 3.0],y_data = [2.0, 4.0, 6.0]模型选择:y = w * x代码如下:import numpy as npimport matplotlib.pyplot as pltx_data = [1.0, 2.0, 3.0]y_data = [2.0, 4.0, 6.0]def forward(x): return x * wdef loss(x, y): y_pred = forward(x) r原创 2021-11-29 11:31:33 · 696 阅读 · 0 评论 -
python深度学习:卷积神经网络图像分类(训练、测试和模型的加载保存)
简介本文内容是python官网上中文教程中的一个例子:实现一个卷积神经网络实现图像识别,所用到的数据集是cifar10,是一个十分类的图像分类数据集,每个对象的所属类别为1类,总共类别为10类,输入图像数据的维度是[1,1,32,32].下面是具体的代码实现部分。参考地址:https://pytorch.apachecn.org/#/docs/1.7/06代码实现1.了解数据下载cifar10数据集,获得训练集、测试集;将其用dataloader进行封装;选一条数据打印出来看看。import t原创 2021-11-25 11:31:43 · 7091 阅读 · 4 评论