【机器学习】用PyTorch搭建一个多层感知机进行图像分类
下载数据集
下载“fashion_mnist”数据集,进行分类
123456789101112131415161718192021import torchvisionfrom torch.utils import datafrom torchvision import transformsdef load_data_fashion_mnist(batch_size, resize=None): """下载Fashion-MNIST数据集,然后将其加载到内存中""" trans = [transforms.ToTensor()] if resize: trans.insert(0, transforms.Resize(resize)) trans = transforms.Compose(trans) mnist_train = torchvision.datasets.FashionMNIST( root="./data", train=True, ...
【机器学习】用PyTorch搭建一个线性神经网络
模拟数据集
模拟一个y=w1x1+w2x2+b+ϵy = w_1x_1 + w_2x_2 + b + \epsilony=w1x1+w2x2+b+ϵ的数据集
1234567891011121314151617181920from torch.utils import dataimport torchdef init_linear_data(w, b, nums_example): """模拟一个有噪声的多元线性回归数据""" X = torch.normal(0, 1, (nums_example, len(w))) y = torch.matmul(X, w) + b y = y + torch.normal(0, 0.01, (nums_example, len(w))) return X, torch.reshape(y, (-1, 1))def load_array(data_arrays, batch_size, is_train=True): #@save " ...
【机器学习】如何用PyTorch搭建你的神经网络模型?
基础操作
自动求梯度
1234567x = torch.arange(4.0) # 生成一个张量tensor([0., 1., 2., 3.])x.requires_grad_(True) # 前两行等价于x=torch.arange(4.0,requires_grad=True)print(x.grad) # 默认梯度为是Noney = 2 * torch.dot(x, x) # 把x计算一下,给y求梯度。y.backward()print(x.grad) # tensor([ 0., 4., 8., 12.])
注意 :
12345678910# 在默认情况下,PyTorch会累积梯度,我们需要清除之前的值# 不清除时:y = x.sum() y.backward()print(x.grad) # tensor([ 1., 5., 9., 13.])# 清除时:x.grad.zero_() # 清楚x的梯度y = x.sum()y.backward()print(x.grad) # tensor([1., 1., 1., 1.])
分离计算
有时,我们希望将某些计算移动到记 ...
【量化金融】利用HIST模型挖掘股票概念进行预测
论文原文
模型代码
基本介绍
我们都知道,在股票市场中,“板块联动”效应十分的强,也就是说同一类型的股票常常同涨同跌。因此,为股票们预定义一些概念,比如他们参与哪些业务,是否属于某一行业,是否存在上下游供应链关系等等。但是这些预定义的概念不可能完全的描述股票的属性,不属于某一概念的股票也会受到其他概念热点新闻的间接影响。而且每只股票也一定会有自己独特的信息性质,造成市场中的所有股票都有独特的涨跌属性。
本文准备介绍和复现的HIST模型是Wentao Xu在2022年1月提出的,其优势是在模型提取“共享概念”中所包含的信息时,考虑了概念的不完备性和动态变化性。将股票的特征由以下三个部分来解释:
股票所属板块所包含的共有的预定义信息(Predefined Concept)。
预定义中不包含的隐含信息(Hidden Concept)。
每支股票独有的特质信息。(Individual Concept)。
用作者在文中给出的例子,苹果与微软都是科技板块的公司;亚马逊与微软都在做元计算相关的业务,这些都属于预定义概念(Predefined Concept)。而所谓的隐含概念(Hidden Co ...
【数理知识】矩阵函数的导数问题——多维函数的梯度
矩阵函数如何求导?
我们可以连结一个多元函数对其所有变量的偏导数,以得到该函数的梯度(gradient)向量。 具体而言,设函数f:Rn→Rf:\R^n\rightarrow\Rf:Rn→R的输入是一个nnn维向量x=[x1,x2,...,xn]T\textbf{x}=[x_1,x_2,...,x_n]^Tx=[x1,x2,...,xn]T,并且输出是一个标量。 函数f(x)f(\textbf{x})f(x)相对于x\textbf{x}x的梯度是一个包含nnn个偏导数的向量:
∇xf(x)=[∂f(x)∂x1,∂f(x)∂x2,...,∂f(x)∂xn]T\nabla_xf(x)=[\frac{\partial f(x)}{\partial x_1},\frac{\partial f(x)}{\partial x_2},...,\frac{\partial f(x)}{\partial x_n}]^T
∇xf(x)=[∂x1∂f(x),∂x2∂f(x),...,∂xn∂f(x)]T
假设x\textbf{x}x为nnn维向量,在微分多元函数时经常使用以下规则:
对 ...
【编程学习】C++中类的定义与使用
类
直接上代码,构建一个狗狗类:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include <iostream>using namespace std;class Dog { public: double dog_weight; int dog_age; string dog_name; Dog(string name); void run(void); void set(double weight, int age); private: double something;};//类的构造函数Dog::Dog(string name){ cout << "Dog is being created" << ...
【编程学习】C++中的关键字含义
数据类型关键字
关键字
含义
char
声明字符型变量或函数
wchar_t
声明宽字符类型,每个 wchar_t 类型占 2 个字节,16 位宽(汉字的表示)
int
声明整型变量或函数
float
声明浮点型变量或函数
bool
声明布尔类型变量或函数
double
声明双精度变量或函数
long
声明长整型变量或函数
short
声明短整型变量或函数
struct
声明结构体变量或函数
enum
声明枚举类型
signed
声明有符号类型变量或函数
union
声明共用体(联合)数据类型
unsigned
声明无符号类型变量或函数
void
声明函数无返回值或无参数;声明无类型指针
class
声明一个类,面向对象设计的基础
signed
声明有符号数(默认就是 signed,一般不会显式使用)
unsigned
声明无符号数,与signed相反。
private
被标明为 private 的字段只能在本类以及友元中访问。
public
被标明为 public 的字段可以在任何类中访问
...
【编程学习】C++中枚举类型enum
枚举类型
枚举类型(enumeration)是C++中的一种派生数据类型,它是由用户定义的若干枚举常量的集合。
如果一个变量只有几种可能的值,可以定义为枚举(enumeration)类型。所谓"枚举"是指将变量的值一一列举出来,变量的值只能在列举出来的值的范围内。
创建枚举,需要使用关键字 enum。枚举类型的一般形式为:
1234567enum 枚举名{ 标识符[=整型常数], 标识符[=整型常数], ... 标识符[=整型常数]} 枚举变量;
如果枚举没有初始化, 即省掉"=整型常数"时, 则从第一个标识符开始。
例如,下面的代码定义了一个颜色枚举,变量 c 的类型为 color。最后,c 被赋值为 “blue”。
12enum color { red, green, blue } c;c = blue;
默认情况下,第一个名称的值为 0,第二个名称的值为 1,第三个名称的值为 2,以此类推。但是,您也可以给名称赋予一个特殊的值,只需要添加一个初始值即可。例如,在下面 ...
【编程学习】C++中的类型转换
类型转换
类型转换是将一个数据类型的值转换为另一种数据类型的值。
C++ 中有四种类型转换:静态转换、动态转换、常量转换和重新解释转换。
静态转换(Static Cast)
静态转换是将一种数据类型的值强制转换为另一种数据类型的值。
静态转换通常用于比较类型相似的对象之间的转换,例如将 int 类型转换为 float 类型。
静态转换不进行任何运行时类型检查,因此可能会导致运行时错误。
实例
12int i = 10;float f = static_cast<float>(i); // 静态将int类型转换为float类型
动态转换(Dynamic Cast)
动态转换通常用于将一个基类指针或引用转换为派生类指针或引用。动态转换在运行时进行类型检查,如果不能进行转换则返回空指针或引发异常。
实例
1234class Base {};class Derived : public Base {};Base* ptr_base = new Derived;Derived* ptr_derived = dynamic_cast<Der ...
【个人博客】在Butterfly主题的Hexo个人博客中展示Mermaid绘图内容
使用方法
Butterfly主题下,使用mermaid进行绘图并展示十分的方便,打开项目的_config.butterfly.yml文件,将mermaid下的enable处参数设置为true。
12345678# mermaid# see https://github.com/mermaid-js/mermaidmermaid: enable: true # built-in themes: default/forest/dark/neutral theme: light: default dark: dark
在你的博客markdown文档中,在mermaid和endmermaid标签中添加你的mermaid代码。
123{% mermaid %}some mermaid statements{% endmermaid %}
示例
1234567891011121314151617{% mermaid %}stateDiagram-v2 [*] --> Activestate Active ...
【个人博客】使用Mermaid在Markdown中绘制流程图
Mermaid能绘制的内容
关键字
图类型
关键字
图类型
pie
饼状图
graph
图
flow
流程图
gantt
甘特图
classDiagram
类图
stateDiagram
状态图
journey
用户旅程图
类图(classDiagram)
甘特图(gantt)
其他类型图(pie、stateDiagram、journey)
Mermaid图(Graph)
相关参数
图方向
graph或graph TB或graph TD:从上往下
graph BT:从下往上
graph LR:从左往右
graph RL:从右往左
图形状
1234567graph id1[方形] id2(圆边矩形) id3([体育场形]) id4[[子程序形]] id5[(圆柱形)] id6((圆形))
graph
id1[方形]
id2(圆边矩形)
id3([体育场形])
id4[[子程序形]]
id5[(圆柱形)]
id6((圆形))
图线型
123456789``` ...
【个人博客】使用Mermaid在Markdown中绘制多种图
Mermaid能绘制的内容
关键字
图类型
关键字
图类型
pie
饼状图
graph
图
flow
流程图
gantt
甘特图
classDiagram
类图
stateDiagram
状态图
journey
用户旅程图
图(Graph)
类图(classDiagram)
甘特图(gantt)
饼状图
饼图示例
123456```mermaidpie title 一个饼状图 "1": 25 "2": 29 "3": 46
pie
title 一个饼状图
"1": 25
"2": 29
"3": 46
状态图
有点不想详细了解了,大家可以看下简单实用方法
1234567891011121314151617```mermaidstateDiagram-v2 [*] --> Activestate Active { [*] --> NumLockOff NumLockOff ...
【个人博客】使用Mermaid在Markdown中绘制类图
Mermaid能绘制的内容
关键字
图类型
关键字
图类型
pie
饼状图
graph
图
flow
流程图
gantt
甘特图
classDiagram
类图
stateDiagram
状态图
journey
用户旅程图
图(Graph)
甘特图(gantt)
其他类型图(pie、stateDiagram、journey)
类图
类间关系
参数
含义
参数
含义
<|--
Inheritance,继承
--
Link(Solid),硬链接
*--
Composition,构成
<..
Dependency,依赖
o--
Aggregation,聚合
<|..
Realization,实现
<--
Association,联合
..
Link(Dashed),虚连接
这些箭头都可以指向右边,如 <|..变为..|>即可。
类成员可见性
参数
含义
参数
含义
+
Public
-
Package/Internal
#
Protected
~
Package/ ...