机器学习
文章平均质量分 52
joker-G
这个作者很懒,什么都没留下…
展开
-
spark部署TF、 Torch深度学习模型
模型训练TF(2.1)import tensorflow as tffrom tensorflow.keras import layers,modelsimport tensorflow as tfimport numpy as npimport pandas as pdimport osdef predict(): x = pd.DataFrame({'x0': [0.1], 'x1': [0.2]}) # x = np.random.randn(1, 2) m原创 2021-12-20 19:23:37 · 3764 阅读 · 3 评论 -
torch Lr调整
import matplotlib.pyplot as pltfrom torch.optim import *import torch.nn as nnclass net(nn.Module): def __init__(self): super(net, self).__init__() self.fc = nn.Linear(1,10) def forward(self,x): return self.fc(x)lr_lis原创 2021-07-08 20:09:15 · 296 阅读 · 0 评论 -
logistic逻辑回归
逻辑斯谛分布分布函数属于逻辑斯谛函数,其图形是一条S形曲线(sigmoid curve)二项逻辑斯谛回归模型 这就是说,在逻辑斯谛回归模型中,输出Y=1的对数几率是输入x的线性函数。或者说,输出Y=1的对数几率是由输入x的线性函数表示的模型,即逻辑斯谛回归模型。模型参数估计(最大似然估计) 逻辑斯谛回归模型学习时,对于给定的训练数据集T.........原创 2019-10-24 14:04:59 · 358 阅读 · 0 评论 -
torch随手笔记
张量创建#创建一个未初始化的5x3张量x = torch.empty(5, 3)#创建一个随机初始化的5x3张量x = torch.rand(5, 3)#创建一个5x3的0张量,类型为longx = torch.zeros(5, 3, dtype=torch.long)#直接从数组创建张量x = torch.tensor([5.5, 3])#从已有的张量创建相同维度的新张量,...原创 2020-04-01 15:54:04 · 350 阅读 · 0 评论 -
keras随手笔记
模型创建from keras.models import Sequentialfrom keras.layers import Dense, Activation#序列模型 Sequentialmodel = Sequential()model.add(Dense(32, input_shape = (784,)))model.add(Activation('relu'))mod...原创 2020-04-01 11:39:14 · 77 阅读 · 0 评论 -
sklearn中KFold,StratifiedKFold的区别
StratifiedKFold不会出错import numpy as npfrom sklearn import model_selectionfrom sklearn.model_selection import KFold,StratifiedKFoldx = np.array(list(range(10)))y = np.array(list([0]*5+[1]*5))...原创 2020-03-27 22:19:38 · 143 阅读 · 0 评论 -
F1score/P-R曲线/ROC曲线/AUC
1.分类正确的样本占总样本个数的比例。2.TP/FP/FN/TN1)True positive(TP): 真正例,将正类正确预测为正类数;2)False positive(FP): 假正例,将负类错误预测为正类数;3)False negative(FN):假负例,将正类错误预测为负类数;4)True negative(TN): 真负例,将负类正确预测为负类数。3.Pre...原创 2019-10-25 15:51:53 · 5565 阅读 · 0 评论 -
决策树、随机森林、bagging、boosting、Adaboost、GBDT、XGBoost总结
一.决策树决策树是一个有监督分类模型,本质是选择一个最大信息增益的特征值进行输的分割,直到达到结束条件或叶子节点纯度达到阈值。根据分割指标和分割方法,可分为:ID3、C4.5、CART算法。1.ID3算法:以信息增益为准则来选择最优划分属性信息增益的计算是基于信息熵(度量样本集合纯度的指标)信息熵越小,数据集X的纯度越大。假设基于数据集D上建立决策树,数据有K个类别:...原创 2019-10-24 15:21:38 · 163 阅读 · 0 评论 -
核函数与SMO
常用核函数 非线性问题往往不好求解,所以希望能用解线性分类问题的方法解决这个问题。所采取的方法是进行一个非线性变换,将非线性问题变换为线性问题,通过解变换后的线性问题的方法求解原来的非线性问题。对图所示的例子,通过变换,将左图中椭圆变换成右图中的直线,将非线性分类问题变换为线性分类问题。1.多项式核函数(polynomial kernel function)...原创 2019-10-24 14:49:27 · 491 阅读 · 0 评论 -
线性支持向量机与软间隔最大化
线性支持向量机与软间隔最大化线性支持向量机线性不可分意味着某些样本点(x i ,y i )不能满足函数间隔大于等于1的约束条件(7.14)。为了解决这个问题,可以对每个样本点(x i ,y i )引进一个松弛变量εi ≥0,使函数间隔加上松弛变量大于等于1。这样,约束条件变为:目标函数变为:这里,C>0称为惩罚参数,一般由应用问题决定,C值大时对误分类的惩罚增大,C值...原创 2019-10-24 14:42:54 · 505 阅读 · 0 评论 -
线性可分支持向量机与硬间隔最大化
线性可分支持向量机与硬间隔最大化线性可分支持向量机(线性可分支持向量机)给定线性可分训练数据集,通过间隔最大化或等价地求解相应的凸二次规划问题学习得到的分离超平面为以及相应的分类决策函数函数间隔和几何间隔(函数间隔)对于给定的训练数据集T和超平面(w,b),定义超平面(w,b)关于样本点(x i ,y i )的函数间隔为:(几何间隔,即点到线之间的距离)对于...原创 2019-10-24 14:27:38 · 230 阅读 · 0 评论 -
正则化项L1和L2的区别
L1和L2是正则化项,又叫做罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项。对比L1是模型各个参数的绝对值之和;L1会趋向于产生少量的特征,而其他的特征都是0,产生稀疏权重矩阵;L2是模型各个参数的平方和的开方值。L2会选择更多的特征,这些特征都会接近于0,当最小化||w||时,就会使每一项趋近于0,防止过拟合。1.为什么参数越小代表模型越简...原创 2019-10-24 13:04:29 · 192 阅读 · 1 评论 -
SGD和牛顿法的区别
梯度下降法是最早最简单,也是最为常用的最优化方法。梯度下降法实现简单,当目标函数是凸函数时,梯度下降法的解是全局解。一般情况下,其解不保证是全局最优解,梯度下降法的速度也未必是最快的。梯度下降法的优化思想是用当前位置负梯度方向作为搜索方向,因为该方向为当前位置的最快下降方向,所以也被称为是”最速下降法“。最速下降法越接近目标值,步长越小,前进越慢。梯度下降法的搜索迭代示意图如下图所示:...原创 2019-10-24 12:57:39 · 603 阅读 · 0 评论 -
机器学习优化方案对比
知乎引用常见的优化算法包括梯度下降法、牛顿法、Momentum、Adagrad、Adam等SGD是通过梯度方向和步长,直接求解目标函数的最小值时的参数。越接近最优值时,步长应该不断减小,否则会在最优值附近来回震荡。SGD就是每一次迭代计算mini-batch的梯度,然后对参数进行更新,是最常见的优化方法了。即:优点:由于每次迭代只使用了一个样本计算梯度,训练速度快...原创 2019-10-24 12:25:19 · 383 阅读 · 0 评论