
机器学习
spider_fu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
内存直接打满,GPU利用率低
内存是存储数据的,GPU用来计算如果像尽量榨干算力,就尽量把无用的内存释放掉检查代码,找到一些无用的内存占用,比如哈希桶是不是太大了,减小或者去掉一些没有用的,又很大的特征让内存的数据尽量多的都是有用的(用来计算的),就可以加大利用率...原创 2022-01-29 15:50:57 · 1812 阅读 · 0 评论 -
StandardScaler数据标准化
from sklearn.preprocessing import StandardScalerscaler = StandardScaler()scaler_train = scaler.fit_transform(train)scaler_test = scaler.transform(test)标准化方程fit_transform:通过数据获得均值和方差并应用到数据上transform:将前面获得均值和方差应用的数据上...原创 2021-06-22 15:50:03 · 753 阅读 · 0 评论 -
偏差和方差判断
下图为吴恩达老师的视频课中截图,两条线分别为训练误差和验证误差随着d(特征复杂度,模型复杂度)的变化。训练误差随着模型的复杂化会拟合的越来越好,误差会逐渐趋于0验证误差开始的变化和训练时比较相近,但一般会误差略高于训练,单当模型复杂度到达阈值时,模型再次增加复杂度就会大致泛化能力变弱,对于样本外的验证集来说,误差就会不断升高。高偏差(欠拟合):从图中可见,当模型复杂度较低时,训练误差和验证误差都比较高,且两者比较接近,这时就是模型欠拟合高方差(过拟合):从图中可见,当模型过于复杂时,训练误差很原创 2021-06-05 17:58:24 · 624 阅读 · 0 评论 -
正规方程求最优解
正规方程是除了梯度下降以外求最小值的其他方法公式如下:其中X为n*m维的矩阵,n为数据的维度,m为特征向量,y为最后的目标向量。下面为吴恩达老师的一个例子当n<m时,需要减少特征,或者加入正则化项。在数据量较少时,正规方程求解速度较快,以为只计算一次,不需要迭代;当数据量较大时,虽然只进行一次计算,但由于计算复杂度较高,O(n³),速度就会不如梯度下降。...原创 2021-06-05 13:23:17 · 793 阅读 · 2 评论 -
正则化解决overfitting
是什么减小相关性较弱的特征参与度从而避免overfitting如何实现添加惩罚项,当我们要实现一个target,会使得损失函数最小化,而在损失函数中添加一项,这一项包括相关性较弱的特征的系数和一个较大的数相乘(实际并不是这样,这样解释比较好懂)。这样在使损失函数最小化时就不得不将相关性较弱的特征系数减小,不然和其相乘的较大数值就会使得损失函数很大。例子以及真实含义:下面是logistic回归的损失函数,这一项就是正则项可以看到,实际上,正则是将所有的特征系数都进行了惩罚,那么这样如何判断哪原创 2021-06-04 17:48:33 · 134 阅读 · 0 评论 -
神经元
神经网络的最小单位-神经元输入:x1,x2,1(x可以有多个,作为特征,1可有可无,作为偏置调整)计算:第一步:加权求和w1x1+w2x2+1*b第二步:将第一步结果输入到激活函数得到输出。(激活函数的用途)目的:调整w1,w2…wn,b得到一个最佳的值(可以让相对更多的输入可以达到预期的输出)多输出神经元例如,在三分类的时候增加一个神经元。输出二分类与多分类的区别就是添加神经元,并且在最后添加归一化操作。...原创 2021-04-29 17:16:57 · 256 阅读 · 0 评论 -
dropout
dropout通过每次训练时遗忘掉部分特征,使得模型不会过分依赖局部的特征,从而提高模型的泛化能力原创 2020-07-31 15:45:20 · 125 阅读 · 0 评论 -
tf.nn学习之l2_normalize(tf.math.l2_normalize)
现在都统一称呼为tf.math.l2_normalizetf1.15版本别名:tf.compat.v1.linalg.l2_normalizetf.compat.v1.math.l2_normalizetf.compat.v1.nn.l2_normalizetf.linalg.l2_normalizetf.nn.l2_normalize作用对于axis = 0的1-D张量,计算如下:output = x / sqrt(max(sum(x**2), epsilon))对于具有更多维度的原创 2020-06-05 17:41:04 · 6621 阅读 · 5 评论 -
tf.keras学习之layers.Dropout
参考tensorflow社区做什么的?将Dropout应用到输入使用tf.keras.layers.Dropout( rate, noise_shape=None, seed=None, **kwargs)参数rate:在0到1之间浮动。要降低的输入单位的分数。noise_shape:1D张量类型,int32表示将与输入相乘的二进制丢失掩码的形状;例如,如果您的输入具有形状(batch_size, timesteps, features),并且您希望原创 2020-05-14 14:56:34 · 10485 阅读 · 2 评论 -
tf.keras学习之input
参考tensorflow社区做什么的?对输入做一个初始化,自动生成的。使用tf.keras.Input(shape=None,batch_size=None,name=None,dtype=None,sparse=False,tensor=None,ragged=False,**kwargs)参数shape:shape=(32,)输入将是32维向量的。None代表形状未知的尺寸。batch_size:批量大小name:起一个名字。唯一的。默认会自动生成。dtype:数据原创 2020-05-13 18:22:54 · 853 阅读 · 1 评论 -
tf.keras学习之layers.Dense
参考tensorflow社区做什么的?简单来说就是对原矩阵进行变形,通过矩阵变换(矩阵乘法,偏置,激活函数)达到想要的矩阵形状。使用tf.keras.layers.Dense(units,activation=None,use_bias=True,kernel_initializer=‘glorot_uniform’,bias_initializer=‘zeros’,kernel_regularizer=None,bias_regularizer=None,activity_reg原创 2020-05-13 17:02:25 · 6338 阅读 · 0 评论 -
l2范数
线代定义范数是具有“长度”概念的函数。在线性代数、泛函分析及相关的数学领域,范数是一个函数,是矢量空间内的所有矢量赋予非零的正长度或大小。半范数可以为非零的矢量赋予零长度。l2范数∥x∥2=∑i=1n xi2,l2范数公式\|x\|_2 = \sqrt{\sum_{i=1}^n \ x^2_i\quad} \quad \text {,l2范数公式} ∥x∥2=i=1∑n xi2,l2范数公式也就是欧几里得范数,即距离机器学习正则化机器学习的正则化是什么意思?这篇原创 2020-06-05 15:21:04 · 7923 阅读 · 0 评论