从Udacity的深度学习课程中,y_i的softmax仅仅是指数除以整个Y向量的指数之和:

其中S(y_i)是y_i的软最大函数e是指数函数j是no。输入向量Y中的列。

我试过以下几种方法:

import numpy as np

def softmax(x):
    """Compute softmax values for each sets of scores in x."""
    e_x = np.exp(x - np.max(x))
    return e_x / e_x.sum()

scores = [3.0, 1.0, 0.2]
print(softmax(scores))

返回:

[ 0.8360188   0.11314284  0.05083836]

但建议的解决方案是:

def softmax(x):
    """Compute softmax values for each sets of scores in x."""
    return np.exp(x) / np.sum(np.exp(x), axis=0)

它产生与第一个实现相同的输出,尽管第一个实现显式地取每列与Max的差值,然后除以和。

有人能用数学方法解释一下吗?一个是对的,另一个是错的?

实现在代码和时间复杂度方面是否相似?哪个更有效率?

使用Flask,我如何读取HTTP头?我想检查客户端发送的授权头。

我想将NumPy数组转换为单位向量。更具体地说,我正在寻找这个归一化函数的等效版本:

def normalize(v):
    norm = np.linalg.norm(v)
    if norm == 0: 
       return v
    return v / norm

这个函数处理向量v的范数为0的情况。

在sklearn或numpy中是否提供了类似的函数?

我使用spark-csv加载数据到一个DataFrame。我想做一个简单的查询并显示内容:

val df = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load("my.csv")
df.registerTempTable("tasks")
results = sqlContext.sql("select col from tasks");
results.show()

山坳似乎被截断了:

scala> results.show();
+--------------------+
|                 col|
+--------------------+
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:15:...|
|2015-11-06 07:15:...|
|2015-11-16 07:15:...|
|2015-11-16 07:21:...|
|2015-11-16 07:21:...|
|2015-11-16 07:21:...|
+--------------------+

如何显示列的全部内容?

当使用Tensorflow与Python绑定时,如何将一个张量转换为numpy数组?

我有一个与这个问题非常相似的问题,但我仍然落后一步。我的Windows 7(抱歉)64位系统上只安装了一个版本的Python 3。

我按照这个链接安装了NumPy -正如问题中所建议的那样。安装很顺利,但当我执行

import numpy

我得到了以下错误:

导入错误:没有名为numpy的模块

我已经阅读了维基百科上关于过程式编程和函数式编程的文章,但我还是有点困惑。有人能把它归结为核心吗?

我试图将一个序列设置为一个特定的值。

SELECT setval('payments_id_seq'), 21, true;

这将给出一个错误:

错误:函数setval不存在

使用ALTER SEQUENCE似乎也不工作?

ALTER SEQUENCE payments_id_seq LASTVALUE 22;

如何做到这一点呢?

裁判:https://www.postgresql.org/docs/current/functions-sequence.html

我从CSV文件中加载了一些机器学习数据。前两列是观察结果,其余列是特征。

目前,我做以下事情:

data = pandas.read_csv('mydata.csv')

它会给出如下内容:

data = pandas.DataFrame(np.random.rand(10,5), columns = list('abcde'))

我想把这个数据帧切成两个数据帧:一个包含列a和b,一个包含列c, d和e。

不可能写出这样的东西

observations = data[:'c']
features = data['c':]

我不确定最好的方法是什么。我需要一个pd.Panel吗?

顺便说一下,我发现数据帧索引非常不一致:数据['a']是允许的,但数据[0]是不允许的。另一方面,数据['a':]是不允许的,但数据[0:]是允许的。 这有什么实际的原因吗?如果列以Int为索引,这真的很令人困惑,给定data[0] != data[0:1]

如何从numpy数组中删除一些特定的元素?说我有

import numpy as np

a = np.array([1,2,3,4,5,6,7,8,9])

然后我想从a中删除3,4,7。我所知道的是这些值的下标(index=[2,3,6])。