简答题:

  1. KNN与k-means的异同点:
  • KNN是一种监督学习算法,用于分类和回归任务;而k-means是一种无监督学习聚类算法。
  • KNN根据最近邻实例的标签进行分类,而k-means将数据点分成k个不同的簇。
  • KNN使用计算距离的方法来判断样本之间的相似性,而k-means使用迭代更新的方式来找到数据点的簇中心点。
  • KNN的预测结果是基于与输入样本最相似的训练样本的标签,而k-means返回每个数据点所属的簇的索引。
  1. 朴素贝叶斯算法流程—处理垃圾邮件:
  • 收集和准备垃圾邮件和非垃圾邮件的训练数据。
  • 对训练数据进行文本预处理,如分词、去除停用词、转换为向量表示。
  • 计算每个特征(单词)在不同类别(垃圾邮件和非垃圾邮件)下的条件概率。
  • 对于新的邮件,进行同样的文本预处理,并利用贝叶斯公式和条件概率计算出该邮件属于垃圾邮件和非垃圾邮件的概率,选择概率较大的类别作为预测结果。
  1. SVM(线性可分,非线性可分的各自的判断数学表达):
  • 在线性可分的情况下,SVM的决策边界可以表示为w^T*x + b = 0,其中w是权重向量,b是偏置项。
  • 在非线性可分的情况下,SVM使用核函数将输入数据映射到高维空间,通过变换后的特征空间实现线性可分。数学表达变为w^T*ϕ(x) + b = 0,其中ϕ(x)是通过核函数将输入数据映射到高维空间得到的特征向量。
  1. Apriori关联规则挖掘:
    Apriori算法是一种用于挖掘频繁项集和关联规则的算法。其基本思想是通过迭代的方式从数据集中找出频繁的项集。
  2. PCA与LDA:
  • 主成分分析(PCA)是一种用于数据降维的技术,通过线性变换将原始数据映射到新的特征空间,使得新的特征具有最大的方差。
  • 线性判别分析(LDA)是一种监督学习的降维技术,它在保留类别间差异最大的同时,尽可能的减小类别内部的差异。
  1. 推荐算法:
    推荐算法是一种利用用户行为和偏好来预测用户可能感兴趣的物品或内容的算法。常见的推荐算法包括基于内容的推荐、协同过滤推荐、基于矩阵分解的推荐等。这些算法利用用户的历史数据,如购买记录、评分、点击行为等,通过分析和学习用户的个性化喜好,为用户提供个性化的推荐结果。
  2. Sunday算法:
    Sunday算法是一种用于字符串匹配的快速算法,用于在一个字符串(主串)中查找指定的模式串。与常见的字符串匹配算法如KMP算法和Boyer-Moore算法相比,Sunday算法的特点是简单易懂且易于实现。它的基本思想是利用模式串中最后一个字符在主串中的出现位置来决定模式串的滑动距离,从而提高字符串匹配的效率。
  3. 最短路径:
    最短路径是指在一个图中寻找两个顶点之间路径权重最小的路径。常见的最短路径算法有Dijkstra算法、Bellman-Ford算法和Floyd-Warshall算法。Dijkstra算法适用于单源最短路径问题,Bellman-Ford算法适用于包含负权边的图,Floyd-Warshall算法适用于任意两点之间的最短路径问题。
  4. 背包问题:
    背包问题是一种经典的组合优化问题,旨在找到在给定容量的背包中放置物品以获取最大价值的方式。背包问题有多个变种,包括0-1背包问题(每个物品最多放置一次)、无限背包问题(每个物品可以无限次放置)和多重背包问题(每个物品有一定的可放置次数限制)等。
  5. 距离的度量方法:
    在机器学习和模式识别中,距离度量是用于衡量样本之间相似性或差异性的方法。常见的距离度量方法包括欧氏距离、曼哈顿距离、切比雪夫距离和闵可夫斯基距离等。选择适当的距离度量方法取决于具体的问题和数据特征,以及对不同属性或维度的权重考虑。

    二.算法设计(与简答题可能会交替)(30分)

  6. 排序算法设计:
    排序算法是对一组元素进行重新排列,使其按照一定的顺序进行排列。常见的排序算法包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。这些排序算法根据不同的比较和交换操作来实现元素的排序,具有不同的时间和空间复杂度。

  7. 优化算法设计:
    优化算法是用于解决优化问题的算法,旨在寻找一个最优解或者近似最优解。常见的优化算法包括贪心算法、动态规划、遗传算法、模拟退火算法、粒子群优化算法等。这些算法不同的思想和策略用于在解空间中搜索最优解或者接近最优解。
  8. 常见的深度学习模型及优缺点:
    常见的深度学习模型包括多层感知器(MLP)、卷积神经网络(CNN)、循环神经网络(RNN)和生成对抗网络(GAN)等。优点是深度学习模型可以自动学习并提取特征,具有很强的表达能力和泛化能力。缺点是需要大量的训练数据和计算资源,容易出现过拟合问题,并且模型可解释性相对较弱。
  9. 常见的分类器及其数学基础:
    常见的分类器包括朴素贝叶斯分类器、支持向量机(SVM)、决策树、随机森林等。这些分类器基于不同的数学基础和算法思想来进行分类任务。朴素贝叶斯分类器基于贝叶斯定理,SVM基于最大间隔原则,决策树基于信息熵或基尼系数,随机森林基于决策树的集成等。
  10. 递归与非递归的转换:
    递归是指函数在其定义中调用自身的过程,而非递归是指不使用递归调用来解决问题的过程。递归的转换到非递归一般需要借助辅助数据结构,如栈。具体的转换方法取决于所处理问题的特点,可以使用循环迭代和栈的方式来模拟递归过程。
  11. 优化、单目标与多目标评价函数设计:
    优化问题涉及到在一定的约束条件下寻找最好(最大或最小)的解。单目标优化是在一个目标函数下寻找最优解,而多目标优化是在多个目标函数下寻找最优的解集合,其中不存在一个单一的最优解。评价函数设计取决于具体问题,需要根据问题的需求和目标来确定所优化的目标以及相关的约束条件。

    三,填空题(10分),选择题(20分)

  12. 监督学习与无监督学习:
    监督学习是一种机器学习方法,其中训练数据集包括输入特征和对应的标签或输出。监督学习的目标是通过学习数据集中的模式和规律来建立一个预测模型,使其能够预测新的输入样本的标签或输出。无监督学习是一种机器学习方法,其中训练数据集只包含输入特征而没有标签或输出。无监督学习的目标是在数据集中发现隐藏的模式、结构或关系,常用的方法包括聚类、降维和异常检测等。

  13. 背包问题:
    背包问题是一类组合优化问题,旨在确定如何选择一定数量的物品放入有限容量的背包,使得所选物品的总价值最大(或总重量最小)。背包问题常分为0-1背包问题(每个物品只能选取一次)、完全背包问题(每个物品可以无限次选取)和多重背包问题(每个物品有限次选取)等。

  14. 分支限界法:
    分支限界法是一种求解组合优化问题的算法,在解空间中通过剪枝和限制分支的策略来减少搜索空间。该方法通过构建搜索树,并使用上界函数来确定节点是否被扩展。分支限界法通常用于求解可以通过可行性和优先级函数进行界定的问题,如图着色、旅行商问题等。
  15. 聚类算法(层次,密度,网格):
    聚类算法是一类无监督学习方法,旨在将数据集中的样本划分为若干个类别,使得同一类别内的样本相似度较高,而不同类别之间的相似度较低。常见的聚类算法包括层次聚类(通过计算样本之间的相似性来逐步合并类别)、密度聚类(通过样本在特征空间中的密度来划分类别)和网格聚类(通过将特征空间划分为网格来聚类样本)等。
  16. A*算法:
    A算法是一种启发式搜索算法,用于在有向图或带权图中找到两个节点之间的最短路径。该算法基于规划搜索图中每个节点的代价估计值,并通过选择代价最小的节点来扩展搜索。A算法使用启发函数(估计代价)以及实际代价(已经消耗的代价)来选择下一个节点,以快速找到最短路径。
  17. 哈希算法:
    哈希算法是一种将数据转换为固定长度散列值(哈希值)的算法。它将输入数据映射到一个较小的哈希值空间,通过对哈希值进行计算和比较来进行数据的索引、存储和快速查找。哈希算法常用于数据加密、唯一标识和数据校验等领域。常见的哈希算法包括MD5、SHA-1和SHA-256等。
  18. 线性回归:
    线性回归是一种常见的机器学习方法,用于建立自变量(输入特征)与因变量(输出)之间的线性关系模型。它的目标是通过拟合一个线性方程来预测连续型变量。线性回归假设因变量与自变量之间存在线性关系,并通过最小化残差平方和来估计模型的系数。通过这个线性模型,可以进行预测和分析自变量与因变量之间的关系。
  19. 支持度与置信度计算:
    在关联规则挖掘中,支持度和置信度是两个重要的指标。支持度表示一个项集在数据集中出现的频率,是项集在总项集个数中出现的比例。置信度表示在给定前提下,一个关联规则的条件后项出现的概率,是给定前提和后项出现的关联程度。通过计算支持度和置信度,可以分析数据集中的关联规则强度和频率。
  20. 数据清洗方法:
    数据清洗是数据预处理过程中的一个重要步骤,用于处理和修复数据集中的噪声、缺失、重复、异常和一致性等问题。常见的数据清洗方法包括数据去重、缺失值处理、异常值处理、数据转换和规范化、处理不一致的数据格式等。通过数据清洗,可以提高数据的质量和可靠性,并为后续的分析和建模提供更准确的结果。
  21. 常见数据决策算法:
    常见的数据决策算法是用于从观测数据中提取模式、关联、分类或预测等有用信息的算法。其中包括决策树算法(如CART和ID3算法)、朴素贝叶斯算法、K近邻算法、支持向量机算法(SVM)、随机森林算法以及神经网络算法等。这些算法可以根据数据类型和问题目标选择合适的方法,进行数据分析和预测。
  22. 大数据特点:
    大数据通常具有四个特点:数据量大、数据速度快、数据种类多、数据价值密度低。数据量大意味着需要更多的存储和处理能力,数据速度快需要在实时环境下进行数据处理,数据种类多指数据的多样性和异构性,数据价值密度低表示大数据中包含许多噪声和冗余信息。大数据具有这些特点,带来了挑战和机会,可以通过合适的技术和工具进行挖掘和分析。
  23. 稀疏与特征提取方法:
    在大数据和高维数据中,往往存在稀疏数据和特征维度较高的问题。稀疏数据指数据中大部分的特征值为0,而特征提取方法是处理这种问题的一种技术手段。特征提取方法可以通过降维、选择重要特征或生成新的特征来减少特征维度。常见的方法包括主成分分析(PCA)、线性判别分析(LDA)、稀疏编码(Sparse Coding)和自编码器(Autoencoder)等。
  24. 最短路径问题:
    最短路径问题是在图中找出两个节点之间的最短路径。这种问题可以通过图论和图算法来解决。常见的最短路径算法包括Dijkstra算法、Bellman-Ford算法和Floyd-Warshall算法。这些算法使用不同的策略和技术来找到最短路径,并根据图中边的权重进行路径选择。
  25. 回溯:
    回溯算法是一种通过穷举所有可能的解来求解组合优化问题的方法。它通过递归地尝试所有可能的选择,直到找到满足问题条件的解或者确定无解。回溯算法常用于求解排列、组合、子集和图的遍历等问题,它具有穷举搜索和剪枝的特点,效率取决于问题的规模和约束条件。
  26. 属性量纲转换:
    属性量纲转换是一种数据预处理技术,用于将具有不同量纲(尺度)的特征转换为统一的尺度,以降低不同特征之间的量纲差异对模型预测结果的影响。常用的属性量纲转换方法包括标准化(Standardization)和归一化(Normalization)等。标准化通过减去均值并除以标准差来将特征转换为均值为0,标准差为1的标准正态分布。归一化则通过线性或非线性变换将特征值映射到一个特定的范围,如[0, 1]或[-1, 1]。这些方法可以提高模型的收敛速度和稳定性。