我正在尝试自学一些机器学习,并且一直在使用MNIST数据库(http://yann.lecun.com/exdb/mnist/)这样做.该网站的作者在98年写了一篇关于所有不同类型的手写识别技术的论文,可在http://yann.lecun.com/exdb/publis/pdf/lecun-98.pdf上找到.
提到的第10种方法是"切线距离分类器".这个想法是,如果你将每个图像放在一个(NxM)维向量空间中,你可以计算两个图像之间的距离,作为超平面之间的距离,每个超平面是通过取点来给出超平面,并旋转图像,重新缩放图像,翻译图像等.
我想不出足以填补遗漏的细节.我知道其中大多数都是线性算子,那么如何使用这个事实来创建超平面呢?一旦我们有了超平面,我们如何与其他超平面保持距离?
math classification machine-learning image-processing image-recognition
我正在编写一些 SymPy 代码来处理带有虚数的符号表达式。
首先,我想让它把 x 和 y 作为实数,并找到 x=iy 的解决方案。所以我可以这样做。
x, y = sympy.symbols("x y", real=True)
print(sympy.solve([x-sympy.I*y]))
Run Code Online (Sandbox Code Playgroud)
(SymPy solve 需要一个值列表,所有这些都必须是 0。所以 x-iy=0 => x=iy)。SymPy 会正确地告诉我
[{x: 0, y: 0}]
Run Code Online (Sandbox Code Playgroud)
但是,如果我以(理论上相同的)方式执行此操作:
x, y = sympy.symbols("x y")
print(sympy.solve([x-sympy.I*y, sympy.im(y), sympy.im(x)]))
Run Code Online (Sandbox Code Playgroud)
然后现在 SymPy 告诉我
[{re(y): y, re(x): I*y, im(x): 0, x: I*y, im(y): 0}]
Run Code Online (Sandbox Code Playgroud)
这在技术上是正确的,但并没有为我做所有的事情。这只是 SymPy 中的一个限制,还是我可以通过以这种方式约束复数 x 和 y 来给我 x=y=0 ?
我正在测试我正在编写的汇编程序,它生成X86指令.我想做这样的事情来测试指令是否有效.
#include<stdio.h>
unsigned char code[2] = {0xc9, 0xc3};
int main() {
void (*foo)();
foo = &code;
foo();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
但是,由于DEP,OS X似乎阻止了这种情况.有没有办法(a)禁用此程序的DEP或(b)以另一种格式输入字节,以便我可以跳转到它们.
我正在编写一个应用程序,它需要获取屏幕上像素的颜色以运行不同的自动化测试。
(是的,我知道预先存在的自动化测试库。不,我不能使用它们。)
目前,我正在用 Java 编写,该程序主要执行以下操作:
Robot r = new Robot();
for (int i = 0; i < 10; i++)
for (int j = 0; j < 10; j++)
r.getPixelColor(i*20, j*20);
Run Code Online (Sandbox Code Playgroud)
这样做的问题是它真的很慢。进行该扫描大约需要一秒钟。(每像素 10 毫秒。)有两个问题:(1)我希望它很快,(2)在一秒钟内,屏幕已经改变了。由于各种原因,屏幕每半秒只更新一次,所以唯一重要的问题是(1)。
有没有办法更快地获取像素颜色信息?如果没有 Java 库可以做到这一点,我很高兴听到 C(或其他)方法可以做到这一点。
我在尺寸为m的超球面上(在10 ^ 4到10 ^ 6之间)有n个(大约10 ^ 5)个点.
我要做一堆形式的查询"给定一个点p,找到最接近的n个点到p".我将讨论其中的n个问题.
(不确定超球面事实是否有帮助.)
解决此问题的简单朴素算法是,对于每个查询,将p与所有其他n个点进行比较.这样做n次最终会得到O(n ^ 2 m)的运行时间,这对我来说太大了,无法计算.
我可以使用更高效的算法吗?如果我能用O(nm)得到一些很好的对数因子.
我正在开发一个程序,将对象分为两组,并且测量每个对象与其他对象的相似程度,并且我想找到将它们匹配在一起的最佳方法。
如果集合是由编辑距离定义的单词和距离,则集合“this”、“is”、“a”、“test”与“and”、“this”、“is”的最佳匹配, “最好”,那么我会将“this”与“this”(得分为0)匹配,“is”与“is”(得分为0),“a”与“and”(得分为0) 2)、“最佳”和“测试”(得分为 1)。
我已将问题简化为寻找最大二分匹配问题。这是一个描述:
给定一个边具有整数权重的二分图,找到一组边,使得 (a) 每个顶点在该组中只有一条边,并且 (b) 该组中的权重总和具有最大大小。
我不相信这个问题是 NP 完全的(或者,即使不是,但如果算法可能非常慢),是否有某种方法可以在一定程度上近似答案?
目前,我选择最小权重边,删除它及其连接的节点,然后重复,但这似乎不是最佳的。我考虑过将其简化为某种流程问题(就像处理正常的二分匹配一样),但在这种情况下它不起作用。