6万字解决算法面试中的深度学习基础问题(三)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: 6万字解决算法面试中的深度学习基础问题(三)


18. 线性判别分析


线性判别分析(linear discriminant analysis,LDA)是对fisher的线性鉴别方法的归纳,这种方法使用统计学,模式识别和机器学习方法,试图找到两类物体或事件的特征的一个线性组合,以能够特征化或区分它们。所得的组合可用来作为一个线性分类器,或者,更常见的是,为后续的分类做降维处理。


线性判别分析是特征抽取的一种方法。


特征抽取又可以分为监督和无监督的方法。监督的特征学习的目标是抽取对一个特定的预测任务最有用的特征,比如线性判别分析(Linear Discriminant Analysis, LDA)。而无监督的特征学习和具体任务无关,其目标通常是减少冗余信息和噪声,比如主成分分析(Principle Components Analysis, PCA)、独立成分分析、流形学习、自编码器。


线性判别分析可以用于降维。


在实际应用中,数据是多个类别的,我们的原始数据一般也是超过二维的,投影后的也一般不是直线,而是一个低维的超平面。


dbd371f9e080c60130fc6432c55518cf.pngdba63ffc95e1714adb34b80f6bbc635c.png05217aa567d12b88dbad1b067815ef50.png4d0670bc57e629a437a7054cf4066ce0.png


LDA与PCA 异同点:


a0a7a4a0485050b2553d500e960d5e06.png


fb0d6825ccbb329da5ea657d481b1888.png

某些某些数据分布下PCA比LDA降维较优,如下图所示:


c92d2c118aa710de0f7317f187c59843.png

LDA优缺点:


LDA算法既可以用来降维,又可以用来分类,但是目前来说,主要还是用于降维。在进行图像识别相关的数据分析时,LDA是一个有力的工具。下面总结下LDA算法的优缺点。


4b6208d2dc60cd7bf26b42b135010ddd.png


参考:


https://zhuanlan.zhihu.com/p/27899927


https://www.cnblogs.com/jiangkejie/p/11153555.html


https://www.cnblogs.com/jerrylead/archive/2011/04/21/2024384.html


19.朴素贝叶斯


为什么“朴素”:条件独立性假设:


b265a1ee7c7afbaa79a96797bdf6fffe.png


推导:


7bc1a7c594b0e4a64491f1431998a595.png782992f29a33345cda68d1fa2edc7417.png


在计算条件概率P(x|y)时出现概率为0的情况怎么办:拉普拉斯平滑


优缺点:


优点:


1. 对小规模的数据表现很好


2. 面对孤立的噪声点,朴素贝叶斯分类器是健壮的


3. 可解释性高


缺点:


输入变量必须都是条件独立的


20.梯度提升决策树GBDT/MART (Gradient Boosting Decision Tree)


Decision Tree:GBDT中使用的决策树一般为CART


Gradient Boosting:每次沿着损失函数的梯度下降(负梯度)的方向训练基分类器,

最后将所有基分类器结果加和作为预测结果.


aedfa29cdd0bcbf15468004f2998971f.png

ea2f7a280e0da69847c29b02b455e050.png


梯度提升与梯度下降关系:


两者都是沿着梯度下降的方向对模型进行优化.


1. 梯度下降是LR或神经网络中使用,梯度优化是针对模型参数的,每次迭代过程都是对参数的更新.


2. 梯度提升是直接对函数的更新,这样和使用什么模型无关,扩展了使用模型的种类


dc4fc78947294450043b372ad3e37c45.png


优点:


预测的时候基分类器可以并行计算,预测速度快


对于分布稠密的数据,泛化能力和表达能力都很好


采用决策树作为基分类器,可解释性高,能自动发现特征之间的高阶关系,


也不需要对数据进行归一化等预处理


缺点:


高维稀疏数据,不如svm和神经网络


处理文本分类的时候,没有像处理数值特征的时候那么有优势


串行训练,训练过程慢


21.KMeans



优点:相对是高效的,它的计算复杂度是O(NKt)接近于线性,其中N是数据对象的数目,K是聚类的簇数,t是迭代的轮数


缺点:


(1)受初始点、初始K值的影响每次的结果不稳定;

(2)结果通常不是全局最优而是局部最优解


K值的选择:一般基于经验和多次实验结果。例如采用手肘法,我们可以尝试不同的K值:


6c2193ca7a276e6069a6a00ff15e095e.png2b1897a61814c0fd6f11e90caec68c46.png


由图可见,K值越大,距离和越小;并且,当K=3时,存在一个拐点,就像人

的肘部一样;当K (1,3)时,曲线急速下降;当K>3时,曲线趋于平稳。手肘法认

为拐点就是K的最佳值


K-means++算法:优化K-means“初始点”缺点


aab986f97fc3a91bd4517bdd9fbc355a (1).png


二分K-Means算法:


1、将所有样本数据作为一个簇放到一个队列中。


2、从队列中选择一个簇进行K-means算法划分,划分为两个子簇,并将子簇添加到队列中。


3、循环迭代第二步操作,直到中止条件达到(聚簇数量、最小平方误差、迭代次数等)。

4、队列中的簇就是最终的分类簇集合。


从队列中选择划分聚簇的规则一般有两种方式,分别如下:


1、对所有簇计算误差和SSE(SSE也可以认为是距离函数的一种变种),选择SSE最大的聚簇进行划分操作(优选这种策略)。2、选择样本数据量最多的簇进行划分操作


22. 牛顿法


1356dbde854f3673ad63fc7a282f57fa.png

9ac955e91520ae1097c1370c802db390.png

b59513493c5333cd2a23b84edc32fadd.png

xwn:牛顿法解决的问题:a,求解函数的根 b,求解函数极值


eg,求函数的根, 图像理解


4129d16fcd091bc3a9a445f10c0f595e.png


首先得明确,牛顿法是为了求解函数值为零的时候变量的取值问题的,具体地,当要求解 f(x)=0时,如果 f可导,那么将 f(x)展开:




63efe1559569aa005cec38aae7d129f4.png197d9bf41054dd00d0ee89f68042539b.png

25ade73a5c35cd3b232628ab53a84861.png



求局部最优点(极值点)


abafd40b0e4d76f34abad0d970ca410c.png


通过比较牛顿法和梯度下降法的迭代公式,可以发现两者极其相似。海森矩阵的逆就好比梯度下降法的学习率参数alpha。牛顿法收敛速度相比梯度下降法很快,而且由于海森矩阵的的逆在迭代中不断减小,起到逐渐缩小步长的效果。


海森矩阵:


8c05ac770cdc41a2718c828f42a14fce.png


牛顿法的优缺点总结:


优点:二阶收敛,收敛速度快;


缺点:牛顿法是一种迭代算法,每一步都需要求解目标函数的Hessian矩阵的逆矩阵,计算比较复杂,尤其是在高维情况下。(拟牛顿法就是以较低的计算代价求海森矩阵的近似逆矩阵)


参考 https://www.youtube.com/watch?v=FQN0-KHAgRw

https://zhuanlan.zhihu.com/p/37588590

http://sofasofa.io/forum_main_post.php?postid=1000966


23. 缺失值的处理


缺失值的原因:


  • 信息暂时无法获取。如商品售后评价、双十一的退货商品数量和价格等具有滞后效应。


  • 信息被遗漏。可能是因为输入时认为不重要、忘记填写了或对数据理解错误而遗漏,也可能是由于数据采集设备的故障


  • 获取这些信息的代价太大。如统计某校所有学生每个月的生活费,家庭实际收入等等。


  • 有些对象的某个或某些属性是不可用的。如一个未婚者的配偶姓名、一个儿童的固定收入状况等


_缺失值较多:_直接舍弃该特征

缺失值较少(<10%):填充处理


  • 异常值填充:将缺失值作为一种情况处理0


  • 均值/条件均值填充:


  • 均值:对于数值类型属性,可采用所有样本的该属性均值,


非数值类型,可采用所有样本的众数


其条件均值指的是与缺失值所属标签相同的所有数据的均值


  • 最近距离法K-means:先根据欧式距离或相关分析来确定距离具有缺失数据样本最近的K个样本,将这K个值加权平均来估计该样本的缺失数据


  • 插值


  • 算法拟合填充:对有值的数据采用随机森林等方法拟合,然后对有缺失值的数据进行预测,用预测的值来填充


具体算法的缺失值处理:


  • LR:如上所述


  • 决策树:详见第15点


  • XGBoost:将样本分别分配到左孩子和右孩子,选择增益大的方向分裂即可;如果在训练中没有缺失值而在预测中出现缺失,那么会自动将缺失值的划分方向放到右子树


参考链接

https://zhuanlan.zhihu.com/p/33996846


24. 模型评估中常用的验证方法


在机器学习中,我们通常把样本分为训练集和测试集,训练集用于训练模型,测试集用于评估模型。在样本划分和模型验证的过程中,存在着不同的抽样方法和验证方法。


1)Holdout检验


Holdout 检验是最简单也是最直接的验证方法,它将原始的样本集合随机划分成训练集和验证集两部分。比方说,对于一个点击率预测模型,我们把样本按照70%~30% 的比例分成两部分,70% 的样本用于模型训练;30% 的样本用于模型验证,包括绘制ROC曲线、计算精确率和召回率等指标来评估模型性能。


缺点:在验证集上计算出来的最后评估指标与原始分组有很大关系。


2)交叉检验


k-fold交叉验证:首先将全部样本划分成k个大小相等的样本子集;依次遍历这k个子集,每次把当前子集作为验证集,其余所有子集作为训练集,进行模型的训练和评估;最后把k次评估指标的平均值作为最终的评估指标。在实际实验中,k经常取10。


留一验证:每次留下1个样本作为验证集,其余所有样本作为测试集。样本总数为n,依次对n个样本进行遍历,进行n次验证,再将评估指标求平均值得到最终的评估指标。在样本总数较多的情况下,留一验证法的时间开销极大。事实上,留一验证是留p验证的特例。


留p验证:每次留下p个样本作为验证集,而从n个元素中选择p个元素有C(p,n)种可能,因此它的时间开销更是远远高于留一验证,故而很少在实际工程中被应用。


3) 自助法:


不管是Holdout检验还是交叉检验,都是基于划分训练集和测试集的方法进行模型评估的。然而,当样本规模比较小时,将样本集进行划分会让训练集进一步减小,这可能会影响模型训练效果。有没有能维持训练集样本规模的验证方法呢?自助法可以比较好地解决这个问题。


自助法是基于自助采样法的检验方法。对于总数为n的样本集合,进行n次有放回的随机抽样,得到大小为n的训练集。n次采样过程中,有的样本会被重复采样,有的样本没有被抽出过,将这些没有被抽出的样本作为验证集,进行模型验证,这就是自助法的验证过程。


当样本无穷大时,使用自助法有多少样本未被选择:


一个样本一次抽中概率为1-1/n,n次未抽中的概率为(1-1/n)^n,


79115a432205107cff03ef6d555c9dfa.png5e809ae13eef3f02c404fc1162d3f292.png


25. 主成分分析


主成分分析是一种降维的方法,目的是找到一个超平面,将原有样本投射在该超平面上,原则则是样本经过投射后损失的信息尽量的少。


PCA 对该超平面有两种解释:


1. 最近重构性:样本点到该超平面的距离都足够近。


2. 最大可分性:样本点到该超平面的投影都尽量可分。


b758d794d621891fc4b937f2890f7e14.png


用最大可分性来推导,就是使得投影后的样本的方差尽可能大,两种方式都可以得到下式:(tr表示矩阵的迹,即矩阵主对角线元素的和,也等于矩阵所有特征值的和)


9f2303f411186b1b1f89c28b7bf89e2e.png


对其使用拉格朗日乘子法得到:


bf6fb4a3aca4f4a9df9d6eceed74ddaa.png


对XXT做特征值分解,取最大的d’(d’为降维后的维数)个特征值对应的特征向量作为W,即得到PCA的解。


b86c057548b3e0c897232d95d892e40d.png


d’的选取:


1. 用户事先指定。


2. 用其它开销较小的学习器先进行交叉验证选取。


3. 从重构的角度出发,设定一个重构阈值,如t=95%:


d841d04d9f975f7eb2249d1646d34ad2.png


降维的作用:


1. 增大样本采样密度。


2. 去除噪声。


26.Softmax函数的特点和作用是什么


我们知道max,假如说我有两个数,a和b,并且a>b,如果取max,那么就直接取a,没有第二种可能


但有的时候我们不想这样,因为这样会造成分值小的那个饥饿。所以我希望分值大的那一项经常取到,分值小的那一项也偶尔可以取到,那么我用softmax就可以了


现在还是a和b,a>b,如果我们取按照softmax来计算取a和b的概率,那a的softmax值大于b的,所以a会经常取到,而b也会偶尔取到,概率跟它们本来的大小有关。所以说不是max,而是Softmax那各自的概率究竟是多少呢,我们下面就来具体看一下


定义:


d91937c399348c3f486c8aff4803b0d5.png


1、计算与标注样本的差距


在神经网络的计算当中,我们经常需要计算按照神经网络的正向传播计算的分数S1,和按照正确标注计算的分数S2,之间的差距,计算Loss,才能应用反向传播。Loss定义为交叉熵


8919f75d6b7848012ca0b14535893457.png

e590813461c05402e3b45144c91f88fa.png



样本中正确的那个分类的对数值。

取log里面的值就是这组数据正确分类的Softmax值,它占的比重越大,这个样本的Loss也就越小,这种定义符合我们的要求。


2、计算上非常方便


当我们对分类的Loss进行改进的时候,我们要通过梯度下降,每次优化一个step大小的梯度。我们定义选到yi的概率是


e2e033e1a20ded09dd724bc2e1032ea8.png


然后我们求Loss对每个权重矩阵的偏导,应用链式法则


f66431f91854250694c08b2ea46edef9.png3455e8755e7885e59c9f4b1ab82f6ae6.png


27.样本不均衡


导致模型性能降低的本质原因


模型训练时优化的目标函数和人们在测试时的评价标准不同:


1. 分布:在训练时优化的是整个训练集(正负样本比例可能是1∶99)的正确率 而测试时可能想要模型在正样本和负样本上的平均正确率尽可能大(实际上是期望正负样本比例为 1∶1)


2. 权重(重要性):训练时认为所有样本的贡献是相等的,而测试时假阳性样本(False Positive) 和伪阴性样本(False Negative)有着不同的代价


解决办法


基于数据


a)随机采样:欠采样(有放回)+过采样(放不放回都可以)

欠采样对少数样本进行多次复制,扩大了数据规模,但容易造成过拟合

欠采样丢弃部分样本,有可能会丢失部分有用信息,导致模型只学到了整体模式的部分


b)SMOTE算法(针对过采样)不再简单的复制样本,而是生成新样本,降低过拟合

对少数类的数据集的每一个样本x,从其k近邻中随机选取一个样本y,在其连线上随机选取一点,作为新合成的样本


根据采样倍率重复操作


55b115a9ebe6100b0bcfed9b1a041c85.png


每个少数类样本合成相同数量的新样本,这可能会增大类间重叠度,并且会生成一些不能提供有益信息的样本


i)Borderline-SMOTE:只给那些处在分类边界上的少数类样本 合成新样本


ii)ADASYN: 给不同的少数类样本合成不同个数的新样本


iii)数据清理方法:进一步降低合成样本带来 的类间重叠


数据扩充方法也是一种过采样,对少数类样 本进行一些噪声扰动或变换(如图像数据集中对图片进行裁剪、翻转、旋转、加光照等)以构造出新的样本


c)Informed Undersampling(欠采样):解决数据丢失问题


i)easy ensemble


从多数类中随机抽取子集E,与所有少数类训练基分类器。

重复操作后,基分类器融合


ii)Balance Cascade


从多数类中随机抽取子集E,与所有少数类训练基分类器

从多数类中剔除被分类正确的样本,继续重复操作

融合基分类器


基于算法


1. 改变损失函数,不同类别不同权重 ------不平衡


2. 转化为单类学习(one-class learning)—极度不平衡


3. 异常检测(anormaly detection)


28.损失函数


回归


MSE loss/均方误差--L2损失


e2b4d50441f92790f4de88dffc71fc28.png


MAE loss/平均绝对误差--L1损失


00e0e250ab768759ddf0962f8ab312c7.png


MSE VS MAE


MSE易求解,但对异常值敏感,得到观测值的均值

MAE对于异常值更加稳健, 得到观测值的中值


b8492a2e4f6fddb383f9c1e59f47e658.png


对于误差较大的异常样本,MSE损失远大于MAE,使用MSE的话,模型会给予异常值更大的权重,全力减小异常值造成的误差,导致模型整体表现下降

因此,训练数据中异常值较多时,MAE较好


但MAE在极值点梯度会发生跃迁,即使很小的损失也会造成较大的误差,为解决这一问题,可以在极值附近动态减小学习率


总结:


1. MAE对异常值更加鲁棒,但导数的不连续导致找最优解过程中低效


2. MSE对异常值敏感,但优化过程更加稳定和准确


问题:例如某个任务中90%的数据都符合目标值——150,而其余的10%数据取值则在0-30之间


那么利用MAE优化的模型将会得到150的预测值而忽略的剩下的10%(倾向于中值);

而对于MSE来说由于异常值会带来很大的损失,将使得模型倾向于在0-30的方向取值。


Huber loss/平滑平均绝对误差


9915143ebde9d0e4deaa0349b8636505.png


对异常值不敏感,且可微


使用超参数δ来调节这一误差的阈值。当δ趋向于0时它就退化成了MAE,而当δ趋向于无穷时则退化为了MSE


655a8edcd607012cd24c4ea393c6b0a0.png


Log-Cosh loss


e66d47655a89861c5cfe0c53a7bd032a.png6ab4184ba1ec67d8549b139d28aefee4.png


拥有Huber的所有优点,并且在每一个点都是二次可导的。二次可导在很多机器学习模型中是十分必要的


Quantile loss/分位数损失


_参考:_https://www.jianshu.com/p/b715888f079b


  • 分类


  • 0-1 loss(很少使用)


3b6431c6bce6db69182985609385a2b5.png


对每个错分类点都施以相同的惩罚


不连续、非凸、不可导,难以使用梯度优化算法


Cross Entropy Loss/交叉熵损失


Hinge Loss


fd8140aa48197cade7a8eaedf50f04e5.png

f4350dc204db93e064db682c558e96e4.png



一般多用于支持向量机(SVM)

ys > 1 的样本损失皆为 0,由此带来了稀疏解,使得 SVM 仅通过少量的支持向量就能确定最终超平面


  • Exponential loss/指数损失


02a1aaf45df4e2defe3764ab1e01fb82.png42edc5c79b225493fa39e040c545308a.png


一般多用于AdaBoost 中。因为使用 Exponential Loss 能比较方便地利用加法模型推导出 AdaBoost算法。该损失函数对异常点较为敏感,相对于其他损失函数robust性较差


Modified Huber loss


765cc2e712f45027cfb43257ee51c13c.png85499dba28714be41f051a126a59c550.png

结合了 Hinge Loss 和 交叉熵 Loss 的优点。一方面能在 ys > 1 时产生稀疏解提高训练效率;另一方面对于 ys < −1 样本的惩罚以线性增加,这意味着受异常点的干扰较少


Softmax loss


2f2127c03429d57cff99659d52945f43.png5d1c4603c6e6b701a44cc71c18c646c2.png


当 s << 0 时,Softmax 近似线性;当 s>>0 时,Softmax 趋向于零。Softmax 同样受异常点的干扰较小,多用于神经网络多分类问题中


注:相比 Exponential Loss,其它四个 Loss,包括 Softmax Loss,都对离群点有较好的“容忍性”,受异常点的干扰较小,模型较为健壮


_参考:_https://blog.csdn.net/weixin_41065383/article/details/89413819


Focal loss


背景:


one-stage网络因为正负样本严重不均衡,且负样本中还有很多易区分的原因,精度一般低于two-stage 网络(two-stage 利用RPN网络,将正负样本控制在1:3左右)


原理:


1,解决正负样本不均衡问题:添加权重控制,增大少数类样本权重


7685f119bfa8252e83845c3473c98fd4.png


2,解决难易样本问题:Pt越大说明该样本易区分,应当降低容易区分样本的权重。也就是说希望增加一个系数,概率越大的样本,权重系数越小。

另,为提高可控性,引入系数γ


9ad9d87d7a3ed720d371aeb62837c26a.png


综合:两个参数α和γ协调来控制,本文作者采用α=0.25,γ=2效果最好


0dfbef3e62eb007c205183f2ac7f1e22.png


29.贝叶斯决策论


概率框架下实施决策的基本方法


以多分类举例:


共 N 种类别,λij 为将 j 类样本误分类为 i 类样本所产生的损失。

那么,给定样本 x,将其分类为 i 类样本所产生的期望损失为:


a6921f03c0f614f1b4430fe6946d0a48.png


任务目标为找到分类器 h:X→Y ,使总体损失最小:


e12eda8d61cd18242039d90ef3eda1e1.png


最好的 h 显然是对每个样本 x,都选择期望损失最小的类别:


455ab70cebcac502e742cee344e405fa.png


h* 就叫贝叶斯最优分类器,R(h*)叫贝叶斯风险,1-R(h*) 是分类器所能达到的最优性能,即通过机器学习所能产生的模型精度的理论上限。

比如,目标是最小化误分类率,那么:


b2acaced5d9e246691d0418e6216e9aa.pngd70c154437a298750efd020016e9bf2f.pngf906064dffc573ed6a1be48af39a29f1.png


判别式 vs 生成式


两者的本质区别在于建模对象不同。


判别式


直接对 P(c|x) 建模:给定 x,使用模型预测其类别 c,通过各种方法来选择最好的模型。


生成式


对 P(c,x) 建模,再计算 P(c|x):


37945f267c2117e4032d67bcddde74fa.png0b778af1811c008aaa306dcc99654ce8.png


P©好得,P(x)无所谓,重点在如何获取 P(x|c).


极大似然估计


假设 P(x|c) 满足某种分布(分布参数为 θ),再用极大似然估计找出 θ.


朴素贝叶斯


假设 x 中所有属性相互独立:


0b778af1811c008aaa306dcc99654ce8.png


生成式模型理解 LR:


cc2bd2fb4a79416e53c7391f8c6f20ed.png


efcddd3fe77d893015f47f1a3c43bd55.png


7998ec07c8006849e5b78c8c0021976d.png


dbf482da389a8c452bdb7a82012abc89.png


1. 常见的判别式与生成式模型:


判别式:线性回归、逻辑回归、线性判别分析、SVM、神经网络

生成式:隐马尔科夫模型HMM、朴素贝叶斯、高斯混合模型GMM、LDA、KNN


优缺点


1. 生成式模型最终得到的错误率会比判别式模型高,但是收敛所需的训练样本数会比较少。


2. 生成式模型更容易拟合,比如在朴素贝叶斯中只需要计数即可,而判别式模型通常都需要解决凸优化问题。


3. 生成式模型可以更好地利用无标签数据。


4. 生成式模型可以用来生成样本 x.


5. 生成式模型可以用来检测异常值。


30.采样


实现均匀分布的随机数生成器


计算机程序都是确定性的,因此并不能产生真正意义上的完全均匀分布随机数,只能产生伪随机数。


计算机 的存储和计算单元只能处理离散状态值,因此也不能产生连续均匀分布随机数,只能通过离散分布来逼近连续分布(用很大的离散空间来提供足够的精度)


线性同余法:根据当前生成的随机数xt来进行适当变换,进而产生下一次的随机数xt+1 。初始值x0称为随机种子


7973a5d6909a9eb4c643acc9cabb4e84.png


得到的是区间[0,m−1]上的随机整数,如果想要得到区间[0,1]上的连续均匀分布随机数,用xt除以m即可。

实际上对于特定的种子,很多数无法取到,循环周期基本达不到m。进行多次操作,得到的随机数序列会进入循环周期gcc中的设置


f7403c7857c3916641dc32a044c2d029.png


种子seed应该是随机选取的,可以将时间戳作为种子。


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
深度学习中的优化算法及其应用
【10月更文挑战第8天】 本文将探讨深度学习中常用的优化算法,包括梯度下降法、Adam和RMSProp等,介绍这些算法的基本原理与应用场景。通过实例分析,帮助读者更好地理解和应用这些优化算法,提高深度学习模型的训练效率与性能。
149 63
|
12天前
|
机器学习/深度学习 人工智能 算法
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
垃圾识别分类系统。本系统采用Python作为主要编程语言,通过收集了5种常见的垃圾数据集('塑料', '玻璃', '纸张', '纸板', '金属'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对图像数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。然后使用Django搭建Web网页端可视化操作界面,实现用户在网页端上传一张垃圾图片识别其名称。
43 0
基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络
|
12天前
|
机器学习/深度学习 人工智能 算法
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
手写数字识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对数据集进行训练,最后得到一个识别精度较高的模型。并基于Flask框架,开发网页端操作平台,实现用户上传一张图片识别其名称。
44 0
【手写数字识别】Python+深度学习+机器学习+人工智能+TensorFlow+算法模型
|
12天前
|
机器学习/深度学习 人工智能 算法
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
蔬菜识别系统,本系统使用Python作为主要编程语言,通过收集了8种常见的蔬菜图像数据集('土豆', '大白菜', '大葱', '莲藕', '菠菜', '西红柿', '韭菜', '黄瓜'),然后基于TensorFlow搭建卷积神经网络算法模型,通过多轮迭代训练最后得到一个识别精度较高的模型文件。在使用Django开发web网页端操作界面,实现用户上传一张蔬菜图片识别其名称。
52 0
基于深度学习的【蔬菜识别】系统实现~Python+人工智能+TensorFlow+算法模型
|
1月前
|
算法 Java 数据库
美团面试:百亿级分片,如何设计基因算法?
40岁老架构师尼恩分享分库分表的基因算法设计,涵盖分片键选择、水平拆分策略及基因法优化查询效率等内容,助力面试者应对大厂技术面试,提高架构设计能力。
美团面试:百亿级分片,如何设计基因算法?
|
28天前
|
机器学习/深度学习 人工智能 算法
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
车辆车型识别,使用Python作为主要编程语言,通过收集多种车辆车型图像数据集,然后基于TensorFlow搭建卷积网络算法模型,并对数据集进行训练,最后得到一个识别精度较高的模型文件。再基于Django搭建web网页端操作界面,实现用户上传一张车辆图片识别其类型。
72 0
【车辆车型识别】Python+卷积神经网络算法+深度学习+人工智能+TensorFlow+算法模型
|
1月前
|
算法 Java 数据库
美团面试:百亿级分片,如何设计基因算法?
40岁老架构师尼恩在读者群中分享了关于分库分表的基因算法设计,旨在帮助大家应对一线互联网企业的面试题。文章详细介绍了分库分表的背景、分片键的设计目标和建议,以及基因法的具体应用和优缺点。通过系统化的梳理,帮助读者提升架构、设计和开发水平,顺利通过面试。
美团面试:百亿级分片,如何设计基因算法?
|
1月前
|
机器学习/深度学习 数据采集 算法
如何在一夜之间成为模型微调大师?——从零开始的深度学习修炼之旅,让你的算法功力飙升!
【10月更文挑战第5天】在机器学习领域,预训练模型具有强大的泛化能力,但直接使用可能效果不佳,尤其在特定任务上。此时,模型微调显得尤为重要。本文通过图像分类任务,详细介绍如何利用PyTorch对ResNet-50模型进行微调,包括环境搭建、数据预处理、模型加载与训练等步骤,并提供完整Python代码。通过调整超参数和采用早停策略等技巧,可进一步优化模型性能。适合初学者快速上手模型微调。
101 8
|
1月前
|
机器学习/深度学习 JSON 搜索推荐
深度学习的协同过滤的推荐算法-毕设神器
深度学习的协同过滤的推荐算法-毕设神器
43 4
|
1月前
|
机器学习/深度学习 人工智能 算法
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
玉米病害识别系统,本系统使用Python作为主要开发语言,通过收集了8种常见的玉米叶部病害图片数据集('矮花叶病', '健康', '灰斑病一般', '灰斑病严重', '锈病一般', '锈病严重', '叶斑病一般', '叶斑病严重'),然后基于TensorFlow搭建卷积神经网络算法模型,通过对数据集进行多轮迭代训练,最后得到一个识别精度较高的模型文件。再使用Django搭建Web网页操作平台,实现用户上传一张玉米病害图片识别其名称。
59 0
【玉米病害识别】Python+卷积神经网络算法+人工智能+深度学习+计算机课设项目+TensorFlow+模型训练
下一篇
无影云桌面