- 博客(53)
- 收藏
- 关注
原创 五十三.模型融合
西瓜书中提出,集成学习的基学习器可以是同质的,也可以是异质的。就工业界来说,一般默认的RF、xgboost、catboost、lightGBM都是同质学习器。其中RF为stacking,基学习器为决策树,理论上可以异质;后三种为boosting,基学习器可改变,但依然是同质。根据子模型之间有没有关系,可以分为相关(boosting第i个子模型依赖于第i-1个子模型)和独立(stacking每个子模型是相互独立的)。相关的话,只能实现串行算法。独立的话,可以并行实现。
2024-01-08 15:59:47
924
原创 五十一.DQN原理和实战
经典强化学习方法的共同点是它们的求解过程都要,策略函数也可以通过一个表格来表示,所以也称这些方法为。,这类强化学习任务只占所有强化学习任务的很小一部分,,用经典强化学习方法很难求解。其次,表格的表征容量也是有限的,即使强化学习任务的状态和动作空间离散,如果状态-动作空间极大,则表格法也无能为力。其实,表格只是值函数和策略函数的一种表征方式,适用于小规模离散情况,,例如用深度神经网络来表征值函数或策略函数,这正是深度强化学习的由来。本章考虑状态空间连续、动作空间离散的强化学习任务。假设环境。
2023-09-18 19:45:30
662
原创 五十.Q-learning算法和实现
Q-learning是一种即model-free RL的形式,它也可以被视为异步DP的方法。它通过体验行动的后果,使智能体能够在马尔可夫域中学习以,而无需构建域的映射。。通过反复尝试所有状态的所有行动,它可以通过长期折扣奖励来判断总体上最好的行为。使用ϵ−greedyϵ−greedy⎩⎨⎧RandomActionifpϵargamaxQsaifϵp1QSA←QSARsaγa。
2023-09-18 19:45:16
161
原创 四十九.强化学习基础
1. 强化学习基础知识1.1 强化学习简介机器学习分为监督学习,非监督学习,强化学习(RL)。深度学习+强化学习即为深度强化学习(DRL)。强化学习没有事先准备好的数据标签作为监督来指导学习过程,只有奖励值,通常是延后给出。1.2强化学习的分类从不同的角度来看,强化学习有四种分类方法。1.2.1model-base和model-freemode-base:状态转移概率(state transitional probability)已知。model-free:状态转移概率(state tran
2023-09-18 19:44:07
385
原创 四十八.图卷积网络(GCN)
1.卷积神经网络CNN 在图像识别等任务中具有重要作用,主要是因为 CNN 利用了图片(信号)在其域中的局部平移不变性。由于图结构不存在平移不变性,所以 CNN 无法直接在图上进行卷积。1.1局部平移不变性CNN 之所以能成为图像领域的明珠却很少应用于其他领域原因是:「图片是一个规整的二维矩阵」,无论卷积核平移到图片中的哪个位置都可以保证其运算结果的一致性,这就是我们所说的「局部平移不变性」。CNN 的卷积本质就是利用这种平移不变性来对扫描的区域进行卷积操作,从而实现了图像特征的提取。而网络是不规整
2023-08-05 13:52:55
261
原创 四十七.模型和正态分布(BoxCox)
1.为什么数据要服从正态分布在深度学习和机器学习中,我们通常希望数据的分布为正态分布,因为在机器学习中,许多模型都是基于数据服从正态分布的假设(例如线性回归,它假设模型的残差服从均值为0方差为σ^2,标准化残差服从均数为0,方差为1 的正态分布)。因此,具有正态分布的数据会对模型的训练效果有着较为显著的提升。2.BoxCox变换对于不符合正态分布的特征,除了对数变换等,最常用的就是BoxCox变换。BoxCox变换是一个变换族。...
2022-04-18 09:49:56
1504
原创 四十六.风控评分卡模型关键点理解
风控评分卡模型一.评分卡模型选择一.评分卡模型选择评分卡模型一般会选择线性模型,逻辑回归是一种广义线性模型,评分卡中使用的就是逻辑回归,为什么要用逻辑回归模型?银行决定是否给个人或企业贷款的关键因素是对未来违约概率的预测,而逻辑回归能将特征信息投射到一个概率区间,...
2022-04-09 00:00:00
1128
原创 四十五.门控循环单元(GRU)简介和keras实现
目录1.网络结构(1)记忆体hth^{t}ht(2)候选状态ht^\widehat{h^{t}}ht(3)重置门和更新门1.网络结构U是LSTM的一种变体,可以说是简化版本的LSTM,但是预测效果也很不错,因此更常用。GRU使记忆体hth^{t}ht融合了长期记忆和短期记忆。(1)记忆体hth^{t}htht=zt⊙ht−1+(1−zt)⊙ht^h^{t}=z^{t}\odot h^{t-1}+(1-z^{t})\odot \widehat{h^{t}}ht=zt⊙ht−1+(1−zt)⊙ht
2021-09-07 22:13:33
1623
原创 四十四.长短期记忆网络(LSTM)过程和keras实现股票预测
目录1.概述2.LSTM结构(1)短期记忆(2)长期记忆(细胞态)(3)输入门、遗忘门、输出门1.概述传统循环网络RNN可以通过记忆体实现短期记忆进行连续数据的预测。但是,当连续数据的序列变长时,会使展开时间步过长,在反向传播更新参数的过程中,梯度要按时间步连续相乘,会导致梯度消失或者梯度爆炸。LSTM是RNN的变体,通过门结构,有效的解决了梯度爆炸或者梯度消失问题。LSTM在RNN的基础上引入了三个门结构和记录长期记忆的细胞态以及归纳出新知识的候选态。2.LSTM结构(1)短期记忆短期记忆
2021-09-04 11:05:27
1014
原创 四十三.用RNN进行股票预测
#载入数据import pandas as pdmaotai = pd.read_csv('./SH600519.csv')#读取茅台股票文件print(maotai.shape)输出:(2426, 8)#划分训练集和测试集training_set = maotai.iloc[0:2126, 2:3].values #提取0-2125列的第2行作为训练集test_set = maotai.iloc[2126:, 2:3].values # 后300天的开盘价作为测试集print(tr
2021-08-31 11:25:24
500
原创 四十二.循环神经网络(RNN)原理
目录1.网络结构1.网络结构全连接网络和卷积网络都属于前向反馈网络,模型的输出和模型本身没有关联。而循环神经网络的输出和模型间有反馈。t时刻网络结构:
2021-08-30 12:21:39
1238
原创 四十一.ResNet18
目录1.数据预处理(1)数据预览(2)归一化处理2.预测(1)搭建残差块(2)搭建ResNet18网络(3)预测1.数据预处理(1)数据预览训练集和测试集一共60000个样本,每个样本都是32×32×332\times 32\times 332×32×3的RGB图像,样本值0-255,标签有10种类别。from tensorflow.keras.datasets import cifar10from collections import Counterimport numpy as np(x_
2021-08-10 10:50:19
628
原创 三十九.卷积神经网络实现cifar10分类
目录1.数据预处理(1)导入数据(2)数据预览(3)数据标准化(4)样本展示2.预测(1)搭建模型(2)配置网络(3)断点存续(4)训练网络3.ACC曲线图与Loss曲线图1.数据预处理(1)导入数据from tensorflow.keras import datasetscifar10 = datasets.cifar10(x_train,y_train),(x_test,y_test)=cifar10.load_data()(2)数据预览from collections import C
2021-08-01 13:43:45
974
原创 三十七.使用TF2中的深度神经网络模型预测mnist数据集
目录1.数据预处理(1)数据集预览(2)标准化和数据维度调整(3)图片增强2.模型搭建与训练(1)模型搭建(2)断点存续(3)开始训练(4)模型结构信息3.图示效果4.预测(待续)1.数据预处理(1)数据集预览#训练集60000个样本,测试集10000个,样本特征值的范围0-255,类别一共有10种import tensorflow as tffrom collections import Counter(x_train,y_train),(x_test,y_test) = tf.keras.d
2021-07-24 12:52:12
507
原创 三十六.动量法和优化方法的原理
目录1.动量法1.动量法动量是物理学中的概念,一般指物体在它运动方向上保持运动的趋势,是该物体质量和速度的乘积。在深度学习中,动量法是用之前积累动量来代替真正的梯度,这样,每个参数实际更新差值取决于最近一段时间内梯度的加权平均值。当某个参数在最近一段时间内的梯度方向不一致时,参数更新幅度变小;梯度方向一致时,更新幅度变大,起到加速作用。一般而言,在迭代初期,梯度方向比较一致,动量法会起到加速作用;在迭代后期,梯度方向会不一致,在收敛值附近震荡,动量法起减速作用,增加稳定性。动量法的一般形式:(
2021-07-23 16:04:58
668
原创 三十五.常用激活函数总结
目录1.Sigmod函数(1)公式(2)TF2调用sigmod2.Tanh函数(1)公式(2)TF2调用Tanh3.Relu函数(1)公式(2)TF2调用Relu1.Sigmod函数(1)公式f(x)=11+e−xf(x)=\frac{1}{1+e^{-x}}f(x)=1+e−x1可以将数据映射到(0,1)(0,1)(0,1)区间。缺点:a.易造成梯度消失。b.输出非0均值,收敛慢。c.幂运算复杂,训练时间长。(2)TF2调用sigmodimport tensorflow as t
2021-07-22 16:40:30
85
原创 三十四.学习率调整原理和实现
目录1.学习率衰减(1)简介(2)常用公式(3)指数衰减学习率的实现2.待总结1.学习率衰减(1)简介从经验上看,学习率在一开始要保持大些来保证收敛速度,在收敛到最优点附近时要小些以避免来回震荡。比较简单的学习率调整可以通过学习率衰减来实现。(2)常用公式假设初始学习率为α0\alpha _{0}α0,第ttt轮的学习率为αt\alpha _{t}αt,常见的学习率衰减函数有一下几种:a.逆时衰减αt=α011+βt\alpha _{t}=\alpha _{0}\frac{1}{1+\
2021-07-22 10:58:09
257
原创 三十三.TF2自动梯度计算实现神经网络分类
#数据预处理#载入数据from sklearn.datasets import load_irisiris = load_iris()x,y=iris.data,iris.targetprint(x.shape,y.shape)输出:(150, 4) (150,)#打乱数据import numpy as npimport tensorflow as tfnp.random.seed(100)np.random.shuffle(x)np.random.seed(100)np.ra
2021-07-21 17:16:53
171
原创 三十二.TF2实现自动梯度计算
目录1.自动梯度计算2.通过自动梯度计算迭代求极值1.自动梯度计算#损失函数为平方损失,初值为3,损失函数的导数为二倍初值,则梯度为6import tensorflow as tfwith tf.GradientTape() as tape: w = tf.Variable(tf.constant(3.0)) loss = tf.pow(w,2)grad = tape.gradient(loss,w)print(grad.numpy())输出:6.02.通过自动梯度计算迭
2021-07-21 09:59:11
231
原创 三十一.Tensorflow2常用函数总结
目录1.创建张量2.将numpy数据类型转为tensor数据类型3.常用张量创建函数4.生成随机数5.数据类型转换6.行列操作7.可训练参数8.运算法则9.特征和标签配对10.独热编码11.自减12.返回指定维度的最值索引13.比较大小14.三目运算15.numpy生成随机数16.两个数组按垂直方向叠加17.生成网格数据1.创建张量import tensorflow as tfa = tf.constant([1,5],dtype=tf.int64)print(a)输出:tf.Tensor([1
2021-07-21 00:19:28
795
原创 三十.全连接神经网络原理
目录1.网络结构解析(1)图示(2)结构解析2.前向传播(1)前向传播原理(2)前向传播流程3.反向传播(1)反向传播原理1.网络结构解析(1)图示(2)结构解析图中结构一共有四层,最左边为输入层,中间两层为隐藏层,最右边为输出层。通常在说神经网络层数结构的时候不包含输入层,所以输入层也被称为第000层。上图为三层神经网络,图中的各参数代表的意义如下:aila_{i}^{l}ail:第lll层第iii个神经元的输出。zilz_{i}^{l}zil:第lll层第iii个神经元的未激活输出。
2021-07-19 18:31:03
2090
1
原创 二十九.集成学习之XGBoost原理和实现
目录1.XGBoost与GBDT的不同点2.XGBoost损失函数推导与优化1.XGBoost与GBDT的不同点(1)GBDT只支持CART决策树,XGBoost支持其他学习器。(2)XGBoost的损失函数相当于GBDT加正则化项。(3)GBDT只对误差部分的负梯度(一阶泰勒展开)拟合,二XGBoost对误差部分进行二阶泰勒展开,拟合更准确。(4)缺失值的处理不同。2.XGBoost损失函数推导与优化GBDT的损失函数为:Lt=∑i=1mL(yi,ft−1(xi)+ht(xi))L_{t
2021-07-17 12:17:06
98
原创 二十八.集成学习之梯度提升树(GBDT)的原理与sklearn实现
目录1.简介2.负梯度拟合1.简介GBDT也是前向分布算法,但是它的学习器只能用CART回归树。在提升树的系列算法中,前一轮迭代得到的强学习器是ft−1(x)f_{t-1}(x)ft−1(x),损失函数是L(y,ft−1(x))L(y,f_{t-1}(x))L(y,ft−1(x)),则本轮的目标是寻找到一个弱学习器ht(x)h_{t}(x)ht(x),使本轮的损失L(y,ft−1(x)+ht(x))L(y,f_{t-1}(x)+h_{t}(x))L(y,ft−1(x)+ht(x))最小。在
2021-07-16 16:16:57
502
原创 二十七.集成学习之Adaboost的原理和sklearn实现
目录1.简介2.二分类样本权重和弱学习器系数推导1.简介Adaboost为加法模型,学习算法为前向分步学习算法。作为经典的boosting算法,Adaboost通过计算前一个基学习器的误差率,更新后一个基学习器的系数和样本集的权重系数,最后再通过结合策略进行预测。理论上任何学习器都可以用于Adaboost。但一般来说,使用最广泛的Adaboost弱学习器是决策树和神经网络。对于决策树,Adaboost分类用了CART分类树,而Adaboost回归用了CART回归树。2.二分类样本权重和弱学习器系数
2021-07-15 17:41:43
438
原创 二十六.集成学习之随机森林(RF)的原理和sklearn实现
目录1.集成学习(1)概述(2)个体学习器(3)boosting(4)bagging(5)结合策略2.随机森林(1)简介(2)算法流程3.sklearn实现RF(1)默认参数的RF(2)网格搜索确定弱学习器个数(3)网格搜索确定最大深度1.集成学习(1)概述集成学习的思想是众人拾柴火焰高。训练若干个个体学习期,通过一个集合策略,最终形成一个强学习器。因此,集成学习主要有两个问题需要解决:一是如何得到若干个个体学习器;二是如何选择结合策略。(2)个体学习器个体学习器的组成分为同质和异质。同质指所有个
2021-07-13 23:54:16
569
原创 二十五.决策树之CART决策树的原理和sklearn实现
目录1.简介2.基尼系数3.CART分类树(1)数据集的基尼系数(2)数据集对于某个特征的基尼系数(3)连续值特征处理(4)离散值特征处理1.简介CART算法采用的是基尼系数作为划分依据。ID3、C4.5算法生成的决策树都是多叉树,而CART算法生成的决策树为二叉树。2.基尼系数基尼系数代表了信息的不纯度,基尼系数越小,不纯度越低,特征越好。在分类问题中,假设有KKK个类别,第kkk个类别的概率为PkP_{k}Pk,则基尼系数为:Gini(P)=∑k=1KPk(1−Pk)=1−∑k=1KPk
2021-07-13 11:42:37
2394
原创 二十四.决策树之ID3算法和C4.5算法原理
目录1.概述(1).划分依据(2)分配准则2.ID3算法(1)信息增益(2)ID3算法的流程(3)ID3算法的不足3.C4.5算法(1)处理连续值(2)信息增益比(3)缺失值的处理(4)正则化剪枝(5)C4.5的不足1.概述决策树算法主要有两个关键点:(1).划分依据当前节点应该用样本的哪个特征进行分裂。(2)分配准则子节点中应该包含哪些样本。2.ID3算法(1)信息增益信息增益又叫互信息,它衡量了已知一个变量的情况下,另一个变量不确定性减少的程度:I(X,Y)=−∑X,YP(X,Y)l
2021-07-12 17:39:41
396
原创 二十三.期望最大化(EM)算法的数学原理
目录1.Jesen不等式2.最大似然估计3.EM算法简介1.Jesen不等式如果f(x)f(x)f(x)是凸函数,xxx是随机变量,则:E(f(x))⩾f(E(x))E(f(x))\geqslant f(E(x))E(f(x))⩾f(E(x))特别的,当f(x)f(x)f(x)为严格凸函数,xxx为常量时,等号成立。2.最大似然估计通常在求概率分布时,已知条件(参数θ\thetaθ)推算结果。最大似然估计是已知结果,估计使这个结果成立的可能性最大的条件(参数θ\thetaθ)。最大似然估
2021-07-12 13:14:58
445
原创 二十二.最大熵模型的数学原理
目录1.最大熵原理2.特征函数3.最大熵模型推导1.最大熵原理最大熵原理是指在对随机变量的概率分布进行预测时,对未知概率不做任何假设。也就是说,预测概率分布为均匀分布时,熵最大,预测风险最小。2.特征函数数据集有mmm个样本,每个样本有nnn个特征和一个标签yyy:(x11,x21,x31,...,xn1,y1),(x12,x22,x32,...,xn2,y2),...,(x1m,x2m,x3m,...,xnm,ym)(x_{1}^{1},x_{2}^{1},x_{3}^{1},...,x_{n
2021-07-10 12:01:11
415
原创 二十一.支持向量机(SVM)原理和sklearn实现
目录1.支持向量机和感知机2.线性可分SVM之硬间隔最大化(1)函数间隔和几何间隔1.支持向量机和感知机感知机:通过误分类点距离之和最小,寻找一个分类超平面,将不同类别的数据分隔在超平面两侧,这样的超平面有无数个。支持向量机:最大化几何间隔寻找分类超平面,这样的超平面只有一个。2.线性可分SVM之硬间隔最大化(1)函数间隔和几何间隔定义样本点(xi,yi)(\mathbf{x}^{i},y^{i})(xi,yi)关于超平面(w,b)(\mathbf{w},b)(w,b)的函数间隔为:...
2021-07-09 17:33:48
474
原创 二十.朴素贝叶斯原理和sklearn实现
目录1.判别模型和生成模型2.贝叶斯公式3.朴素贝叶斯模型(1)先验概率(2)条件概率(3)联合概率分布(4)后验概率4.目标函数推导5.算法流程(1)先验概率(2)条件概率1.判别模型和生成模型判别模型:判别模型直接学习自变量xxx和因变量yyy之间的关系,这种关系可能是函数y=f(x)y=f(x)y=f(x),也可能是条件概率P(y∣x)P(y|x)P(y∣x)。生成模型:生成模型需要先求出自变量和因变量的联合概率分布P(x,y)P(x,y)P(x,y),再通过联合概率分布求出条件概率P(y∣x)
2021-07-07 11:13:56
423
原创 十九.降维之线性判别分析(LDA)原理和sklearn实现
目录1.LDA的数学原理(1)类间散度矩阵(2)类内散度矩阵(3)协方差矩阵2.LDA算法流程3.LDA与PCA的区别4.sklearn实现LDA(1)生成数据(2)PCA(3)LDA1.LDA的数学原理LDA是一种有监督的降维技术,它的每个样本输出都是有类别的。LDA的思想是投影后类间方差尽可能大,类内方差尽可能小。(1)类间散度矩阵类间散度矩阵为:Sb=∑i=1C(μi−μ)(μi−μ)T\boldsymbol{S}_{b}=\sum_{i=1}^{C}(\mu _{i}-\mu)(\mu
2021-07-06 00:39:28
1097
原创 十八.降维之主成分分析(PCA)原理和sklearn实现
目录1.PCA原理1.PCA原理PCA的目的是找出数据中最主要的方面,用数据最主要的方面来代替原始数据。于PCA的原理有两种解释,一种为最小投影距离,另一种为最大投影方差。这里从最大投影方差来推理PCA:(1)mmm个nnn维样本,将数据中心化后满足:∑i=1mxi=0\sum _{i=1}^{m}x^{i}=0i=1∑mxi=0(2)...
2021-07-05 13:03:16
452
原创 十七.降维之谱分解和奇异值分解
目录1.谱分解(1)特征值和特征向量(2)特征值分解(3)numpy实现特征值分解2.奇异值分解(SVD)(1)简介(2)SVD和PCA(3)numpy实现SVD1.谱分解谱分解又称为特征值分解,只有方阵才能进行谱分解。(1)特征值和特征向量方阵A\mathbf{A}A,如果存在非零向量x\mathbf{x}x和实数λ\lambdaλ,满足:Ax=λx\mathbf{Ax}=\lambda \textbf{x}Ax=λx则称λ\lambdaλ为A\mathbf{A}A的特征值,x\mathb
2021-07-02 11:46:55
1146
原创 十六.DBSCAN聚类原理和sklearn实现
目录1.基本概念2.算法流程3.sklearn实现DBSCAN(1)数据集1.基本概念DBSCAN:具有噪声的基于密度的聚类方法。从名字中就可以看出来,簇划分是根据样本密度来决定的。ϵϵϵ-邻域:样本xxx以ϵϵϵ为半径的范围内包含的所有样本的集合,这个集合称为xxx的ϵϵϵ-邻域。核心对象:样本xxx的ϵ-领域内样本数大于阈值MinPts,则xxx为核心对象。直接密度可达:若某点ppp在点qqq的ϵϵϵ-邻域内,且qqq是核心对象,则ppp由qqq直接密度可达。密度可达:有序列点q1,q2,q
2021-07-02 00:53:39
1412
原创 十五.K均值(K-means)聚类原理和sklearn实现
目录1.聚类2.k-means聚类3.算法流程4.K-means++算法5.Mini Batch K-means6.评估指标7.sklearn实现K-means(1)数据集(2)2簇k-means(3)4簇k-means(4)MiniBatchKMeans1.聚类聚类是一种无监督的算法。当样本没有标签只有特征时,可以用聚类进行分类。2.k-means聚类k-means聚类的基本思想是最小化平方误差,可以理解为让同一个簇内的点尽量靠近。假设样本可分为kkk个簇,分别是(C1,C2,C3,...,Ck
2021-07-01 11:25:29
807
原创 十四.K最近邻(KNN)原理和sklearn实现、网格搜索
目录1.概述2.算法流程(1)计算距离(2)选择最近邻点(3)预测3.KNN优化之KD树(1)KD树之建树(2)KD树之搜索4.sklearn实现KNN(1)数据预处理(2)预测和评价(3)网格搜索1.概述KNN的原理非常简单明了,根据离样本最近的kkk个点的标签来决定样本的类别或值。既可以用来分类,也可以进行回归。分类:多数表决。在数据集中,找出与样本特征最近的kkk个数据点,这些数据点中占比最多的类别即为要预测的样本的类别。回归:取平均值。在数据集中,找出与样本特征最近的kkk个数据点,取它们的
2021-06-30 11:11:44
629
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人