
机器学习
天花板上飞着鱼
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
查看显存占用
一.使用pynvml包(实际显存占用,包含cache)import pynvmlpynvml.nvmlInit()handle = pynvml.nvmlDeviceGetHandleByIndex(0) # 0表示显卡标号meminfo = pynvml.nvmlDeviceGetMemoryInfo(handle)print(meminfo.total/1024**2) #总的显存大小print(meminfo.used/1024**2) #已用显存大小print(meminf.原创 2021-07-08 14:44:09 · 1961 阅读 · 0 评论 -
subword-nmt 基本使用
一.生成bpe模型和词典subword-nmt learn-joint-bpe-and-vocab --input corpus.path -s 30000 --output en.bpe --wirte-vovocabulary dict.en.txt#corpus.path:语料路径#en.bpe:bpe模型#dict.en.txt:英文词典二.根据bpe模型对语料进行切分subword-nmt apply-bpe -c en.bpe < corpus.path > c原创 2020-12-02 16:38:33 · 3553 阅读 · 0 评论 -
inplace operation
inplace operation:在原内存上修改值参考博客:1.关于inplace操作在pytorch中产生问题的原因讲的非常透彻https://zhuanlan.zhihu.com/p/692943472.python赋值操作原理(关于复制操作与inplace关系讲解)https://www.cnblogs.com/andywenzhi/p/7453374.html3.以后再看https://zhuanlan.zhihu.com/p/38475183...原创 2020-09-17 17:23:34 · 370 阅读 · 1 评论 -
正则化
1.怎么理解L1和L2?①从贝叶斯角度:从贝叶斯的角度来分析, 正则化是为模型参数估计增加一个先验知识,先验知识会引导损失函数最小化过程朝着约束方向迭代。 L1正则是拉普拉斯先验,L2是高斯先验。整个最优化问题可以看做是一个最大后验估计,其中正则化项对应后验估计中的先验信息,损失函数对应后验估计中的似然函数,两者的乘积即对应贝叶斯最大后验估计。a.Ridge L2正则化b.L...翻译 2019-09-24 22:15:48 · 553 阅读 · 0 评论 -
线性回归与逻辑回归(还没理解决广义线性模型推导)
一个基本的逻辑:a.线性回归模型(y服从正态分布)和逻辑回归模型(y服从二项分布)都是广义线性模型推导的结果。b.线性回归(均方误差)和逻辑回归(交叉熵)的损失函数(目标函数)都是最大似然估计推导的结果。c.线性回归中,L1(参数先验分布为拉普拉斯分布)和(L2参数先验分布为正态分布)都是最大后验估计推导的结果。1.目标函数(损失函数)(重点1)①线性回归(损失函数为均方误差...原创 2019-09-21 16:43:38 · 379 阅读 · 0 评论 -
最大似然估计MLE相关
1.概率与统计概率:已知模型和参数,研究数据相关特征。统计:已知数据,推测模型和参数。2.概率密度 定义 大小 积分结果 一点的值 概率密度p 概率的密集程度 概率和为1,p可以大于1 得到概率 一个点可以有概率密度,但一个点的概率值为0 密度 质量的密集程度 质量为m,可以大于m 得到质量 一个点可...原创 2019-09-20 16:32:36 · 468 阅读 · 0 评论 -
GDBT相关
一.算法本质:用局部最优方向代替全局最优方向。残差方向即为全局最优方向,负梯度方向即为局部最优方向。二.正则化1.CART剪枝。2.降低学习率。参数:Shrinkage–>(0, 1]①学习率主要是调节每棵树的对预测结果的贡献;学习率下降降低了每棵树的贡献模型训练的预测精度下降防止过拟合。②通过降低学习率来防止过拟合是在其他超参固定的前提下(主要是树的数量),降低学习率并...原创 2019-09-12 10:45:29 · 211 阅读 · 0 评论 -
SVM相关
一.目标函数推导1.假设在样本空间中可以找到一个划分超平面,可以将不同类别的样本划分开。解释:①如果样本空间是一个n维空间,那么划分超平面就是一个n-1维子空间。 ②决定了超平面的方向,决定了超平面与原点之间的距离。2.样本空间中任意一点x到超平面的距离为: 3.假设划分超平面能将训练样本正确分类,即对于,若,则有,若,则...原创 2019-09-09 22:17:31 · 223 阅读 · 0 评论 -
安装TensorFlow-GPU版本
环境:win10+GTX1060+Python 3.6.8安装:TensorFlow 1.14.0+CUDA 10.0+cuDNN7.6.0第一步:安装TensorFlowpip install tensorflow-gpu第二步:下载CUDA和cuDNN在Python安装路径下进入tensorflow\python\platform打开build_info.py...原创 2019-08-15 21:29:27 · 1464 阅读 · 1 评论 -
梯度下降和牛顿算法
一.梯度下降1.BGD2.SGD3.MBGD概念学习:https://blog.youkuaiyun.com/u012421852/article/details/79562067比较代码:https://blog.youkuaiyun.com/qq_26347025/article/details/79222967二.牛顿算法1.牛顿法https://blog.youkuaiyun.com/siga...原创 2019-04-03 10:21:36 · 262 阅读 · 0 评论 -
pandas打乱数据
在机器学习中,拿到一堆训练数据,一般会我们需要先将数据打乱,使数据随机排序,然后在进行切分,需要将数据切分成训练集、交叉验证集和测试集,在监督学习中还要切分出属性集和标签集。(注:df代表一个DataFrame)1.打乱数据df=df.sample(frac=1.0)#打乱所有数据df=df.reset_index(drop=True)#打乱后的数据index也是乱的,用reset_...原创 2019-01-28 13:43:39 · 5173 阅读 · 0 评论 -
关于if __name__=='__main__'
1.每个模块(*.py)都是一个对象,'__name__'是模块对象的内置属性。2.python是脚本语言,不需要c++中main函数这样的程序入口,逐行动态执行:可以直接运行,也可以作为模块(即import 该.py文件)运行。3.直接运行该模块时,该模块的__name__等于__main__;作为模块插入其他.py文件时,__name__等于模块名。4.if __name__=='__m...原创 2019-01-28 13:23:04 · 342 阅读 · 0 评论 -
libsvm for Python 配置
1.下载libsvm。下载链接:https://www.csie.ntu.edu.tw/~cjlin/libsvm/2.解压到安装python的Lib\site-packages文件夹下,将文件名改为libsvm(为了方便)。3.在libsvm\windows下,找到libsvm.dll文件,复制到C:\Windows\System32文件夹下。系统的位数需要和dll文件的位数(32位...原创 2018-12-26 21:58:03 · 196 阅读 · 0 评论