我正在学习机器学习,为了记录我的代码,我将编写我的函数的 LaTeX 数学版本,就在 Jupyter/IPython 笔记本中的代码旁边。数学定义包括许多希腊符号,所以我认为我最好在函数和变量名称中使用希腊符号,因为这在 python 中是可能的。这会是不好的做法吗?
我正在使用numpy在python中实现线性回归.我对平方成本函数的实现看起来像这样
square_cost(w, datax, datay):
ndata = datax.shape[1]
return (1/ndata)*np.sum((h(w, datax)-datay)**2)
Run Code Online (Sandbox Code Playgroud)
所有参数都是二维ndarray,但是datay和结果只有一个高度.
我后来看到的是这个实现:
square_cost(w, datax, datay):
ndata = datax.shape[1]
diff = h(w, datax)-datay
return (1/ndata)*diff.dot(diff.T)
Run Code Online (Sandbox Code Playgroud)
我认为我的第一个实现是最清晰的,但是第二个更快,因为它使用点积?