自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 资源 (1)
  • 收藏
  • 关注

原创 LinkList

1

2022-07-25 15:13:15 658 1

原创 【无标题】

11

2022-07-25 11:17:35 113

原创 数学-位运算

位运算

2022-07-08 17:53:34 344

原创 2021-11-07

import torchclass SharedAdam(torch.optim.Adam): # params--待优化参数的iterable或者是定义了参数组的dict # lr--学习率(默认:1e-3) # betas–-用于计算梯度以及梯度平方的运行平均值的系数(默认:0.9,0.999) # eps–-为了增加数值计算的稳定性而加到分母里的项(默认:1e-8) # weight_decay--权重衰减(L2惩罚)(默认: 0) def __i

2021-11-07 10:28:45 398

原创 2021-11-1 9

import mathimport randomimport gymimport numpy as npimport torchimport torch.nn as nnimport torch.optim as optimimport torch.nn.functional as Ffrom torch.distributions import Normalimport matplotlib.pyplot as pltuse_cuda = torch.cuda.is_availabl

2021-11-01 20:34:17 169

原创 2021-10-31 8

网络模型根据输入可以更改形式# Hyper ParametersBATCH_SIZE = 32LR = 0.01 # learning rateEPSILON = 0.9 # greedy policyGAMMA = 0.9 # reward discountTARGET_REPLACE_ITER = 100 # target update frequencyMEMORY_CAPACITY =

2021-10-31 10:37:45 94

原创 2021-10-25 7.18

class BPModel(nn.Module): def __init__(self, n_x, n_y): super(BPModel, self).__init__() self.layer1 = nn.Linear(n_x, 10) self.layer2 = nn.Linear(10, 10) self.layer3 = nn.Linear(10, n_y) def forward(self, x):

2021-10-25 10:49:25 83

原创 2021-10-24 7.7

class Monte_Carlo_Policy_Gradient(): def __init__(self, env, num_episodes=200, learning_rate=0.01, reward_decay=0.95): self.nA = env.action_space.n # 动作空间数量 self.nS = env.observation_space.shape[0] # 状态空间数量 self.env = env # 环

2021-10-24 16:07:22 73

原创 2021-10-23 6.9

# 值函数近似器class Estimator(): def __init__(self): state_examples = np.array([env.observation_space.sample() for x in range(10000)]) # 对环境进行10000次采样,便于后续对状态state抽取特征 # 特征处理1:归一化数据状态为零均值和单位方差 self.scaler = Scaler() self.sca

2021-10-23 09:41:18 186

原创 2021-10-17 5.13

class Q_learning(): def __init__(self, env, num_episodes, discount=1.0, alpha=0.5, epsilon=0.1, n_bins=10): self.nA = env.action_space.n # 动作空间数 self.nS = env.observation_space.shape[0] # 状态空间数 self.env = env # 环境 sel

2021-10-19 15:16:10 74

原创 2021-10-17 5.7

class SARSA(): def __init__(self, env, num_episodes, discount=1.0, alpha=0.5, epsilon=0.1, n_bins=10): self.nA = env.action_space.n # 动作空间数 self.nS = env.observation_space.shape[0] # 状态空间数 self.env = env # 环境 self.num

2021-10-19 14:58:34 91

原创 2021-10-17 4.13

def create_random_policy(nA): A = np.ones(nA, dtype=float) / nA # 创建随即策略 def policy_fn(observation): # 策略函数 return A return policy_fndef create_greedy_policy(Q): def policy_fn(state): # 创建贪婪策略 A = np.zeros_like(Q[

2021-10-18 21:18:39 88

原创 2021-10-17 4.10

# 贪婪算法def epsilon_greedy_policy(q, epsilon, nA): def __policy__(state): A_ = np.ones(nA, dtype=float) # 初始化动作概率 A = A_ * epsilon / nA # 以epsilon设定动作概率 best = np.argmax(q[state]) # 选取动作值函数中的最大值作为最优值 A[best] += 1 - ep

2021-10-18 17:01:19 58

原创 2021-10-17 3.9

# 对于给定状态计算各个动作a的期望def clac_action_value(state, V, discount_factor=1.0): A = np.zeros(env.nA) # 初始化动作期望向量 for a in range(env.nA): # 遍历当前状态下所有动作 for prob, next_state, reward, done in env.P[state][a]: A[a] += prob * (reward + di

2021-10-18 15:01:34 66

原创 2021-10-17 3.5

def policy_iteration(env, policy, dicount_factor=1.0): while True: V = policy_evaluation(policy, env, dicount_factor) # 策略评估 policy_stable = True # policy标志位,当某个状态策略变化后,变为false for s in range(env.nS): # 遍历状态 old_a

2021-10-17 20:50:31 58

原创 2021-10-17 3.2

# discount_factor为折扣因子,theta为变化阈值,如果状态值函数的变化不大于阈值,则迭代停止def policy_evaluation(policy, environment, discount_factor=1.0, theta=1.0): env = environment V = np.zeors(env.ns) # 初始化全0的值函数向量用于记录状态值 for _ in range(10000): # 迭代开始 delta = 0

2021-10-17 20:05:09 55

原创 2021-10-17 2.1

# nA为动作空间数量, T为进行的总时间步def epsilon_greedy(nA, R, T, epsilon=0.6): r = 0 # 初始化累计奖励r N = [0] * nA # 对动作空间进行全零初始化 for _ in range(T): if np.random.rand() < epsilon: a = np.random.randint(q_value.shape[0]) else:

2021-10-17 17:37:14 60

原创 身份证ID号识别

def img_show(name, img): cv2.imshow(name, img) # 图像显示,第一个变量为窗口名称 cv2.waitKey(0) # 等待时间,0表示任意键终止 cv2.destroyAllWindows() # 关闭所有窗口class IDNumber(object): def __init__(self, tem_file_name): self.template = self.get_tem_nums(tem_f

2021-08-28 16:00:08 754

原创 opencv基础教程(唐宇迪)--04

直方图:均衡化原理:自适应均衡化:自适应直方图均衡化傅里叶变换:傅里叶变换import cv2 as cvimport matplotlib.pyplot as pltimport numpy as np# 直方图'''# mask = np.zeros(img.shape[:2], np.unit8)# mask[100:300, 100:400] = 255hist = cv.calcHist([img], [0], None, [256], [0, 256]) # N

2021-08-22 08:37:17 468

原创 opencv基础教程(唐宇迪)--03

import cv2 as cvimport numpy as np# 图像金字塔(下采样--缩小;上采样--放大)'''img_up = cv.pyrUp(img) # 1.将图像与高斯内核卷积;2.将所有偶数行和列去掉img_down = cv.pyrDown(img) # 1.将原图每个方向扩为原先两倍,用零填充;2.将放大后图像与高斯内核卷积,获得近似值'''# 拉普拉斯金字塔(滤波--缩小尺寸--放大尺寸--原图与新图相减)'''down = cv.pyrDown(img

2021-08-20 12:13:36 294

原创 opencv基础教程(唐宇迪)--02

图像阈值:高斯滤波:高斯滤波GaussianBlurCanny边缘检测:Canny边缘检测import cv2 as cvimport numpy as np# 图像阈值'''# cv.THRESH_BINARY 黑白二值化# cv.THRESH_BINARY_INV 黑白二值化反转# cv.THRESH_TRUNC 大于阈值部分设为阈值,否则不变# cv.THRESH_TOZERO 大于阈值部分不变,否则设为零# cv.THRESH_TOZERO_INV 第四种情况的反

2021-08-19 11:09:14 214

原创 opencv基础教程(唐宇迪)--01

import cv2 as cv# 图像基本操作'''# cv.IMREAD_COLOR(彩色图像);cv.IMREAD_GRAYSCALE(灰度图像)img = cv.imread('C:/Users/27706/Desktop/1.jpg', cv.IMREAD_GRAYSCALE) # opencv读取图像为BGR格式cv.imshow('image', img) # 图像显示,第一个变量为窗口名称cv.waitKey(0) # 等待时间,0表示任意键终止cv.destroyAl

2021-08-17 16:00:33 544

原创 机器学习--集成学习(公式结论)

本文记录周志华《机器学习》集成学习内容:***(文中公式内容均来自周志华《机器学习》)***集成学习通过构建并结合多个学习器来完成学习任务,一般结构为:先产生一组“个体学习器”,再用某种策略将他们结合起来。如果个体学习器均是同种类型,则这样的集成是“同质”,反之集成也可包含不同类型的个体学习器,此时这样的集成为“异质”。要获得好的集成,个体学习器应该既有一定的准确性,即学习器表现不能太坏(弱学习器),并且要有多样性,即学习器之间具有差异。目前集成学习方法大致分为两类:1.个体学习器间存在强依赖关系、

2021-08-16 10:10:33 430

原创 机器学习--贝叶斯分类器(公式结论)

本文记录周志华《机器学习》贝叶斯分类内容:***(文中公式内容均来自周志华《机器学习》)***贝叶斯决策论:是概率框架下实施决策的基本方法,对于分类任务来说,在所有相关概率都已知的理想情形下,贝叶斯决策论考虑如何基于这些概率和误判来选择最优的类别标记。机器学习所实现的根据训练样本估计后验概率P(c∣x)P(c|x)P(c∣x)主要有两种方法:1.先对联合概率分布P(x,c)P(x,c)P(x,c)建模,然后再由此获得P(c∣x)P(c|x)P(c∣x)(判别式模型,决策树、BP神经网络、支持向量机均属如

2021-08-12 16:58:34 596

原创 机器学习--支持向量机(公式结论)

支持向量机通过得到wTx+b=0{w^T}x + b = 0wTx+b=0划分超平面,来得到最优划分情况,即得到间隔最大的决策边界,而此时距离超平面(决策边界)最近的这几个样本点称之为支持向量(support vectors)。数学公式:样本空间中任意点x到超平面的距离可写为r=∣wTx+b∣∣∣w∣∣r = {{|{w^T}x + b|} \over {||w||}}r=∣∣w∣∣∣wTx+b∣​假设超平面可将样本正确分类,则当yi=+1,wTxi+b≥+1{y_i} = + 1,{w^T}{

2021-08-08 22:13:18 2186

原创 机器学习--决策树(公式结论)

本文记录周志华《机器学习》决策树内容:***(文中公式内容均来自周志华《机器学习》)***决策树是基于树结构进行决策问题的算法,一般来说,一棵决策树包括一个根节点、若干内部节点和若干个叶子节点(决策结果),其余每个节点则对应于一个属性测试。每个节点包含的样本集合根据属性测试的结果被划分到子节点中。从而实现以下的类似结构...

2021-08-04 12:26:44 3163

原创 机器学习--聚类(公式结论)

本文记录周志华《机器学习》聚类内容:***(文中公式内容均来自周志华《机器学习》)***聚类是无监督学习中应用最广的方法,是根据将样本划分为k个不相交的簇,其性能度量通常使用内部指标(直接考察聚类结果而不利用参考模型)。内部指标:通常为DB指数(DBI)和Dunn指数(DI),下式中avg(C)avg(C)avg(C)表示簇C内样本间平均距离,diam(C)diam(C)diam(C)表示簇C内样本间的最远距离,dmin⁡(Ci,Cj){d_{\min }}({C_i},{C_j})dmin​(Ci​,

2021-07-25 18:12:46 1786

原创 机器学习--线性模型(公式结论)

本文记录周志华《机器学习》线性模型内容:主要分为线性回归、对数几率回归和线性判别分析问题。一.线性回归问题线性回归目的为拟合出相应曲线公式注意在构建输入数据X时,为方便公式运算,可对数据集x扩充一项特征,其值为常数1,并令w=(w;b),此时可得到W和此时可将拟合公式变化为而在确定w和b两参数时,均方误差为回归问题的最常用评判优劣标准,即结论:二.对数几率回归问题此方法主要解决分类问题,将sigmoid函数将线性回归预测值与概率值联系起来,由于sigmoid函数值正是0-1,对

2021-07-24 11:38:43 594

原创 pytorch--多分类问题

本人也是小白一枚,主要是边学习边记录,打算把一些学到的算法整理一下,方便以后回顾。如果有不对的地方,希望大家指证,一起共同成长。目标:利用BP神经网络解决多分类问题库:pyorch、numpy根据此问题,主要为三部分:数据集的读取,模型的搭建,训练。一:数据集读取前提采用txt文件存储数据,例如下图(形式:特征数据和种类数间均为以空格或TAB键分隔,每行表示一组数据,其中最后一个数表示种类。采用pytorch中定义数据集的类Dataset(详解可参照这篇文章详解PyTorch中加载数据的方法

2021-07-14 23:05:08 2722 5

蒙特卡洛树搜索(MCTS)_井字棋(C++实现)

蒙特卡洛树搜索(MCTS)_井字棋(C++实现)

2021-11-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除