![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
记录机器学习中的若干心得
lzm88123
记学习心得
展开
-
(3)pytorch 预训练模型与微调
预训练当我们想做一个图像分类任务时,我们可以选择别人已经训练好的模型,在它的基础上进行训练。一般地,我们初始化训练一个网络时,会初始化网络参数(随机的),然后不断训练使网络的损失越来越小。过程是没问题的,但是对于一个大型数据集来说,训练一个模型并使它达到较小的损失是一个漫长的过程。因此我们可以在结果很满意的时候保存训练模型的参数,以便下次在训练的时候可以直接在该模型的基础上开始。这个过程就叫预训练。微调用预训练型和自己的数据进行训练,使得参数适应自己的数据,这样一个过程称之为微调。微调可大概分为3种情原创 2021-10-09 21:38:46 · 4872 阅读 · 0 评论 -
(2)pytorch 实现图片分类(多种模型对比)
按照计划,学习深度学习的第一步是对minist数据集进行分类,选取的网络也是比较简单的网络,主要是为了大概理解一个深度学习网络的框架是怎么样的以及如何从零开始做一深度学习项目。在第一步的基础上,接下来就是需要处理更大难度的数据集以及选取复杂度更大的网络模型。一、数据集这里选择了torchvision.datasets中的CIFAR10数据集,该数据集是torchvision自带的数据集之一,包含了10个类别共10000张图片。数据的加载和使用: transforms = torchvision原创 2021-10-08 20:50:00 · 3020 阅读 · 0 评论 -
(0)深度学习项目入门(pytorch)
想入门深度学习,感觉无从下手,怎么办?除了理论上的学习之外,最快速的方法就是做项目:包括但不限于别人已经做好的项目,导师布置的项目作业,自己接到的项目。做项目的方法是模仿,也就是抄。抄别人的项目,再自己总结:1.这个模块的作用是什么2.这个模块有哪些重要的类和函数3.这些重要的类和函数在哪里调用的,作用是什么4.数据输入输出的格式,为什么要这么用。从mnist分类开始,到经典的RCNN或者YOLO。抄完一遍基本上已经算是能够自己完成一些小项目了。剩下的就是思考怎么涨点的问题了。项目做多了就会发现原创 2021-10-07 16:02:04 · 979 阅读 · 0 评论 -
(1)pytorch 实现 minist手写数据集(cpu/gpu)版本
minist手写文字数据集是深度学习/机器学习的入门集数据集。通过搭建深度神经网络的方法对minist数据集进行训练和预测,可以对整个深度学习的框架做一个大概的了解。cpu 版本,即数据和模型都在cpu(内存)上训练,不需要调用gpu。# 训练+测试import torchimport torch.nn as nnimport torch.utils.data as Dataimport torchvisionimport matplotlib.pyplot as pltimport o原创 2021-10-07 11:26:26 · 2156 阅读 · 1 评论 -
python SVM(支持向量机)的实现
from sklearn import svmimport numpy as npfrom sklearn.metrics import accuracy_scoredef loadSplitDataSet1(txtname,rate,k): file = open(txtname) lines1 = file.readlines() file.close #print(lines1) lines2=[] lines1.pop(0) for li原创 2020-07-02 16:19:40 · 210 阅读 · 0 评论 -
python 决策回归树
决策回归树主要用CART算法来实现。CART算法:CART算法使用基尼系数来代替信息增益比,基尼系数代表了模型的不纯度,基尼系数越小,不纯度越低,特征越好。比较基尼系数和熵模型的表达式,二次运算比对数简单很多。尤其是二分类问题,更加简单。CART分类树算法对连续值的处理,是使用划分点将连续的特征离散化,在选择划分点时,分类模型是基于基尼系数,回归模型是基于和方法度量。本实验采用的是最小二乘回归树生成算法,算法如下图所示。结果:代码实现:"""CART+最小二乘法构建CART回归树"""原创 2020-07-02 15:56:47 · 881 阅读 · 0 评论 -
python 决策分类树
ID3算法:核心是在决策树各个节点上应用 信息增益 准则选择特征,递归的构建决策树。具体方法是:从根结点开始,对结点计算所有可能的特征的信息增益,选择信息增益最大的特征作为结点的特征,由该特征的不同取值建立子结点;再对子结点递归的调用以上方法,构建决策树;直到所有特征的信息增益均很小或没有特征可以选择为止。ID3算法还存在另一个问题,它不能直接出来连续型特征。只有事先将连续型特征转为离散型,才能在ID3中使用。 但这种转换过程会破坏连续型变量的内在性质。由于数据集是连续的数据,所以本实验采用的按区域划分的方原创 2020-07-02 15:40:54 · 232 阅读 · 0 评论 -
python KNN MNIST 手写数字识别
利用KNN算法做手写数字识别,数据集用到了MNIST。KNN(最近邻算法),根据距离最近的K个标签中的多数值确定该数据的标签。主要的算法实现:def classify(testOne, dataSet, labels, k): dataSetSize = dataSet.shape[0] diffMat = tile(testOne, (dataSetSize,1))-dataSet sqDiffMat = diffMat**2 sqDistances = sqDiff原创 2020-07-02 14:32:17 · 1211 阅读 · 0 评论 -
机器学习10大经典算法 python实现
1、svm(支持向量机):from sklearn.datasets import load_iris import numpy as npfrom sklearn.metrics import accuracy_scorefrom sklearn import svmfrom sklearn.model_selection import train_test_splitif __name__ == '__main__': allPre=[] for i in range(1原创 2020-06-30 22:52:12 · 782 阅读 · 0 评论