小编cod*_*her的帖子

什么是悬垂指针?

我知道这是很常见的问题,但对我来说还是新的!

我不明白悬挂指针的概念,谷歌搜索,并编写测试方法找到一个.

我只是想知道这是一个悬垂的指针吗?无论我发现什么样的东西都回来了,我在这里尝试类似的东西!

谢谢!

void foo(const std::string name)
{
    // will it be Dangling pointer?!, with comments/Answer
    // it could be if in new_foo, I store name into Global.
    // Why?! And what is safe then?
    new_foo(name.c_str());
}

void new_foo(const char* name)
{
    // print name or do something with name...   
}
Run Code Online (Sandbox Code Playgroud)

c++ pointers dangling-pointer

43
推荐指数
5
解决办法
5万
查看次数

计算决策树中的熵(机器学习)

我知道计算熵的公式:

H(Y) = - ? (p(yj) * log2(p(yj)))
Run Code Online (Sandbox Code Playgroud)

在单词中,选择一个属性,并为每个值检查目标属性值...所以p(yj)是节点N的模式在类别yj中的一部分 - 一个用于目标值中的true,一个用于false.

但我有一个数据集,其中目标属性是价格,因此范围.如何计算这种数据集的熵?

(简称:http://decisiontrees.net/decision-trees-tutorial/tutorial-5-exercise-2/)

machine-learning decision-tree

8
推荐指数
1
解决办法
7488
查看次数

实现支持向量机 - 高效计算克矩阵K.

我正在用Python实现mnist数据的SVM,现在我正在使用cvxopt来解决QP并恢复alpha.

但我的问题是计算K-gram矩阵**高效**,我开始只有两个类(数字6和0),训练样例的数量少于前1k,下一个10K.

为了更快地计算整个1k x 1k矩阵,我正在使用Process,并提供不同的原始计算.但它仍需要2分钟 - 它的rbf - 高斯.(10k还在运行!)

如果任何人都在努力或者可能是Python爱好者可以帮助我,这将是伟大的!

PS:如果有人不知道计算克数矩阵,这里有详细说明:它很简单:

for i in range(1k):
    for j in range(1k):
         for K[i,j] = some_fun(x[i], x[j])
Run Code Online (Sandbox Code Playgroud)

其中some_fun - 是点积或花式高斯.

我使用的是python 2.7,numpy和Mac Air 4G RAM,128G固态.

[编辑]如果有人来过这里!是SVM需要更长的时间......如果你正在做多分类,那么你必须再次计算k-gram矩阵...所以它需要很长时间,所以我建议实现算法并检查它两次,让它运行一夜!但是你肯定会在第二天看到好结果!:)

python machine-learning svm

5
推荐指数
1
解决办法
4774
查看次数

从C中的二进制文件调用函数(main())

我有简单的c程序,比如my_bin.c:

#include <stdio.h>

int main()
{
    printf("Success!\n");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我用gcc编译它并得到了可执行文件:my_bin.

现在我想使用另一个C程序调用main(或运行此my_bin).我用mmap和函数指针做了这样的事情:

#include <stdio.h>
#include <fcntl.h>
#include <sys/mman.h>
int main()
{
   void (*fun)();
   int fd;
   int *map;
   fd = open("./my_bin", O_RDONLY);
   map = mmap(0, 8378, PROT_READ, MAP_SHARED, fd, 0);
   fun = map;
   fun();
   return 0;
}
Run Code Online (Sandbox Code Playgroud)

编辑1:添加PROT_EXEC从响应中更清楚......我想在第二个程序中调用外部二进制程序.

我不知道如何使用main(其他程序)的地址初始化函数指针.任何的想法?

编辑2:

为什么seg故障,谷歌搜索后,想通了,因为我的大小和mmap的偏移量参数.它应该是pagesize的倍数.[参考:Segfault在C中使用mmap读取二进制文件

现在代码看起来像:

#include <stdio.h>
#include <fcntl.h>
#include <sys/mman.h>
int main()
{
   void (*fun)();
   int fd;
   int *map;
   int offset = 8378;
   int pageoffset = offset % getpagesize();
   fd = open("./my_bin", O_RDONLY); …
Run Code Online (Sandbox Code Playgroud)

c mmap binary-data

4
推荐指数
1
解决办法
3196
查看次数

梯度下降随机更新-停止准则和更新规则-机器学习

我的数据集具有m要素和n数据点。设w一个向量(待估计)。我正在尝试使用随机更新方法来实现梯度下降。我的最小化功能是least mean square

更新算法如下所示:

for i = 1 ... n data:
    for t = 1 ... m features:
         w_t = w_t - alpha * (<w>.<x_i> - <y_i>) * x_t
Run Code Online (Sandbox Code Playgroud)

其中<x>是要素的原始向量m<y>是真实标签的列向量,并且alpha是一个常数。

我的问题:

  • 现在根据Wiki,我不需要遍历所有数据点,并且当错误足够小时我可以停止。是真的吗

  • 我不明白这里应该是什么停止标准。如果有人可以帮助您,那就太好了。

  • 使用此公式-我使用的公式for loop正确吗?我相信(<w>.<x_i> - <y_i>) * x_t是我的?Q(w)

machine-learning linear-regression stochastic gradient-descent

4
推荐指数
1
解决办法
5952
查看次数

std::span 中 std::dynamic_extent 的用途是什么

我知道std::span是静态的。它只是一堆向量/数组/等的视图。元素。

我看到span的构造函数,好像std::dynamic_extent是在4-6中使用的。但在这些构造函数中,大小有一个必需的模板参数 - std::size_t N。对我来说,这意味着大小/计数/长度在编译时是已知的。那么到底是什么std::dynamic_extent

c++ std std-span

4
推荐指数
1
解决办法
403
查看次数

msleep(msec) vs msleep_interruptible(msec)

我不明白这些用法:msleep而且msleep_interruptible......我知道一个是可中断的,另一个是不可中断的,但找不到我可以实际看到的某些用法。我试着用函数调用线程 msleep 并打印说“你好!” 和 msleep(msleep_interruptible) 之后,但看不出任何区别。任何人都可以帮助我,可以举个例子吗?

c linux sleep signals

2
推荐指数
1
解决办法
4911
查看次数

用函数构造 std::thread

这有效:

    std::thread t = std::thread(printf, "%d", 1);
Run Code Online (Sandbox Code Playgroud)

这不起作用:

t2 = std::thread(my_thread_func , std::ref(context));
Run Code Online (Sandbox Code Playgroud)

或者

std::thread t1 = std::thread(my_thread_func , context_add);
Run Code Online (Sandbox Code Playgroud)

my_thread_func 定义:

int my_thread_func(long long *context_add)
Run Code Online (Sandbox Code Playgroud)

上下文是一些结构 .. 我正在尝试“按引用传递”

错误:

function call missing argument list;

error C2661: 'std::thread::thread' : no overloaded function takes 2 arguments
Run Code Online (Sandbox Code Playgroud)

>>> 编辑 <<<

抱歉混淆...实际上我是在 MainPage 的公共场合定义 my_thread_func,所以我不能使用本机类型,因此我认为值得长期尝试并给出地址。

/* test data types, context for thread function, in .cpp (not in namespace) */
typedef struct _test_context
{
    HANDLE hHandle;
    unsigned int flag;
}test_context_t;

test_context_t *context;
//Do something …
Run Code Online (Sandbox Code Playgroud)

c++ multithreading visual-c++ c++11 visual-studio-2012

1
推荐指数
1
解决办法
4320
查看次数

神经网络 - 更新权重矩阵 - 反向传播算法

我执行与教授安德鲁·吴的帮助神经网络讲座或 ,用图31算法.

我认为我理解前向传播和后向传播很好,但在每次迭代后与更新权重(theta)混淆.

Q1.何时以及如何更新权重(theta)矩阵 - theta1,theta2?

Q2.什么是大三角洲?[解决了,谢谢@xhudik]

Q3.我们是否必须添加+1(输入和隐藏层中的偏置单位?)

machine-learning neural-network

1
推荐指数
1
解决办法
4340
查看次数