从零开始学习机器学习,掌握AI未来的关键!

从零开始学习机器学习

    • 1. 介绍
      • 1.1 人工智能(AI)概述
      • 1.2 机器学习在人工智能中的应用
      • 1.3 机器学习基础概念
    • 2. 监督学习
      • 2.1 什么是监督学习
      • 2.2 回归分析
      • 2.3 分类问题
      • 2.4 模型评估和选择
    • 3. 无监督学习
      • 3.1 什么是无监督学习
      • 3.2 聚类算法
      • 3.3 降维技术
    • 4. 深度学习
      • 4.1 神经网络基础
      • 4.2 深度学习的应用领域
      • 4.3 深度学习的发展和趋势
    • 5. 机器学习工具和框架
      • 5.1 Python在机器学习中的应用
        • 5.1.1 Python的易用性
        • 5.1.2 数据处理能力
        • 5.1.3 机器学习库
      • 5.2 TensorFlow和PyTorch等流行框架简介
        • 5.2.1 TensorFlow
        • 5.2.2 PyTorch
      • 5.3 机器学习工具的选择和比较
    • 6. 实际应用和案例研究
      • 6.1 金融行业的智能风险管理
      • 6.2 医疗健康领域的智能辅助诊断
      • 6.3 制造业的质量控制与优化

1. 介绍

1.1 人工智能(AI)概述

欢迎来到"人工智能-机器学习基础"!在本文中,我们将一起探索人工智能的奇妙世界。首先,让我们来介绍一下人工智能的概述。

人工智能(Artificial Intelligence)是一门研究如何使机器具备智能能力的科学与技术。简单来说,它是能够像人类一样思考、学习和决策的机器。

人工智能可以追溯到上个世纪50年代,当时科学家们就开始尝试模仿和理解人类的思维过程。然而,由于当时计算机技术的限制,人工智能的发展并不顺利。直到最近几年,随着计算能力的迅猛增长和大数据的普及,人工智能取得了巨大突破。

现在,人工智能已经应用于各个领域,包括医疗、金融、交通等等。它不仅可以帮助我们解决复杂的问题,还可以提升生活的便利性。机器学习作为人工智能的一个重要分支,发挥着至关重要的作用。
在这里插入图片描述

1.2 机器学习在人工智能中的应用

机器学习(Machine Learning)是人工智能的一个核心技术,它使得机器可以通过数据和经验来改进自身的性能。简而言之,机器学习就是让机器从数据中学习,并根据学习结果进行预测或决策。

机器学习在人工智能中得到了广泛的应用。举个例子,你是否听说过无人驾驶汽车?这就是机器学习在交通领域的应用。通过收集大量的行车数据,无人驾驶汽车可以学习驾驶规则和交通模式,并根据实时数据做出决策,从而实现自动驾驶。

除了无人驾驶汽车,机器学习还广泛应用于自然语言处理、金融风控、医学诊断等领域。通过机器学习算法,机器可以根据大数据的模式和特征来识别和理解文字、预测金融风险、辅助医生进行疾病诊断等。

机器学习的应用不仅解放了人力,提高了效率,而且可以处理一些复杂的模式和关系,超出了人类的认知能力。它是实现人工智能的关键所在。

1.3 机器学习基础概念

在我们继续深入探讨机器学习的应用前,让我们先了解一些基础概念。

  • 训练集(Training Set):被用来训练机器学习模型的样本数据集。

  • 特征(Feature):用来描述样本的属性或特性,是机器学习算法中的输入。

  • 标签(Label):训练集中每个样本对应的目标输出,用于机器学习算法的监督学习。

  • 模型(Model):根据训练集训练出来的机器学习算法,用于预测新样本的输出。

  • 监督学习(Supervised Learning):通过训练集中的标签来指导机器学习算法的学习过程。

  • 无监督学习(Unsupervised Learning):不使用标签信息,机器根据数据的内在结构自主学习。

这些基础概念将贯穿我们后续的博客内容,在学习机器学习的过程中,你会更加深入地了解它们的作用和意义。

未来,人工智能和机器学习的发展势必会影响我们的生活方方面面。通过深入学习和理解它们,你将能站在技术的前沿,创建属于自己的智能世界!

2. 监督学习

2.1 什么是监督学习

在机器学习领域中,监督学习是一种核心的学习方法,它通过已知的数据集(称为训练集)来训练模型。这些数据集包含了输入特征和对应的输出结果(标签),通过学习这些对应关系,模型可以学会如何从给定的输入预测出正确的输出。监督学习可以解决两大类问题:回归问题和分类问题。

监督学习的核心步骤通常包括:

  1. 数据收集:获取包含输入特征和输出标签的数据集。
  2. 数据预处理:清洗数据、处理缺失值、标准化或归一化特征等。
  3. 特征选择:选择对模型有用的特征。
  4. 模型训练:利用训练数据拟合模型参数。
  5. 模型验证与调优:使用验证数据调整模型参数以优化性能。
  6. 模型测试:使用独立的测试数据集评估模型性能。
  7. 模型部署:将模型应用于实际场景中进行预测。

2.2 回归分析

回归分析是监督学习中的一种重要技术,用于预测连续值的输出。回归问题的目标是建立一个数学函数,该函数能够根据输入特征预测出一个连续数值的结果。例如,预测房价、股票价格变动或者温度变化等。

常见的回归算法包括:

  • 线性回归:最简单的回归模型之一,假设输入特征与输出之间存在线性关系。
  • 多项式回归:扩展了线性回归,允许模型拟合非线性的数据分布。
  • 岭回归(Ridge Regression):在损失函数中加入了L2正则项,用于减少过拟合的风险。
  • 套索回归(Lasso Regression):引入了L1正则化,可以同时进行变量选择和系数估计。

回归评估指标

评估指标定义解释
均方误差 (MSE)( \frac{1}{n} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2 )平均每个样本预测值与实际值之间的平方差。
均方根误差 (RMSE)( \sqrt{\frac{1}{n} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2} )MSE的平方根,具有与原始数据相同的单位。
均绝对误差 (MAE)( \frac{1}{n} \sum_{i=1}^{n}y_i - \hat{y}_i
决定系数 ( R^2 )( 1 - \frac{\sum(y_i - \hat{y}_i)^2}{\sum(y_i - \bar{y})^2} )衡量模型解释变异的比例,取值范围在 [-∞, 1] 之间。

2.3 分类问题

分类是另一种常见的监督学习任务,它的目标是预测离散的类别标签。分类问题可以分为二分类问题(只有两个可能的类别)和多分类问题(三个或更多类别)。例如,垃圾邮件过滤器就是一个典型的二分类问题,而手写数字识别则是一个多分类问题。

常用的分类算法包括:

  • 逻辑回归:尽管名字中有“回归”二字,但逻辑回归实际上是一种分类方法,常用于二分类问题。
  • 支持向量机(SVM):寻找最大间隔的决策边界来分离不同类别的数据点。
  • 决策树:通过一系列的条件判断来做出分类决定。
  • 随机森林:由多个决策树组成的集合模型,提高了准确性和稳定性。
  • K近邻(KNN):基于实例的学习方法,通过计算最近邻居的距离来进行分类。

分类评估指标

评估指标定义解释
准确率( \frac{\text{正确预测数}}{\text{总预测数}} )模型正确预测的比例。
精确率( \frac{\text{真正例}}{\text{真正例 + 假正例}} )正例中被正确预测的比例。
召回率( \frac{\text{真正例}}{\text{真正例 + 假负例}} )实际正例中被预测为正例的比例。
F1分数( 2 \times \frac{\text{精确率} \times \text{召回率}}{\text{精确率} + \text{召回率}} )精确率和召回率的加权平均。

2.4 模型评估和选择

模型评估是指在训练模型之后,通过一组独立的数据集来衡量模型的性能。这有助于理解模型是否能够很好地泛化到未见过的新数据上。模型评估通常包括以下几个步骤:

  1. 划分数据集:将数据集划分为训练集、验证集和测试集。
  2. 交叉验证:使用交叉验证技术来更稳定地评估模型性能。
  3. 超参数调优:调整模型中的超参数以获得最佳性能。
  4. 性能度量:选择合适的评估指标来量化模型的表现。
  5. 模型选择:基于评估结果选择最佳模型。

模型选择是一个关键步骤,涉及到权衡模型复杂度和性能。一个过于复杂的模型可能会过拟合训练数据,而过于简单的模型则可能欠拟合。因此,在选择最终模型时需要考虑以下几点:

  • 复杂度:模型的复杂度应该适中,既能捕捉到数据的模式,又不会过度拟合。
  • 泛化能力:选择能够在新数据上表现良好的模型。
  • 可解释性:在某些情况下,模型的可解释性也非常重要。
  • 计算成本:考虑到训练时间和资源消耗,有时候简单快速的模型更为合适。

监督学习是构建智能系统的基础,通过对大量标记数据的学习,可以解决广泛的现实世界问题。接下来的部分将会介绍无监督学习,探讨如何在没有标签的情况下训练模型。

3. 无监督学习

3.1 什么是无监督学习

无监督学习是机器学习的一个重要分支,它处理的是没有标签的数据集。在监督学习中,我们拥有一组带有正确答案或结果的数据(即标签),模型通过这些数据学习如何做出预测。而在无监督学习中,数据集中的样本并没有明确的输出标签,模型的目标是从这些数据中发现潜在的结构或模式。

特点:

  • 数据没有标记:这意味着数据中不存在已知的结果或分类信息。
  • 探索性分析:无监督学习通常用于探索数据,寻找数据内部隐藏的规律和模式。
  • 不需要人工标注:这降低了数据准备的成本和时间。
  • 应用广泛:从市场细分到基因组数据分析,应用场景非常广泛。

挑战:

  • 没有显式的目标函数:由于没有标签,很难直接定义一个明确的目标函数来优化。
  • 结果评估困难:没有直接的方法来衡量模型的好坏,通常需要借助外部指标或者人的直觉来判断。
  • 解释性问题:无监督学习得到的结果往往难以解释,尤其是对于非专业人士来说。

3.2 聚类算法

聚类是一种常见的无监督学习方法,其目标是将相似的对象聚集在一起形成不同的群组或类别。聚类可以帮助我们理解数据的内在结构,并且可以作为其他任务的基础,比如推荐系统或异常检测。

常用聚类算法:

算法名称描述
K-means一种基于距离的聚类方法,通过迭代过程将数据点分配给最接近的质心。
DBSCAN密度基空间聚类算法,能够找到任意形状的簇,并识别噪声点。
层次聚类通过构建树状图来表示数据点间的相似性,可以生成不同分辨率的簇。
谱聚类利用图论中的谱方法对数据进行分割,适用于非凸形簇。

K-means 示例:

假设我们有一组二维数据点,我们的目标是将它们分为3个簇。

  1. **初始化:**随机选择3个点作为初始质心。
  2. **分配:**每个数据点被分配给最近的质心。
  3. **更新:**每个簇的质心位置根据簇内的数据点重新计算。
  4. 重复步骤2和3直到质心不再发生显著变化或达到最大迭代次数。

3.3 降维技术

降维技术旨在减少数据集中的特征数量,同时保留数据的主要特性。这对于可视化高维数据、减少计算成本和避免过拟合等问题非常有用。

常见降维方法:

方法描述
PCA (主成分分析)一种线性降维技术,通过投影最大化数据的方差来保留最重要的信息。
t-SNE适合于可视化高维数据,保持数据点之间的局部相似性。
LDA (线性判别分析)尽管主要用于监督学习中的分类问题,但在某些情况下也可用于降维。

PCA 示例:

假设我们有一个具有多个特征的数据集,想要将其降至2维以便于可视化。

  1. **数据标准化:**使所有特征具有相同的尺度。
  2. **协方差矩阵:**计算特征之间的相关性。
  3. **特征值与特征向量:**求解协方差矩阵的特征值和对应的特征向量。
  4. **选择主成分:**选取最大的几个特征值对应的特征向量作为新的坐标轴。
  5. **转换数据:**将原始数据沿新的坐标轴投影。

无监督学习是数据科学中的一个强大工具,它不仅能够帮助我们理解复杂的数据集,还能够在很多实际应用中提供有价值的洞察。随着算法和技术的发展,无监督学习将在未来发挥更加重要的作用。

4. 深度学习

4.1 神经网络基础

深度学习是机器学习的一个分支,它基于对人脑神经元工作原理的模仿。在这一部分中,我们将探讨神经网络的基础知识,包括其结构、基本组件以及训练过程。

4.1.1 结构与组件

  • 神经元(节点)

    • 神经元是神经网络的基本单位,它接收输入信号,对其进行加权处理,并通过激活函数产生输出。
    • 神经网络由多层组成,每一层都包含多个神经元。这些层可以分为输入层、隐藏层和输出层。
      • 输入层接收原始数据作为输入。
      • 隐藏层是位于输入层和输出层之间的层,这些层可以有多个,称为多层感知器。
      • 输出层产生最终结果或预测。
  • 权重与偏置

    • 权重代表了输入信号对于输出的影响程度。
    • 偏置允许模型通过增加一个额外的调整参数来更好地拟合数据。

4.1.2 训练过程

  • 前向传播

    • 在训练过程中,数据通过网络从输入层到输出层进行传递。
    • 每个神经元将所有输入乘以其对应的权重,然后将结果相加并加上偏置,最后通过激活函数得到输出。
  • 损失函数

    • 损失函数用于衡量模型预测值与实际值之间的差异。
    • 常见的损失函数有均方误差 (MSE) 和交叉熵损失。
  • 反向传播

    • 反向传播是一种优化算法,它计算损失函数相对于每个权重和偏置的梯度。
    • 这些梯度被用来更新权重和偏置,以便减小损失。
  • 优化算法

    • 优化算法如随机梯度下降 (SGD) 或 Adam 被用来调整权重和偏置,以最小化损失函数。
概念描述
激活函数引入非线性转换,使得网络能够学习复杂的模式。常见的激活函数包括 Sigmoid、ReLU 和 Tanh。
正则化一种防止过拟合的技术,通过添加一个惩罚项来限制模型复杂度。L1 和 L2 正则化是最常用的两种形式。

4.2 深度学习的应用领域

深度学习已经广泛应用于多个领域,包括但不限于:

  • 计算机视觉
    • 图像分类、物体检测、人脸识别等。
  • 自然语言处理 (NLP)
    • 语音识别、文本生成、情感分析等。
  • 推荐系统
    • 电影、音乐、商品等个性化推荐。
  • 医疗健康
    • 疾病诊断、基因组学研究、药物发现等。
  • 自动驾驶
    • 车辆定位、障碍物检测、路径规划等。
  • 游戏
    • 游戏角色控制、策略制定等。

案例研究:AlphaGo

  • 背景:AlphaGo 是一款围棋程序,由 DeepMind 开发。
  • 技术:使用了深度卷积神经网络和蒙特卡洛树搜索。
  • 成就:2016 年,AlphaGo 成功击败了世界冠军李世石。

4.3 深度学习的发展和趋势

随着技术的进步,深度学习正在不断发展,并呈现出以下趋势:

  • 模型架构的创新

    • ResNet、Transformer 等新型架构不断涌现,提高了模型的性能和效率。
  • 自动化机器学习 (AutoML)

    • AutoML 技术自动选择最佳的模型架构和超参数设置,降低了使用深度学习的门槛。
  • 迁移学习

    • 利用预训练模型进行特征提取,大大减少了新任务上的训练时间和资源需求。
  • 联邦学习

    • 允许在不共享数据的情况下训练模型,保护用户隐私的同时实现数据协同利用。
  • 可解释性

    • 提高模型的透明度和可解释性,帮助人们理解模型是如何做出决策的。
  • 边缘计算

    • 将计算能力部署到设备端,减少数据传输延迟,提高响应速度。

深度学习的发展不仅推动了人工智能的进步,还为解决实际问题提供了强大的工具。未来,我们可以期待更多创新的应用和技术出现。

5. 机器学习工具和框架

5.1 Python在机器学习中的应用

Python 是目前最流行的编程语言之一,尤其在数据科学和机器学习领域中占据主导地位。它之所以如此受欢迎,主要是因为它易于学习且功能强大,有着丰富的库支持。

5.1.1 Python的易用性

Python 语法简洁明了,接近自然语言,这使得即使是初学者也能快速上手。它的动态类型系统减少了代码编写时的负担,而强大的调试工具和详尽的文档则进一步降低了开发难度。

5.1.2 数据处理能力

Python 提供了如 Pandas 和 NumPy 这样的库,它们极大地简化了数据预处理的工作。Pandas 提供了 DataFrame 对象,方便进行数据清洗、转换和分析;NumPy 则提供了高效的数组运算能力,对于数值计算至关重要。

5.1.3 机器学习库

Python 拥有众多成熟的机器学习库,例如 Scikit-learn、TensorFlow 和 PyTorch 等,这些库不仅提供了各种算法实现,还封装了大量的实用功能,帮助开发者快速构建模型。

库名主要功能
Scikit-learn用于分类、回归、聚类和模型选择
TensorFlow开源机器学习框架,适用于深度学习
PyTorch动态计算图的深度学习框架

5.2 TensorFlow和PyTorch等流行框架简介

5.2.1 TensorFlow

TensorFlow 是由 Google Brain 团队开发的一个开源软件库,主要用于各种感知和语言理解任务的研究和生产。它提供了一个灵活的架构,让用户可以轻松地定义、训练和部署机器学习模型。

  • 特点:

    • 静态图执行:用户通过构建计算图来定义模型结构,然后通过会话机制运行整个图。
    • 分布式计算支持:能够高效地利用多台计算机或多个GPU进行大规模训练。
    • 广泛的应用场景:从简单的线性回归到复杂的深度神经网络都可以实现。
  • 应用场景:

    • 自然语言处理
    • 图像识别
    • 强化学习
5.2.2 PyTorch

PyTorch 是 Facebook AI 研究实验室(FAIR)开发的一款基于 Torch 的开源机器学习库。相比于 TensorFlow,PyTorch 更加灵活且易于调试。

  • 特点:

    • 动态图执行:用户可以在运行时动态构建计算图,便于调试和原型设计。
    • 自动微分:通过自动求导功能简化了反向传播的实现过程。
    • 简洁的API:提供了直观且简洁的接口,易于理解和使用。
  • 应用场景:

    • 研究原型设计
    • 高级研究项目
    • 生产部署

5.3 机器学习工具的选择和比较

选择合适的机器学习工具取决于项目的具体需求、团队的技术背景以及预算等因素。以下是一些主要考虑因素:

  • 项目规模:大型项目可能需要分布式计算的支持,这时 TensorFlow 可能更合适。
  • 灵活性与速度:如果项目需要快速迭代和调试,PyTorch 的动态图可能会更加便捷。
  • 社区支持:活跃的社区意味着更多的资源和支持,这对于解决遇到的问题非常有帮助。
  • 特定功能需求:某些框架可能针对某些特定任务进行了优化,例如 TensorFlow 对于强化学习的支持。
工具最佳适用场景特点社区支持
TensorFlow大型项目、生产环境静态图、分布式计算非常活跃
PyTorch快速原型设计、研究项目动态图、易于调试非常活跃
Scikit-learn传统机器学习任务简单易用、广泛的数据处理功能活跃

在选择工具时,建议先了解每个工具的核心特性,并结合实际项目需求做出决定。同时,尝试不同的工具也是一种很好的学习方式,可以帮助开发者更好地理解不同框架之间的差异。

6. 实际应用和案例研究

6.1 金融行业的智能风险管理

机器学习技术在金融行业中被广泛应用,特别是在风险管理方面。银行和其他金融机构利用机器学习算法来预测信贷风险、检测欺诈行为,并进行投资决策。

案例一:信用评分系统

  • 背景:传统的信用评分方法依赖于人工规则和历史数据的简单统计分析,这种方法往往不够精确且无法捕捉到复杂的模式。
  • 解决方案:采用监督学习算法如逻辑回归或随机森林模型对客户的还款记录、收入状况、职业信息等多维度数据进行分析,从而建立更准确的信用评分模型。
  • 效果:通过机器学习模型可以显著提高预测准确性,减少不良贷款的比例,同时也能为客户提供更个性化的金融服务。
数据源特征示例模型选择
客户档案年龄、收入水平随机森林
还款记录历史违约次数逻辑回归
社交媒体用户活跃度支持向量机

案例二:交易欺诈检测

  • 背景:随着在线支付的普及,交易欺诈事件频发。
  • 解决方案:使用无监督学习方法(如聚类分析)结合异常检测技术识别出与正常交易模式不符的行为。
  • 效果:实时监测可疑交易并及时拦截,有效降低欺诈损失。

6.2 医疗健康领域的智能辅助诊断

医疗领域是机器学习另一个重要的应用场景,尤其是在辅助诊断、疾病预测等方面发挥了重要作用。

案例一:皮肤癌早期筛查

  • 背景:皮肤癌如果能早期发现治疗成功率会大大提高。
  • 解决方案:基于深度学习的图像分类技术,通过对大量皮肤病变图片的学习训练,开发出能够自动识别恶性皮肤病变的系统。
  • 效果:医生可以通过该系统快速判断病灶性质,大大提高了诊断效率和准确性。

案例二:糖尿病并发症预测

  • 背景:糖尿病患者容易引发多种并发症,如视网膜病变等。
  • 解决方案:构建包含血糖控制情况、生活习惯等多因素的预测模型,以预测未来发生并发症的风险。
  • 效果:帮助医生提前采取干预措施,降低并发症的发生率。

6.3 制造业的质量控制与优化

制造业中引入机器学习可以帮助企业实现生产过程的自动化监控,提升产品质量。

案例一:缺陷检测系统

  • 背景:传统的人工检查方式效率低下且易出错。
  • 解决方案:采用计算机视觉技术,结合卷积神经网络(CNN),对生产线上的产品进行实时图像分析,识别出不符合标准的产品。
  • 效果:大幅提高检测精度和速度,减少次品率,降低生产成本。

案例二:设备故障预测

  • 背景:生产设备的突发故障会导致生产线停顿,影响生产效率。
  • 解决方案:利用时间序列分析和预测算法,根据设备的历史运行数据预测可能发生的故障。
  • 效果:通过提前维护保养,避免了计划外的停工时间,确保生产线的稳定运行。

以上案例展示了机器学习如何在不同行业中解决实际问题并创造价值。随着技术的进步和数据量的增长,未来机器学习的应用将更加广泛和深入。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/388544.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

(39)智能电池

文章目录 前言 1 通过任务规划器进行设置 2 补充信息 3 限制条件 4 参数说明 前言 虽然还不是很普遍,但智能电池更容易从飞行器上安装和拆卸,并且能够提供更多关于电池状态的信息,包括容量、单个电池电压、温度等。 ArduPilot 支持几种…

qt的信号槽连接成功,但是就是无法触发槽函数。你必须使用connect的第5个参数,Qt::QueuedConnection

signals:void sends(); public slots:void sl();//这种是默认自动连接,故第五个参数不用写connect(this,&MainWindow::sends,this,&MainWindow::sl);emit sends();void sl() {}如果connect连接成功,但是无法触发槽函数。你应该使用第五个参数&…

【vue-cli】vue-cli@2源码学习

vue-cli 2 源码 @vue/cli: 3.11.0创建项目 vue create 项目名称 @vue/cli: 2.x.x 创建项目 vue init webpack yhh-project 脚手架初始化项目流程: 下载vue/cli@2 源码 下载完成后初始化 npm i 创建项目 vue init webpack yhh-project vue-init: bin/vue-init #!/usr/bin/e…

与Zoom集成获取会议开始和结束事件

一、注册一个Zoom免费帐号(需要在国外注册,国内不允许) 二、进入Zoom应用市场创建一个应用 点击”发展”(开发)菜单,选择构建应用。 同意条款: 选择应用类型: 设置应用信息&#x…

Linux进程控制——进程程序替换、bash的模拟实现

文章目录 exec系列函数execlexeclp和execle execv系列函数bash的模拟实现实现思路完整代码其他问题 在学习进程的时候,我们想fork一个子进程,然后就可以给他布置任务了 但是如果我们分成两个人开发,父子进程分别负责不同的任务,等…

编程小白如何成为大神?大学新生的最佳入门攻略

目录 方向一:选择适合的编程语言 方向二:制定有效的学习计划 方向三:避免常见的学习陷阱 方向四:额外建议 编程已成为当代大学生的必备技能,但面对众多编程语言和学习资源,新生们常常感到迷茫。如何选择…

深度学习模型服务端部署——flask+gunicorn+supervisor+nginx+docker

前言:深度学习模型经过前期的训练调优评估,最终得到一个精度速度满足要求的模型(.pth, .ckpt,或者.onnx等等格式),但模型要实际用起来,还得部署起来,部署分为在移动端芯片上和服务器上。在移动端芯片部署通…

大龄程序员转型攻略:拥抱人工智能,开启新征程

前言 随着科技的飞速发展,人工智能浪潮席卷全球,相关岗位炙手可热。在这个背景下,许多大龄程序员开始思考如何转型,以适应时代的变化。结合自身编程基础,大龄程序员可以学习机器学习、深度学习算法,投身于…

蓝桥杯 Python 研究生组-2023-省赛-工作时长

蓝桥账户中心https://www.lanqiao.cn/problems/3494/learning/ 问题描述 小蓝手里有一份 20222022 年度自己的上班打卡记录文件,文件包含若干条打卡记录,每条记录的格式均为“yyyy-MM-dd HH:mm:ssyyyy-MM-dd HH:mm:ss”,即按照年-月-日 时:…

转录组数据去批次方法整理(combat,combat-seq,removeBatchEffect)

为什么需要去除批次效应? 批次效应是指样本在不同批次处理及测量的情况下引入与生物学情况不相关的技术误差,比如不同试剂耗材,不同操作者,不同的实验时间等。 正是因为这些非生物学的因素存在就有可能会导致我们的结果偏离真实…

网络通信---UDP

前两天做了个mplayer项目,今日继续学习 网络内容十分重要!!! 1.OSI七层模型 应用层:要传输的数据信息,如文件传输,电子邮件等(最接近用户,看传输的内容类型到底是什么) …

精进日常:每日练习与明智取舍的艺术

目录 题目1.对于非运行时异常,程序中一般可不做处理,由java虚拟机自动进行处理。2.下面哪个关键字可以用于Java的构造方法上?3.以下代码执行的结果显示是多少( )?注解总结 题目 选自牛客网 1.对于非运行时…

[工具推荐]前端加解密之Burp插件Galaxy

如果觉得该文章有帮助的,麻烦师傅们可以搜索下微信公众号:良月安全。点个关注,感谢师傅们的支持。 免责声明 本号所发布的所有内容,包括但不限于信息、工具、项目以及文章,均旨在提供学习与研究之用。所有工具安全性…

前后端demo-WarehouseManagement

前端 数据库 其他 1.git下来,解决依赖问题,前端报错因为字体文件丢失,下载字体放到fonts文件夹字体.zip官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘 2.后端login验证,前端需要账号格式,linqq.com 3.自己…

国产麒麟操作系统下搞单机版

去年纪委单位的一个项目,因为单位保密性质,档案必须要保密,要求采用单机版, 要求跟EXE那样,双击打开,阿公单位信息人员电脑操作水平化滞后还是相当严重啊。 去年已经给他花了时间按他们的要求实现了。 上周…

嵌入式C++、ROS 、OpenCV、SLAM 算法和路径规划算法:自主导航的移动机器人流程设计(代码示例)

在当今科技迅速发展的背景下,嵌入式自主移动机器人以其广泛的应用前景和技术挑战吸引了越来越多的研究者和开发者。本文将详细介绍一个嵌入式自主移动机器人项目,涵盖其硬件与软件系统设计、代码实现及项目总结,并提供相关参考文献。 项目概…

Day14-Servlet后端验证码的实现

图片验证码的生成采用的是Kaptcha; Kaptcha是一个高度可配置的验证码生成工具,由Google开源。它通过一系列配置文件和插件,实现了将验证码字符串自动转换成图片流,并可以与session进行关联,从而在验证过程中使用&#…

unity2D游戏开发17战斗精灵

导入 将PlayerFight32x32.png拖Player文件夹进去 设置属性 创建动画剪辑 选中前四帧,右键Create|Animation,将动画命名为player-ire-east 其他几个动画也创建好后,将其拖到Animations|Animations文件夹 选中PlayerController,再点击Animator 创建新的Blend Tree Graph,并重…

mysql逻辑架构与sql执行过程

目录 1.背景 2.mysql逻辑架构图 3.逻辑架构解读 第一层:连接层 第二层:服务层 1.Management Serveices & Utilities 2.SQL Interface:SQL接口 3.Parser:解析器 4.Optimizer:查询优化器 5.Caches 和 Buffers:查询缓存组件 第三层:存储引擎层 第四层:数据存储层 …

后端笔记(2)--JDBC

1.JDBC简介 *JDBC(Java DataBase Connectivity)就是使用java语言操作关系型数据库的一套API *JDBC本质:(可以使用同一套代码,操作不同的关系型数据库) ​ *官方定义的一套操作所有关系型数据库的规则,即接口 ​ *各…