机器学习笔记本
文章平均质量分 91
记录经典机器学习算法,元学习,强化学习
tzc_fly
2017-2021:华中科技大学本科,2021-至今:中山大学博士
展开
-
第三十七课.宽度学习
目录前置内容宽度学习的基本结构:RVFLNN宽度学习系统岭回归前置内容深度学习计算量过大,成本过高,因此提出宽度学习(BLS,Broad Learning System)。我们首先要知道,BLS的网络结构不是固定的,就像第三十三课的级联相关网络。但是级联相关网络还是在往深处走,宽度学习才是真正往宽处走。级联相关网络的训练第三十三课的级联相关网络的训练可以展示为以下形式:其中,candidate neuron即为候选神经元(即要加入的新节点),训练过程如下:首先,候选神经元连结到所有的输入和原创 2022-05-30 14:45:22 · 4977 阅读 · 2 评论 -
第三十六课.可变形卷积
目录背景DCN实例效果背景视觉识别的一个关键挑战是如何适应物体尺度、姿态、视点和零件变形的几何变化或模型几何变换。但对于视觉识别的传统CNN模块,不可避免的都存在固定几何结构的缺陷:卷积单元在固定位置对输入特征图进行采样;池化层以固定比率降低空间分辨率;一个ROI(感兴趣区域)池化层将一个ROI分割成固定的空间单元;缺乏处理几何变换的内部机制等。这些将会引起一些明显的问题。例如,同一CNN层中所有激活单元的感受野大小是相同的,这对于在空间位置上编码语义的高级CNN层是不需要的。而且,对于具有精细定位原创 2022-05-26 15:08:47 · 4269 阅读 · 0 评论 -
第三十五课.基于贝叶斯的深度学习
目录贝叶斯公式基础问题贝叶斯深度学习与深度学习的区别贝叶斯神经网络与贝叶斯网络贝叶斯神经网络的推理与学习前向计算学习贝叶斯公式首先回顾贝叶斯公式:p(z∣x)=p(x,z)p(x)=p(x∣z)p(z)p(x)p(z|x)=\frac{p(x,z)}{p(x)}=\frac{p(x|z)p(z)}{p(x)}p(z∣x)=p(x)p(x,z)=p(x)p(x∣z)p(z)通常:p(z)p(z)p(z)为先验概率,zzz通常被定义为隐变量;p(z∣x)p(z|x)p(z∣x)为后验概率;p(x原创 2022-01-04 14:33:59 · 2245 阅读 · 0 评论 -
第三十四课.模糊神经网络
目录模糊理论Fuzzy SetFuzzy set operationsFuzzy Min Max Classifier应用:基于模糊神经网络的水轮机调速器PID控制模糊理论在本篇内容中,我们将了解模糊神经网络(Fuzzy Neural Network),在此之前,先了解模糊理论。现实世界总是充满不确定性。因此,在建模系统的时候,我们需要考虑这种不确定性。我们之前其实已经在概率论中接触过这种不确定的建模形式。类似于概率论,Zadeh开发了一种不同的不确定表示形式,即模糊集(Fuzzy Set)。Fuzz原创 2022-01-03 00:14:26 · 13978 阅读 · 2 评论 -
第三十三课.一些经典的优化策略与神经网络变种
目录全局最优与局部最优常用的三种优化技巧补充内容:快照集成经典网络变种小波神经网络模糊神经网络RBF网络ART网络SOM网络级联相关网络Elman网络Boltzmann机值得一看:Dendrite Net树突网络扩展内容全局最优与局部最优常用的三种优化技巧神经网络的表现与训练数据集的标注存在误差,网络的训练过程可以看作是一个参数寻优过程。基于梯度的搜索是最广泛使用的参数寻优方法。我们从某些初始解开始,迭代寻找最优参数值。每次迭代中,我们先计算误差函数在当前点的梯度,然后根据梯度确定搜索方向。比如,由于原创 2021-12-30 22:17:29 · 1317 阅读 · 0 评论 -
第三十二课.脉冲神经网络SNN
目录时间驱动与事件驱动时间驱动时间驱动与事件驱动时间驱动为了便于理解,我们可以将SNN(spiking neuron network)看作是一种RNN,它的输入是电压增量(电流与膜电阻的乘积),隐藏状态是膜电压,输出是脉冲。这样的SNN神经元具有马尔可夫性:当前时刻的输出只与当前时刻的输入,神经元自身的状态有关。可以用充电,放电,重置3个方程描述脉冲神经元:H(t)=f(V(t−1),X(t))H(t)=f(V(t-1),X(t))H(t)=f(V(t−1),X(t))S(t)=g(H(t)−Vth原创 2021-09-04 15:47:30 · 3748 阅读 · 0 评论 -
第三十一课.矩阵胶囊与EM路由
矩阵胶囊的前向计算矩阵胶囊在向量胶囊的基础上改变了胶囊的表示方式,矩阵胶囊由激活概率与姿态矩阵两部分构成一个元组单位。激活概率用于表示矩阵胶囊被激活的概率,姿态矩阵用于表示胶囊的姿态信息。在向量胶囊的前向计算中,动态路由被视为胶囊元的非线性激活函数,对于矩阵胶囊,胶囊元的前向计算采用EM路由作为非线性激活函数,EM路由是根据EM算法中Estep和Mstep组成的参数估计方法。矩阵胶囊元的前向计算过程如图。对于胶囊元jjj,输入多个低层矩阵胶囊,经过EM路由输出一个矩阵胶囊。其中,低层胶囊的姿态矩阵需要经过原创 2021-07-30 12:07:51 · 809 阅读 · 0 评论 -
第三十课.向量胶囊与动态路由
向量胶囊的前向计算神经元用于检测一种确定的特征,而胶囊在检测特征的同时更注重描述这个特征。向量胶囊使用单位向量表达某种具体的特征,向量的模长反映该特征存在的概率。神经元与胶囊元的示意如图所示,(a)是神经元的计算演示,neuron是一个带有可学习参数的非线性变换,用于激活神经元得到输出结果。(b)是胶囊元的计算演示,capsule是一个带有可学习参数的非线性变换,与neuron的不同在于输入输出从标量变成向量。神经元的激活只能反映该特征存在的概率,忽略了同类特征之间的差异性,是不变性的体现;而胶囊包含了区原创 2021-07-30 10:30:28 · 583 阅读 · 0 评论 -
第二十九课.回声状态网络ESN
目录Echo State NetworkEcho State Network回声状态网络(Echo State Network)又称为库计算,即Reservoir Computing,被视为是一种神经网络的扩展。Reservoir Computing 多用于处理时间序列的预测问题,比如下图:给定一个信号序列:u(0),u(1),...,u(Nt−1)\textbf{u}(0),\textbf{u}(1),...,\textbf{u}(N_{t}-1)u(0),u(1),...,u(Nt−1)给定原创 2021-07-12 16:47:34 · 2807 阅读 · 2 评论 -
第二十八课.AlphaGo实例分析
目录AlphaGo概述AlphaGo概述首先认识围棋中的一些内容:围棋的棋盘由19×1919\times 1919×19的网格组成,因此,包含361个点,围棋竞技的状态就是黑白棋子在空间上的排列。直观的进行建模,我们可以用19×19×219\times 19\times 219×19×2的张量表示当前状态,其中,19×19×119\times 19\times 119×19×1张量代表黑棋子方,其中的值0和1代表有无放棋子;同理,另外19×19×119\times 19\times 119×19×1原创 2021-07-08 15:54:35 · 750 阅读 · 0 评论 -
第二十七课.深度强化学习(二)
目录概述价值学习Deep Q NetworkDQN的训练:TD算法(Temporal Difference Learning)策略学习Actor-Critic Methods概述以超级玛丽为例:多捕捉金币,避开敌人,向前走,直到通关。我们要做的是写一个算法控制agent。我们可以有下面的方式:第一种做法是学习policy函数π(a∣s)\pi(a|s)π(a∣s),这属于强化学习中的策略学习(Policy-Based Learning),当我们获得策略后,进行以下操作:观测当前状态sts_{t}s原创 2021-07-06 21:09:14 · 215 阅读 · 1 评论 -
第二十六课.深度强化学习(一)
目录强化学习基本概念数学基础回顾强化学习中的专业术语强化学习中的随机性强化学习基本概念数学基础回顾首先,我们回顾随机变量Random Variable,随机变量是一个未知的量,它的值取决于一个随机事件的结果。以硬币投掷为例:我们将正面朝上记为0,反面为1,抛硬币是一个随机事件,抛硬币的结果记为随机变量XXX,随机变量有两种取值情况(0或1),并且我们可以知道抛硬币结果的概率。通常,我们用大写字母表示随机变量,用小写字母表示随机变量的观测值,观测值只是一个数值,没有随机性,比如我们抛硬币4次,可以原创 2021-07-04 21:32:43 · 619 阅读 · 3 评论 -
第二十五课.元学习MetaLearning
目录元学习介绍元学习介绍原创 2021-07-01 00:35:45 · 1156 阅读 · 2 评论 -
第二十四课.循环神经网络RNN
目录朴素RNN与LSTM从NN到RNNRNN结构LSTMRNN的扩展模型多层RNN双向RNN注意:本篇是RNN的内容补充,关于RNN模型和BPTT可回顾:pytorch笔记本-第五课.语言模型朴素RNN与LSTM从NN到RNN严格来说,全连接网络与卷积网络不适合对序列型数据进行建模,NN(Neural Networks)与ConvNN总是习惯将一个片段作为一个整体处理,没有考虑该片段以前的历史信息。因此提出循环神经网络 Recurrent neural network,最早的RNN又被称为朴素RNN原创 2021-06-24 16:18:11 · 618 阅读 · 2 评论 -
第二十三课.Kaggle交易预测
目录简介基于 lightgbm 的 Kaggle 交易预测baseline优化简介实验基于 Kaggle 竞赛数据,使用 lightgbm 预测银行客户在未来是否会进行交易,比赛地址(已结束):交易预测原始数据文件较大,故实验选用了 train.csv 中的 5 万条样本作为模型训练集(train.csv.gzip),1 万条样本作为模型测试集(test.csv.gzip);数据集保存在个人资源处;LightGBM 是使用基于树的学习算法的梯度提升框架。 它的设计是分布式且高效的,具有以下优点:原创 2021-02-17 15:53:03 · 617 阅读 · 0 评论 -
第二十二课.XGBoost
目录模型公式优化算法目标函数树的生成预测值的确定特征空间的划分使用 XGBoost 实现波士顿房价预测模型公式XGBoost 在集成学习中占有重要的地位,其具有理论的完备性和在比赛中的实用性:一般来说,XGBoost 属于加法模型,其基函数为回归决策树;XGBoost 的目标函数为损失函数+正则化项,且损失函数使用了二阶泰勒展开;XGBoost 使用前向分步算法,通过最小化目标函数来进行模型的优化与学习。XGBoost 的模型预测值是由 MMM 个基函数的预测值累加得到的:y^i=∑t=1原创 2021-02-17 13:56:21 · 643 阅读 · 1 评论 -
第二十一课.GBDT
目录集成学习:Boosting提升决策树梯度提升算法梯度提升决策树(Gradient Boosting Decision Tree,简称 GBDT),它属于集成学习中 Boosting 类的算法集成学习:Boosting集成学习是将多个模型的预测结果进行结合输出。关于集成学习,在第十四课介绍了随机森林,它属于 Bagging 类的算法。使用随机森林解决回归问题,只需要将所有回归决策树的预测值取平均即可;Boosting 类算法在解决回归问题时,只需要将个体学习器的预测值加权求和即可,如图所示:当原创 2021-02-16 12:16:58 · 301 阅读 · 1 评论 -
第二十课.CART
目录回归树的生成回归树的定义预测值的确定特征空间的划分算法流程分类树的生成分类树的对比总结基尼指数的计算算法流程CART剪枝ID3、C4.5 剪枝的不足ID3、C4.5 剪枝改进:CART 剪枝CART 剪枝的案例CART 剪枝过程图解CART 剪枝算法总结分类与回归树(classification and regression tree,简称 CART)既可以用于分类,也可以用于回归。与 ID3 和 C4.5 算法(回顾第十一课决策树)不同,CART 是二叉决策树,内部结点特征的取值为是和否,左分支的取原创 2021-02-16 01:28:34 · 670 阅读 · 0 评论 -
第十九课.基于sklearn的SVM人脸识别
目录数据集确定人脸的类别标记划分训练集和测试集与训练实验为基于sklearn的SVM人脸识别,使用 SVM 算法对戴眼镜的人脸和不戴眼镜的人脸进行分类,从而完成 识别戴眼镜的人脸 的任务;实验涉及的支持向量机参数计算原理,回顾第十八课;数据集人脸图像数据集 olivetti_py3.pkz,保存在个人资源处,加载数据:from sklearn.datasets import fetch_olivetti_faces# 从当前目录下加载人脸数据集,若没有则联网下载到当前目录下faces = fe原创 2021-02-14 00:26:44 · 3521 阅读 · 9 评论 -
第十八课.支持向量机
目录线性可分支持向量机模型公式函数间隔与几何间隔函数间隔几何间隔间隔关系优化算法对于支持向量机的内容,应当从简单到复杂依次学习:线性可分支持向量机线性支持向量机非线性支持向量机线性可分支持向量机模型公式线性可分支持向量机为:f(x)=sign(wx+b)f(x)=sign(wx+b)f(x)=sign(wx+b)x∈Rn,w∈Rn,b∈Rx\in R^{n},w\in R^{n},b\in Rx∈Rn,w∈Rn,b∈R实际上,线性可分支持向量机的模型表达式和感知机是一样的,只不过对于原创 2021-02-13 18:39:22 · 847 阅读 · 1 评论 -
第十七课.感知机
目录感知机算法感知机模型损失函数随机梯度下降算法流程感知机算法感知机模型感知机(perceptron)模型是一个简单的线性二分类模型,它是支持向量机与神经网络的基础。感知机模型的数学表达式如下:f(x)=sign(wx+b)f(x)=sign(wx+b)f(x)=sign(wx+b)w∈Rn,x∈Rn,b∈Rw\in R^{n},x\in R^{n},b\in Rw∈Rn,x∈Rn,b∈R对应实现:import numpy as npdef predict(x,w,b): '''原创 2021-02-11 15:38:44 · 665 阅读 · 3 评论 -
第十六课.基于K-means的图像分割
本实验基于图像,使用 K-means 算法进行像素聚类,将一幅图像分解成若干互不相交区域的集合,从而实现图像分割;本次实验分割的对象是遥感图像,图像来自GID(Gaofen Image Dataset)数据集;首先加载必要的包和模块:import numpy as npfrom PIL import Imagefrom sklearn.cluster import KMeansPIL(Python Image Library)是 Python 的第三方图像处理库,在 Python3 中只需要安装原创 2021-02-03 17:27:08 · 919 阅读 · 0 评论 -
第十五课.K均值算法
目录K均值算法原理K均值算法的改进:K-means++numpy实现K-meansK均值算法原理K均值(K-means)算法属于无监督学习中的聚类算法;聚类是根据样本特征向量之间的相似度或距离,将样本数据划分为若干个样本子集,每个子集定义为一个类;相似的样本聚集在相同的类,不相似的样本分散在不同的类。由上面的定义可知,聚类算法只使用了样本的特征向量xxx,并没有使用样本的标签yyy,故聚类算法属于无监督学习样本距离样本距离越小,样本的相似性越大。K均值聚类使用欧式距离的平方作为样本距离,计算公式如下原创 2021-02-03 15:57:31 · 4135 阅读 · 0 评论 -
第十四课.随机森林
目录算法流程随机森林的生成随机森林的预测算法流程随机森林的个体学习器为决策树,并且在 Bagging(回顾第十三课) 的基础上增加了随机属性选择随机森林的生成随机森林的预测原创 2021-02-02 21:49:48 · 691 阅读 · 0 评论 -
第十三课.Bagging集成学习
集成学习随机森林以决策树为基础,属于集成学习方法,所以应先了解集成学习。通俗地讲,集成学习就是利用集体的智慧做决策。使用集成学习的方法可以将多个模型相结合,提升模型的泛化性能,降低决策的风险。与单一模型相比,集成学习通常会产生更准确、更稳定的预测结果。集成学习首先需要有多个模型,每个模型作为个体学习器,然后通过结合模块进行输出,如图所示:根据个体学习器的生成方式,集成学习可以分为两大类:一类是Bagging,个体学习器之间可以同时生成(并行),没有前后依赖关系;另一类是Boosting,个体学习器必原创 2021-02-02 11:27:12 · 279 阅读 · 0 评论 -
第十二课.sklearn决策树实验
目录实验数据数据分析sklearn决策树分类实验数据本实验基于某信息公司的用户数据,使用决策树和可视化工具进行用户流失分析,从而预测哪类用户更容易流失,帮助公司制定相应的预防措施。实验所需数据保存在个人资源处;首先读取数据:import pandas as pd# 读取数据df = pd.read_csv('data.csv')# 将顾客ID设置为索引df.set_index(keys='customerID',inplace=True)# 数据维度df.shape # (7043原创 2021-02-02 00:02:08 · 699 阅读 · 1 评论 -
第十一课.决策树
目录决策树与特征选择决策树的形式决策树的学习特征选择决策树的生成与剪枝决策树与特征选择决策树是一种基本的分类与回归方法,下面主要介绍分类决策树的原理与应用。分类决策树既可以看作是一个规则集合,又可以看作是给定特征条件下类的条件概率分布。决策树的形式决策树常用三种形式表达:树形结构,规则集合,条件概率;树形结构某银行使用决策树模型决定是否同意申请人贷款,每来一个贷款申请人,需要先看他是否有房,然后看他是否有工作,根据这两个特征决定要不要给他贷款:规则集合由上面的决策树可知,从根结点到叶子结点原创 2021-02-01 16:06:17 · 839 阅读 · 0 评论 -
第十课.简单文本分类
目录文本处理基本处理方式正则表达式去除停用词文本表示单词表示词袋模型实验:基于朴素贝叶斯的垃圾邮件过滤文本处理通常来说,在使用一个算法进行文本分类之前,需要做一些文本获取、文本处理和特征提取的工作。其中,文本获取的方式有第三方提供的语料库、通过爬虫技术获取等;文本处理主要是分词、去停用词、标准化等,特征提取则是将文本表示成特征向量的形式基本处理方式字符串的连接>>> s1 = 'abc'>>> s2 = 'def'# 通过加号连接字符串>>&g原创 2021-01-31 14:33:39 · 750 阅读 · 0 评论 -
第九课.朴素贝叶斯分类器
目录朴素贝叶斯算法原理朴素贝叶斯参数估计极大似然估计贝叶斯估计朴素贝叶斯算法流程朴素贝叶斯算法原理若P(X)P(X)P(X)表示事件XXX发生的概率;P(Y∣X)P(Y|X)P(Y∣X)表示事件XXX发生的条件下,事件YYY发生的概率(简称条件概率);P(X,Y)P(X,Y)P(X,Y)表示事件XXX和事件YYY同时发生的概率(简称联合概率),则三者有如下的关系:P(X,Y)=P(X)P(Y∣X)=P(Y)P(X∣Y)P(X,Y)=P(X)P(Y|X)=P(Y)P(X|Y)P(X,Y)=P(X)P(Y原创 2021-01-28 00:35:26 · 545 阅读 · 5 评论 -
第八课.特征工程与CTR预测
目录特征工程缺失值处理特征归一化连续特征离散化离散特征one-hot编码ID特征Embedding特征构造方法AUC指标补充实验:LR预估CTR特征工程缺失值处理pandas 是为了解决数据分析任务而创建的,并考虑了缺失值的处理。在 pandas 中可以使用如下代码进行缺失值的判断:>>> import pandas as pd# 创建一个Series>>> s = pd.Series([1,2,3,None,5])# 输出s的缺失值数量>>&原创 2021-01-26 15:50:36 · 784 阅读 · 0 评论 -
第七课.Logistic回归算法
Logistic 回归,又名逻辑回归,它从线性回归发展而来,是一种广义的线性回归模型;该模型预测输出的是样本类别的条件概率分布,因而可以取概率值最大的类别作为分类结果,实质上是一个分类模型。目录算法原理sigmoid函数逻辑回归模型极大似然估计numpy实现逻辑回归算法改写矩阵形式数据加载模型实现实现对比算法原理sigmoid函数首先设想一个应用场景下的分类问题:某电商网站有着大量的商品,当用户看到这些商品时,有两个选择,一是点击,二是不点击。如果点击的类型是购买,则用户的这一行为将给商家带来直接的原创 2021-01-18 18:31:35 · 630 阅读 · 4 评论 -
第六课.模型评估与模型选择
目录导语模型评估回归任务的评估指标分类任务的评估指标过拟合现象过拟合的原因过拟合解决办法模型选择与调整超参数正则化留出法交叉验证网格搜索实验:线性回归预测股票走势实验说明特征提取与特征选择模型训练及测试模型评估数据可视化导语在某个特定的数据场景下,事先并不知道什么样的模型可以近似刻画数据的规律。而模型选择可以有很多,比如:线性回归(n 元一次函数)、多项式回归(一元 n 次函数)等。即便是使用线性回归模型,在设置不同的超参数(如学习率、迭代次数)进行训练时,得到的模型参数也会有差异。(模型参数不同,实际原创 2021-01-15 19:38:58 · 1609 阅读 · 0 评论 -
第五课.线性回归
目录线性回归原理实验:numpy实现线性回归numpy相关方法回顾加载波士顿房价数据集模型实现对比sklearn的实现线性回归原理分类与回归的区别是预测的 yyy 值是否连续,线性回归属于监督学习中的回归算法,用来预测连续的 yyy 值;在第二课提到的y=kx+by=kx+by=kx+b,斜率 kkk 在机器学习中的术语叫做特征 xxx 的权重(weight),截距 bbb 在机器学习中的术语叫做偏置(bias),像这样只有一个输入特征的线性回归模型叫做一元线性回归模型,有多个输入特征的线性回归模型叫做原创 2021-01-07 16:16:21 · 665 阅读 · 1 评论 -
第四课.KNN电影推荐
目录基于近邻用户的协同过滤基于近邻物品的协同过滤相似度计算-Jaccard相似度实验:基于KNN的电影推荐系统简介movielens 数据集模型实现基于近邻用户的协同过滤基于近邻用户的协同过滤即UserCF(User Collaborative Filtering),UserCF用于给用户 A 推荐和他有着相似观影兴趣的用户 B 喜欢观看的电影:用户 A 的好友用户 B 喜欢看电影 2、3、4,恰好电影 3 和电影 4 用户 A 没有看过,所以就可以把电影 3 和电影 4 推荐给用户 A;为什么说原创 2021-01-05 20:28:48 · 3331 阅读 · 2 评论 -
第三课.K近邻算法
目录KNN原理基本思想KNN原理基本思想KNN即K-NearestNeighbor,又叫K近邻;上图中,共有6个已知样本,类别与颜色对应,蓝色是一类,绿色是一类,现得到一个未知样本,要判断其类别;在图中,即样本点 X 应该属于哪种颜色?是蓝色还是绿色?根据经验,我可以根据 X 的相邻样本点来判定。例如,和 X 距离最近的三个样本点中绿色占多数,那么 X 就属于为绿色;和 X 距离最近的 5 个样本点中蓝色占多数,那么 X 就属于蓝色。这种判断方式正是 K 近邻算法的基本思想:根据 K 个近邻样本原创 2020-12-26 14:34:53 · 868 阅读 · 0 评论 -
第二课.初识机器学习
机器学习可应用在各个方面,本篇将在系统性进入机器学习方向前,初步认识机器学习,利用线性回归预测波士顿房价;原理简介利用线性回归最简单的形式预测房价,只需要把它当做是一次线性函数 y=kx+by = kx+by=kx+b 即可。我要做的就是利用已有数据,去学习得到这条直线,有了这条直线,则对于某个特征 xxx (比如住宅平均房间数)的任意取值,都可以找到直线上对应的房价 yyy,也就是模型的预测值。从上面的问题看出,这应该是一个有监督学习中的回归问题,待学习的参数为实数kkk和实数bbb(因为就只有一个原创 2020-12-25 21:01:44 · 278 阅读 · 0 评论 -
第一课.基本概念
目录监督与无监督监督学习:分类和回归无监督学习:聚类与降维泛化能力参数与超参数监督与无监督机器学习主要包括监督学习,无监督学习,强化学习;监督学习是指从标注数据中学习预测模型的机器学习问题。相反的,无监督学习是指从无标注数据中学习预测模型的机器学习问题;监督学习:分类和回归对于监督学习,如果标注是连续型数据,则问题属于回归问题;如果标注是离散型数据,则问题属于分类问题;连续和离散的判定标准是取值是否有限,取值有限的是离散型变量,取值无限的是连续型变量;无监督学习:聚类与降维无监督学习的应原创 2020-12-25 17:07:59 · 366 阅读 · 0 评论