前言
聚类工具箱
评价类工具箱
预测类工具箱
什么是机器学习(以分类为例)
关键纲要理解
易混淆区分
分类与聚类,有不少初学者傻傻分不清。
当谈论分类和聚类时,最简单的区别在于:
-
目标:
-
分类:就像把事物分成已知的类别一样,比如把照片分成“猫”和“狗”。
-
聚类:就像找到数据中相似的组,而不知道这些组是什么,比如找到一堆数据中的不同类型的模式。
-
-
方法:
-
分类:你有一些例子告诉你事物属于哪个类别,你尝试建立一个模型来做类别预测。
-
聚类:你只有数据,你试图找出数据中相似的部分,然后把它们分在一起。
-
-
用途:
-
分类:用于预测已知类别的新数据,像识别照片中的物体。
-
聚类:用于在数据中发现未知的模式,例如市场细分或社交网络中的群组。
-
-
数据需求:
-
分类:需要已知类别的数据进行模型训练。
-
聚类:不需要已知类别,只需考虑数据点之间的相似性。
-
与数模的联系与区别
机器学习VS规划求解VS智能算法
谈及数模,那毫无疑问需要提及以上几个关键词,那么区分以及深刻理解这几个概念,变成了重要的一环。
共性:
都可以用来求解优化问题
区别:
1.机器学习可以用于优化吗?
2.机器学习方法VS规划求解器
二者都可以用于解决优化问题,但它们在方法和适用性上存在一些区别。以下是两者之间的主要区别:
-
方法原理:
-
机器学习方法:机器学习通过从数据中学习模式和关联来做出决策。它可以处理复杂的非线性问题,可以自动地从数据中发现隐藏的模式和信息。
-
规划求解器:规划求解器是基于特定的数学模型和算法,通过对问题的约束和目标函数进行数学建模,来找到最优解。它通常适用于具有已知数学结构的问题。
-
-
数据需求:
-
机器学习方法:机器学习需要大量的数据来训练模型,特别是在深度学习等领域。这可能需要较长的时间来收集和处理数据。
-
规划求解器:规划求解器通常不需要大量的数据,而是需要准确的数学模型和问题约束。
-
-
灵活性:
-
机器学习方法:机器学习方法通常更加灵活,适用于各种类型的问题。它可以自适应地调整模型,以适应数据的变化。
-
规划求解器:规划求解器在处理复杂非线性问题时可能受限,需要在建模阶段确定好问题的数学结构。
-
-
适用领域:
-
机器学习方法:机器学习广泛应用于图像识别、自然语言处理、推荐系统等领域,以及需要从大量数据中学习和适应的问题。
-
规划求解器:规划求解器常用于优化、排程、路径规划等问题,尤其在具有明确的数学描述和模型的情况下效果较好。
-
-
求解速度和准确性:
-
机器学习方法:机器学习方法可能需要较长的训练时间,尤其是在深度学习中。预测结果的准确性通常与数据质量和模型选择有关。
-
规划求解器:规划求解器在适用领域内通常能够在较短的时间内找到准确的解,特别是对于形式化良好的问题。
-
3.影响智能算法求解规划问题精确性的一些因素:
-
问题复杂性:问题的规模和约束会影响算法的求解精度。对于简单问题,智能算法可能能够找到全局最优解,但对于复杂问题,可能只能找到局部最优解或次优解。
-
算法类型:不同类型的智能算法具有不同的求解策略和性能。一些算法如遗传算法、模拟退火等可能会在搜索空间中进行随机探索,有时可以逃离局部最优解,但并不保证全局最优解。
-
参数设置:智能算法通常有一些参数需要设置,这些参数可以影响算法的收敛性和性能。适当的参数设置可能会提高算法的求解精度。
-
启发式规则:算法中的启发式规则或方法会影响算法搜索的方向和速度。优秀的启发式规则可以帮助算法更快地接近最优解。
-
算法的改进和变种:研究者经常改进现有的智能算法或设计新的变种,以提高其求解精度。这些改进可以包括新的搜索策略、初始化方法等。
-
近似解:在某些情况下,即使不能找到全局最优解,也可能找到一个足够接近最优解的近似解,这对很多实际问题来说已经足够有效。
4.求解器VS智能算法
用于求解规划问题的算法和方法有很多种。这些算法可以用来解决排程、路径规划、资源分配等各种优化问题。以下是一些常见的用于求解规划问题的算法:
-
整数规划(Integer Programming):在线性规划的基础上,将变量限制为整数值,用于解决涉及离散决策的问题,如任务分配、生产排程等。
-
线性规划(Linear Programming):用于求解线性目标函数和约束条件下的优化问题,如资源分配、生产优化等。
-
动态规划(Dynamic Programming):适用于具有重叠子问题性质的问题,通过将问题分解为更小的子问题来求解,如背包问题、最短路径问题等。
-
遗传算法(Genetic Algorithms):基于生物进化的思想,通过模拟遗传、变异和选择等过程来寻找优化问题的解。
-
模拟退火算法(Simulated Annealing):通过模拟固体退火的过程,逐步接受较差的解,以避免陷入局部最优解,用于求解组合优化问题。
-
蚁群算法(Ant Colony Optimization):受到蚂蚁觅食行为的启发,通过模拟蚂蚁在路径上的行为来寻找路径规划问题的解。
-
粒子群优化(Particle Swarm Optimization):模拟鸟群或鱼群中的合作行为,通过不断调整粒子的位置来优化问题的解。
-
约束满足问题算法(Constraint Satisfaction Problem,CSP):用于解决带有一系列约束条件的问题,如时间表安排、地图着色等。
-
混合整数规划(Mixed-Integer Programming):结合整数规划和线性规划,适用于同时包含连续和离散变量的问题。
-
规划求解器(Solver):通常是一些商业或开源软件,用于求解特定类型的优化问题,如IBM CPLEX、Gurobi等。
5.智能算法VS机器学习
-
黑箱优化问题:某些优化问题的目标函数可能很复杂,难以用数学公式表示,也不易求解。这种情况下,机器学习算法可以通过在目标函数的输入和输出之间学习关联,构建一个“黑箱模型”,然后使用这个模型来近似求解问题。
-
高维空间优化问题:在高维空间中,传统的优化方法可能遇到维数灾难,效率下降。机器学习方法如神经网络等可以在高维数据中学习有效的表示,从而更好地优化目标函数。
-
非凸优化问题:某些问题的目标函数是非凸的,传统的优化方法可能陷入局部最优解。机器学习方法可以使用随机性和多次迭代来逃离局部最优,并找到全局或更好的解。
-
复杂约束优化问题:一些问题可能有多个复杂的约束条件,使得传统的规划求解方法不易应用。机器学习方法可以通过学习约束的关联性来更灵活地处理这些约束。
-
实时调整问题:在一些实时调整问题中,问题的环境和条件可能会频繁变化,导致问题的动态性。机器学习方法可以通过实时数据来调整模型和决策,适应变化的环境。
需要注意的是,使用机器学习方法作为规划求解器的求解算法可能需要更多的数据和计算资源,以及对模型的调优和验证。此外,机器学习方法在一些问题上可能不如传统的规划求解方法稳定和可解释,因此在选择方法时需要权衡不同的因素。
综上所述,机器学习算法可以在某些情况下有效地充当规划求解问题中的求解算法,但在具体应用时需要根据问题的特性和要求进行权衡和选择。
总结
智能算法 机器学习 类似于玄学 机器去学习 给你模拟出结果 优点 显而易见 灵活 可以解决复杂多样 数据庞大丰富的问题 缺点 在一些情况下的解不如规划求解器那么精确
而规划求解器的优缺点 与上面相反
所以 范围类 并非非常非常精确的结果或者并非一些特定情况下(即5.中的情况 )用智能算法 与 机器学习
反之 规划求解器
监督学习——分类与回归
以下以matlab中的分类学习器和回归学习器这两个工具箱为例。
无监督学习——聚类与降维
强化学习
聚类工具箱
基本说明
添加文件路径即可 matlab中预设值即可 (鼠标右键,如下图所示)
运行 runme 文件
聚类的簇个数
Kmeans计算距离公式
以欧几里得为例子
Kmeans聚类中心公式
中间参数
命令行有代码生成与细节解释
PS:可以根据生成的代码作为基础 ai去修改 改为符合你想要的 如果有细节改动的话 比如最后矩阵图只能工具箱四个指标 你可以自己改代码
聚类结果的解释(类似模型求解)
统计量解释
解释结果 每一类的大概数值 谁最大谁最小类似
可视化解释结果
PS:平行坐标图可以展示多个指标 散点只能展示二维 三维
常用以及重要
此处我单独拎出来解释。
箱线图
PCA
PS:指标特别多的时候才用 杀鸡焉用牛刀 以及这东西还要解释各个主成分
图像细节修改
结果检验
监督——回归工具箱与分类工具箱
回归指标
分类指标1——混淆矩阵的指标
分类指标2——ROC曲线与AUC曲线
模型评估(泛化能力)
何为泛化
说白了 再放一些新数据进行 能不能很好的预测
那么新数据如何而来,用什么方法就显得至关重要,如下:
划分数据集方法
留出法
K折交叉验证
此处不细说,请自行检索资料。此处只给出相应示意图。
选择最好的模型(数据预处理)
PS:核心就一句话,根据上面讲的指标去作为评判标准,谁的分数最高,自然就选择谁。
以监督学习评估可视化为例
PS:有关训练集,测试集,验证集的相关概念请自行检索了解。