感知器基础

假设集 一般算法 口袋算法 MATLAB 程序 function [w, update_times] = my_perceptron(x, y, eta) % 基本的感知器算法,在没有错分样本时停止 % x 输入 x向量 % y 输入 y向量 % eta 输入 w <- w + eta*yt*xt % w 输出 权重 % update_times 输出 w更新次数 % 初始化参数和变量 [dataSetSize, xSize] = size(x); w = zeros(xSize,… 阅读全文

机器学习的类别

监督学习 从训练资料中学到或者建立一个模式,并依此模式推测新的实例。训练资料是由输入数据和预期输出数据组成。模式的输出可以是一个连续的值(称为回归分析)或者分类标签(称为分类)。 非监督学习 没有给定事先标记过的训练示例,自动对输入的数据进行分类或分群。 强化学习 智能体以“试错”的方式进行学习,通过与环境进行交互获得的奖赏指导行为,目标… 阅读全文

调度的三种类型

活动调度 在活动调度基础上通过更改机器上的加工顺序,使至少一个工序可以提前加工,必然导致其他工序完成时间推迟。也就是说,在活动调度中,在保留可行性的前提下,没有任何工序可以插入加工时间表前面的空隙中。 半活动调度 在半活动调度基础上更改机器上的加工顺序,使至少一个工序可以提前加工。 无延迟调度 存在一个工件等待加工时,不存在可用的处于空闲的机器。注意,最优解一般不在无延迟调度内。… 阅读全文

基于POX交叉的遗传算法求解流水车间调度(J-Shop)问题一

对于流水车间调度问题,n个工件在m台设备上加工,已知每个工件每个工序使用的机器和每个工件每个工序所用时间,通过决策每个机器上工件的加工顺序和每个工序的开始时间,使完成所有工序所用时间(makespan)最小。具有下列约束: 不同工件的工序之间没有顺序约束。 某个工序一旦开始加工就不能中断。 每个机器在某一时刻只能加工一个工序。 机器不发生故障。 本文使用基于工序的编码方式,轮盘赌选择… 阅读全文

单纯形法:格式与迭代

格式 目标函最大化 所有约束都是等式(变量的非负限制除外),并且具有非负右端项。 所有的变量都是非负的。 将不等式转化成带有非负右端项的等式约束 为了把(≤)不等式约束转换成等式约束,在约束的左端添加非负的松弛变量。为了把(≥)不等式约束转换成等式约束,在约束的右端添加非负的剩余变量。 e.g. 将约束6x_1+4x_2≤24转换成6x_1+4x_2+s_1=24,s_1≥0,其中s_1 是松弛变量。 将约束x_1+x_2≥800转换成x_1+x_2−s_2… 阅读全文

什么是机器学习?

什么是机器学习? 假设用P来评估计算机程序在某任务类T上的性能,若一个程序通过利用经验E在T任务上获得了性能改善,则我们就说关于T和P,程序对E进行了学习。 上图中,数据是经验E的来源,能力表示在任务T上的性能改善,机器学习利用从数据中计算得来的经验E来改善任务T上的性能(由P评估)。 什么时候使用机器学习(机器学习的要素)? 存在一些可被学习的模式 模式无法通过编程定义 存在足够的关于这个模式的数据… 阅读全文

开始使用MiniZinc

MiniZinc是一个用来描述整数和实数的优化约束和决策问题的语言,它允许用户以接近问题的数学公式的方式编写模型。 MiniZinc界面如下: 着色问题 首先来看一个简单的着色问题:以州为单位,用3种颜色为澳大利亚地图着色,相邻的两个州不能用同一种颜色。澳大利亚地图如下: 在MiniZinc中写入如下代码: % 用nc种颜色为澳大利亚地图着色 int: nc = 3; var 1..nc : wa; var 1..nc: nt;… 阅读全文

k-近邻算法

k-近邻算法(kNN)采用测量不同特征值之间的距离方法进行分类。 数据范围 数值型和标称型。 优点 精度高、对异常值不敏感、无数据输入假定。 缺点 计算复杂度高、空间复杂度高。 一般流程 收集数据。 准备数据:格式化数据格式、归一化。 分析数据。 训练算法:不适用于k-近邻算法。 测试算法:计算错误率。 使用算法。 实施步骤 对未知类别属性的数据集中的每个点依次执行以下操作: 计算已知类别数据集中的点与当前点之间的距离; 按照距… 阅读全文