分类目录归档:学习

KNN 最近邻算法

K 近邻算法(k-nearest neighbors, KNN)是一种很基本的机器学习方法

算法步骤:给定样本,寻找最近的 K 个样本进行(分类/回归)预测

KNN的 3 个核心要素:

  • K 值的选择,较小时容易过拟合;较大时泛化性好,但训练误差大
  • 距离度量方式,比如欧氏距离、曼哈顿距离(常见距离测度
  • 决策规则,分类问题常用投票法,回归问题常用平均法

KNN 的主要优点:

  • 理论成熟,思想简单,既可以用来做(非线性)分类也可以用来做回归
  • 训练时间复杂度比支持向量机之类的算法低,仅为 O (n)
  • 和朴素贝叶斯之类的算法比,对数据没有假设,准确度高,对异常点不敏感
  • 对于类域的交叉或重叠较多

Read more

图特征工程_Python实现

前置知识: 特征工程_图

依赖环境:networkx

数据和环境准备:

import networkx as nx

G = nx.karate_club_graph()
# 空手道俱乐部 34 名成员的社交网络

图的平均度

def average_degree(num_edges, num_nodes):
    avg_degree = 2*num_edges/num_nodes
    avg_degree = int(round(avg_degree))
    return avg_degree

num_edges 

Read more

特征工程_图

前置知识:图论基础

代码实践:图特征工程_Python实现

节点中心性度量

度中心性 (Degrree Centrality):

  • 用节点的度来描述节点的重要性,即邻接节点数越多的节点越重要
  • 在不同网络间比较时,需要除以网络总节点数进行标准化

特征向量中心性 ( Eigenvector Centrality): $$ c_v=\frac{1}{\lambda}\sum_{u\in N(v)}c_u $$

  • 节点的重要性取决于邻接节点的重要性之和
  • 其本质对应一个图邻接矩阵的特征向量求解问题

介数中心性

Read more

PyG-图神经网络构建

PyG (PyTorch Geometric),基于 PyTorch 编写和训练图神经网络 (GNN)

  • 集成了各种针对图或其他不规则结构的深度学习方法
  • 包括易用小批量加载器,可在许多小型和单个巨型图上运行
  • 多 GP​​U 支持,torch.compile 支持,DataPipe 支持
  • 内置大量基准数据集、支持神经网络的

Read more

NetworkX-复杂网络分析

NetworkX 是一个 Python 包,常用于创建、操作和挖掘图/复杂网络

  • 支持以标准和非标准数据格式加载和存储网络
  • 生成多种类型的随机和经典网络;网络可视化
  • 分析网络结构、构建网络模型、设计新的网络算法

官方文档

本教程默认使用 NetworkX=3.2.1

1 图的基本操作

1.1 图的创建与类型

G = nx.Gr

Read more

模型融合 ModelMerge

基本概念

模型融合(model merging):

  • 将多个神经网络模型进行合并,得到一个融合模型
  • 优势在于节省计算/时间成本、无需训练数据(隐私保护)
  • 有时能取得类似多任务学习的效果,也可能具备更好的泛化性

思考:如何验证模型融合的合理性? (此处

Read more

图表示学习

图表示学习方法一般包括图嵌入表示和图神经网络

  • 图嵌入表示(Node Embedding)为每个节点学习一个嵌入表示(低维稠密向量),使得在原始网络中相似的节点,它们的嵌入表示也更为相似
  • 图神经网络(Graph Neural Networks)通过聚合邻域节点的信息来生成节点的表示

图嵌入表示

基于随机游走的图嵌入经典方法:

  • 等长度、无偏的随机游走:DeepWalk (2014 KDD Perozzi et al.)
  • 有偏的、局部与全局视

Read more

循环神经网络

循环神经网络(RNNs):具有隐状态、不同层参数共享的神经网络

常见的三种基础 RNNs :RNN、GRU、LSTM

RNN

隐变量模型:使用隐状态 $h_{t-1}$ 存储前 $t-1$ 步的序列信息 $$P(x_t|x_{t-1},...,x_1)\approx P(x_t|h_{t-1})$$ $$h_t=f(x_t,h_{t-1})$$ 循环神经网络(recurrent neural networks,RNNs) 是具有隐状态的神经网络

假设时刻 $t$ 的输入为 $X_t \in \mathbb{R}^{n\times d}$,对应的权重参数为 $W

Read more

卷积神经网络

卷积神经网络(CNN):引入了卷积操作的神经网络

普通卷积

严格来说,卷积层是个错误的叫法,因为它所表达的运算其实是互相关运算(cross-correlation)

二维互相关运算示例:

汇聚/池化层

池化(pool)层的优点:降低卷积层对位置的敏感性

常用池化层分两种:最大池化层和平均池化层,前者示例如下:

类似于卷积层,池化层也会有填充和步幅,使用大于 1 的步幅可以起到降维的作用

不同于卷积层,池化层在每个输入通道上是单独计算的,所以池化层的输出通道数等于输入通道数

膨胀卷积

膨胀(dilated)卷积,也称

Read more

时序预测建模

前置知识:时间序列分析时间序列距离测度

1 基础时序方法

均值回归:对历史一段时间的值取平均,作为未来每个时刻的预测

指数平滑:预测值是过去一段时间内观测值(或已预测值)的加权平均值

普通回归预测:借助时序相关特征(如节假日、周期性)实现建模预测

更多时序类衍生特征可参考 tsfresh概述

2 ARIMA

自回归(AR)模型:

  • 用变量自身的历史时间数据对变量进行预测
  • AR 模型需要满足时序平稳性的要求,时序间需要存在自相关性
  • p 阶 AR模型的公式定义如下:$y_t=\mu+\Sigma_{i=1}^p\gamma_iy_{

Read more