随笔分类 -  机器学习

摘要:论文:Attention is All You Need:Attention Is All You Need1. Transformer 整体结构首先介绍 Transformer 的整体结构,下图是 Transformer 用于中英文翻译的整体结构:可以看到transformer由Encoder和D 阅读全文
posted @ 2024-08-31 12:20 牛犁heart 阅读(65) 评论(0) 推荐(0) 编辑
摘要:ZeRO:一种去除冗余的数据并行方案 目前训练超大规模语言模型主要有两条技术路线: TPU + XLA + TensorFlow/JAX GPU + Pytorch + Megatron + DeepSpeed 前者由Google主导,由于TPU和自家云平台GCP深度绑定,对于非Googler来说并 阅读全文
posted @ 2024-08-04 19:24 牛犁heart 阅读(544) 评论(0) 推荐(1) 编辑
摘要:批量归一化(BN)如何实现?作用 实现过程: 计算训练阶段mini_batch数量激活函数前结果的均值和方差,然后对其进行归一化,最后对其进行放缩和平移。 作用: 可以使用更高的学习率进行优化 移除或使用较低的dropout 降低L2权重衰减系数 调整数据的分布,不考虑激活函数,它让没一层的输出归一 阅读全文
posted @ 2023-03-04 20:47 牛犁heart 阅读(64) 评论(0) 推荐(0) 编辑
摘要:问题截图: 在实验室服务器上跑代码,报如上错误 解决方案: sudo apt update sudo apt install libgl1-mesa-glx 因遇见多次该错误,特此记录下 (据说该问题为docker内问题报错) 阅读全文
posted @ 2020-12-08 20:06 牛犁heart 阅读(2353) 评论(0) 推荐(0) 编辑
摘要:决策树是一种多功能机器学习算法,即可以执行分类任务也可以执行回归任务,甚至包括多输出(multioutput)任务。决策树是随机森林的基本组成部分(当今最强大的机器学习算法之一) ####决策树的训练与可视化 在鸢尾花数据集上进行一个决策树分类器的训练 from sklearn.datasets i 阅读全文
posted @ 2020-07-06 22:21 牛犁heart 阅读(359) 评论(0) 推荐(0) 编辑
摘要:SVM回归任务是限制间隔违规情况下,尽量防止更多的样本在“街道”上。“街道”的宽度由超参数$\epsilon$控制 在随机生成的线性数据上,两个线性SVM回归模型,一个有较大的间隔(\(\epsilon=1.5\)),另一个间隔较小(\(\epsilon=0.5\)),训练情况如下: 代码如下: 造 阅读全文
posted @ 2020-06-11 22:09 牛犁heart 阅读(1606) 评论(0) 推荐(0) 编辑
摘要:处理非线性数据时,线性回归中,通过对特征数据进行加权获得新的特征(通过sklearn.preprocessing 中的PolynomialFeatures),实现对非线性数据的分类。同样在SVM中对非线性分类也可同样采用此方法。 在sklearn提供的卫星数据集来进行测试。创建一个流水线(Pipel 阅读全文
posted @ 2020-06-11 21:37 牛犁heart 阅读(667) 评论(0) 推荐(0) 编辑
摘要:支持向量机(SVM)能够做线性或非线性的分类、回归,甚至异常值检测。SVM特别适合应用于复杂但中小规模数据集的分类问题。 ###线性支持向量机分类 依旧以鸢尾花数据集为例,如图,有两个种类能够被非常清晰的、非常容易的用一条直线分开(即线性可分的)。左边显示了三种可能的线性分类器的判定边界,其中虚线表 阅读全文
posted @ 2020-06-09 21:45 牛犁heart 阅读(734) 评论(0) 推荐(0) 编辑
摘要:Logistic回归 通常用于估计一个实例属于某个特定类别的概率,例如,电子邮件是垃圾邮件的概率是多少 概率估计 Logistic回归模型计算输入特征的加权和(加上偏差项),将结果输入 Logistic() 函数进行二次加工后进行输出 逻辑回归模型的概率估计(向量形式): $$\hat{p}=h_\ 阅读全文
posted @ 2020-05-19 13:16 牛犁heart 阅读(285) 评论(0) 推荐(0) 编辑
摘要:降低模型的过拟合的好方法就是 正则化 这个模型(即限制它):模型有越少的自由度,就越难拟合数据。例如,正则化一个多项式模型,一个简单的方法就是减少多项式的阶数。 对于线性模型,正则化的典型实现就是约束模型中参数的权重。这里介绍三种不同约束权重的方法:Ridge回归,Lasso回归和Elastic N 阅读全文
posted @ 2020-05-15 23:16 牛犁heart 阅读(1125) 评论(0) 推荐(0) 编辑
摘要:交叉验证 交叉验证可以用来估计一个模型的泛化能力,如果一个模型在训练集上表现良好,通过交叉验证指标却得出其泛化能力很差,那么模型就是 过拟合 了;如果这两个方面表现的都不好,那么它就是 欠拟合 了,这个方法可以告诉我们,模型是太复杂还是太简单了 观察学习曲线 另一种方法就是观察学习曲线,画出模型在训 阅读全文
posted @ 2020-05-14 22:59 牛犁heart 阅读(239) 评论(0) 推荐(0) 编辑
摘要:线性模型可以拟合线性问题,这是毋庸置疑的,但实际中处理的数据往往比直线更加复杂的非线性数据。这时,依然可以尝试使用线性模型来解决这个问题。 对每个特征进行加权后作为新的特征,然后在这个扩展的数据集上训练线性模型 啥意思呢,举个例子: 假设函数为: $$h_\theta(x)=\theta_0+\th 阅读全文
posted @ 2020-05-13 22:43 牛犁heart 阅读(658) 评论(0) 推荐(0) 编辑
摘要:梯度下降是一种非常通用的优化算法,它能够很好的处理一系列问题。随机梯度下降的整体思路就是通过迭代来逐渐调整参数使得损失函数达到最小值 线性回归预测模型(向量形式) $$\hat{y} =h_\theta(x)=\theta^T \cdot x$$ $\theta表示模型的参数向量包括偏置项\thet 阅读全文
posted @ 2020-05-05 13:27 牛犁heart 阅读(375) 评论(0) 推荐(0) 编辑
摘要:梯度下降法(Gradient Descent)是求解无约束最优化问题最常用的方法之一,它是一种迭代方法,每一步的主要操作就是求解目标函数的梯度向量,将当前位置的负梯度方向作为搜索方向。 直观的表示可用下图来表示: 这里每一个圈代表一个函数梯度,最中心表示函数极值点,每次迭代根据当前位置求得的梯度(用 阅读全文
posted @ 2020-04-18 17:46 牛犁heart 阅读(667) 评论(0) 推荐(0) 编辑
摘要:使用最小二乘法推导出来的关于系数的矩阵公式($\theta=(X^TX)^{ 1}X^TY$)也就是我们常说的正规方程。最小二乘法在回归模型中主要是优化拟合函数(此外还可以使用梯度下降法、随机梯度下降法等优化算法来计算函数参数),使得拟合函数能够更好的表达数据。本文将依据正规方程做一简单的线性回归 阅读全文
posted @ 2020-04-03 22:17 牛犁heart 阅读(1111) 评论(0) 推荐(0) 编辑
摘要:最小二乘法主要用于函数拟合或函数极值,其思想主要是通过将理论值与预测值的距离的平方和达到最小。在机器学习,尤其是回归模型中,经常可以看到最小二乘法的身影。 最小二乘法的原理与要解决的问题 最小二乘法的形式如下式所示: $$目标函数 = \sum(理论值 预测值)^2$$ 理论值是样本数据,预测值是拟 阅读全文
posted @ 2020-04-01 18:41 牛犁heart 阅读(2456) 评论(0) 推荐(0) 编辑
摘要:机器学习算法速览表 1. 回归 普通最小二乘回归(OLSR) 线性回归 Logistic回归 逐步回归 多变量自适应回归样条曲线(MARS) 局部估计散射平滑(LOESS) 折刀回归 2. 正则 岭回归 最少的绝对收缩和选择算子(LASSO) 弹性网 最小角度回归(LARS) 3. 基于实例的,基于 阅读全文
posted @ 2020-03-29 15:55 牛犁heart 阅读(364) 评论(0) 推荐(0) 编辑
摘要:主要涉及到的内容有:数据处理(对空白数据进行填充:Imputer)、自定义转换器、pipeline的编写以及采用SVC及RandomForestClassifier进行分类预测 采用的数据集来自Kaggle的坦克尼克号的预测(Titanic challenge ) 读取数据 import os TI 阅读全文
posted @ 2020-03-12 20:16 牛犁heart 阅读(422) 评论(0) 推荐(0) 编辑
摘要:GridSearchCV,它存在的意义就是自动调参,只要把参数输进去,就能给出最优化的结果和参数。但是这个方法适合于小数据集,一旦数据的量级上去了,很难得出结果。这个时候就是需要动脑筋了。数据量比较大的时候可以使用一个快速调优的方法——坐标下降。它其实是一种贪心算法:拿当前对模型影响最大的参数调优, 阅读全文
posted @ 2020-03-10 14:37 牛犁heart 阅读(619) 评论(0) 推荐(0) 编辑
摘要:数据增强的方式有很多,比如对图像进行几何变换(如翻转、旋转、变形、缩放等)、颜色变换(包括噪声、模糊、颜色变换、檫除、填充等),将有限的数据,进行充分的利用。这里将介绍的仅仅是对图像数据进行任意方向的移动操作(上下左右)来扩充数据。 这里将使用scipy中的shift变换工具(from scipy. 阅读全文
posted @ 2020-03-10 14:20 牛犁heart 阅读(1171) 评论(0) 推荐(0) 编辑