
极简代码
五道口纳什
wx公众号/B站:五道口纳什
展开
-
极简代码(一)—— 精确率和错误率的计算
numpy# precisionnp.mean(y_pred == y_true)# error1 - np.mean(y_pred == y_true)theano# errorT.mean(T.neg(y_pred, y_true))# precision1 - T.mean(T.neg(y_pred, y_true))原创 2016-04-26 17:18:06 · 4565 阅读 · 0 评论 -
小议极简代码
brevity is the soul of wit. —— 言贵在简;如果使用的是某个库,或者框架,就使用框架、库内的函数,而不要自己再单独实现;比如求均值,显然使用 T.mean(xent) 或者 xent.mean(),而不是相加求和再平均;原创 2016-11-23 13:04:17 · 1007 阅读 · 0 评论 -
极简代码(八)—— binary activation function
二值化的激活函数:x > 1 ? 1 : -1; ⇒ [1, -1]; x = 0 ⇒ -1;当然也可以使用sign() 函数(求符号函数):sign(x) % 但要注意的是,sign(0) ⇒ ?原创 2016-11-22 10:09:00 · 1179 阅读 · 0 评论 -
极简代码(七)—— SNR
SNR = @(signal, noisy) 20*log10(norm(signal)/norm(signal-noisy))原创 2016-11-21 21:03:32 · 1170 阅读 · 0 评论 -
极简代码(六)—— 返回 0/1 构成的布尔向量
使用逻辑判断式进行赋值,几乎所有的编程语言都支持,逻辑判断返回的 True/False,其实对应着 1/0,以 matlab 获取一个单位样本序列为例:function [x, n] = impseq(n0, n1, n2)n = n1:n2;x = [n == n0]; % 当然也可以稍微啰嗦的一种写法,x = [(n-n0) == 0];原创 2016-11-11 23:48:51 · 1878 阅读 · 0 评论 -
极简代码(五)—— 斐波那契数列
void fib(int n){ int a = 1, b = 0; for (int i = 0; i < n; ++i){ b += a; a = b - a; cout << a << ", " << b << endl; // return a; }}注意:a 记录 fib(k-1),原创 2016-05-28 17:34:10 · 3433 阅读 · 0 评论 -
极简代码(四)—— 分段函数(sinc)的实现
sinc(x)=⎧⎩⎨sin(x)x,1,x≠0x=0\text{sinc}(x)=\left\{\begin{array}{ll}\frac{\sin(x)}{x},&x\neq 0\\1,&x=0\end{array}\right. 可转化为: sinc(x)=sin(x)+(x==0)x+(x==0)\text{sinc}(x)=\frac{\sin(x) + (x==0)}原创 2016-05-01 11:08:16 · 4316 阅读 · 0 评论 -
极简代码(三)—— 向量加法
Python 中的 Map-Reduce 函数式编程的利器。Python 中的 map 函数第一个参数接受函数对象,其他参数可以任意长度,作为可变参数。import operatordef vector_add(v1, v2): return map(operator.add, v1, v2)原创 2016-04-28 23:08:14 · 1139 阅读 · 0 评论 -
极简代码(二)—— 内积
def inner_prod(x, y): return reduce(operator.add, map(operator.mul, x, y))原创 2016-04-26 17:21:55 · 1750 阅读 · 0 评论 -
极简代码 —— list 最小最大索引(argmax/argmin)的实现
def argmin(lst): return min(range(len(lst)), key=lst.__getitem__)def argmax(lst): return max(range(len(lst)), key=lst.__getitem__)原创 2019-02-11 22:59:47 · 7076 阅读 · 2 评论