javascript

git

python

java

git-remote

github

django

c#

reactjs

c++

undefined

scrum

kubernetes

ruby-on-rails

.net

.net-framework-version

operators

git-fetch

typescript

user-experience

变量初始化中的TensorFlow:“尝试使用未初始化的值”

我正在尝试使用TensorFlow在Python中实现多元线性回归,但是遇到了一些逻辑和实现问题。 我的代码抛出以下错误:

Attempting to use uninitialized value Variable
Caused by op u'Variable/read'

理想情况下,weights输出应为[2, 3]

def hypothesis_function(input_2d_matrix_trainingexamples,
                        output_matrix_of_trainingexamples,
                        initial_parameters_of_hypothesis_function,
                        learning_rate, num_steps):
    # calculate num attributes and num examples
    number_of_attributes = len(input_2d_matrix_trainingexamples[0])
    number_of_trainingexamples = len(input_2d_matrix_trainingexamples)

    #Graph inputs
    x = []
    for i in range(0, number_of_attributes, 1):
        x.append(tf.placeholder("float"))
    y_input = tf.placeholder("float")

    # Create Model and Set Model weights
    parameters = []
    for i in range(0, number_of_attributes, 1):
        parameters.append(
            tf.Variable(initial_parameters_of_hypothesis_function[i]))

    #Contruct linear model
    y = tf.Variable(parameters[0], "float")
    for i in range(1, number_of_attributes, 1):
        y = tf.add(y, tf.multiply(x[i], parameters[i]))

    # Minimize the mean squared errors
    loss = tf.reduce_mean(tf.square(y - y_input))
    optimizer = tf.train.GradientDescentOptimizer(learning_rate)
    train = optimizer.minimize(loss)

    #Initialize the variables
    init = tf.initialize_all_variables()

    # launch the graph
    session = tf.Session()
    session.run(init)
    for step in range(1, num_steps + 1, 1):
        for i in range(0, number_of_trainingexamples, 1):
            feed = {}
            for j in range(0, number_of_attributes, 1):
                array = [input_2d_matrix_trainingexamples[i][j]]
                feed[j] = array
            array1 = [output_matrix_of_trainingexamples[i]]
            feed[number_of_attributes] = array1
            session.run(train, feed_dict=feed)

    for i in range(0, number_of_attributes - 1, 1):
        print (session.run(parameters[i]))

array = [[0.0, 1.0, 2.0], [0.0, 2.0, 3.0], [0.0, 4.0, 5.0]]
hypothesis_function(array, [8.0, 13.0, 23.0], [1.0, 1.0, 1.0], 0.01, 200)
trans by 2020-08-07T08:30:11Z

python-Scikit-learn:如何获取真阳性,真阴性,假阳性和假阴性

我的问题:

我有一个很大的JSON文件的数据集。 我阅读并存储在True Positive(TP)变量中。

接下来,我对其进行预处理-以便能够使用它。

完成后,我开始分类:

  1. 我使用True Positive(TP)交叉验证方法以获得均值准确性并训练分类器。
  2. 我进行了预测,并获得了该折痕的准确性和混乱度矩阵。
  3. 之后,我想获取True Positive(TP)True Negative(TN)False Positive(FP)False Negative(FN)值。 我将使用这些参数来获得灵敏度和特异性。

最后,我将使用它来放入HTML,以显示带有每个标签TP的图表。

码:

我目前拥有的变量:

trainList #It is a list with all the data of my dataset in JSON form
labelList #It is a list with all the labels of my data 

该方法的大部分:

#I transform the data from JSON form to a numerical one
X=vec.fit_transform(trainList)

#I scale the matrix (don't know why but without it, it makes an error)
X=preprocessing.scale(X.toarray())

#I generate a KFold in order to make cross validation
kf = KFold(len(X), n_folds=10, indices=True, shuffle=True, random_state=1)

#I start the cross validation
for train_indices, test_indices in kf:
    X_train=[X[ii] for ii in train_indices]
    X_test=[X[ii] for ii in test_indices]
    y_train=[listaLabels[ii] for ii in train_indices]
    y_test=[listaLabels[ii] for ii in test_indices]

    #I train the classifier
    trained=qda.fit(X_train,y_train)

    #I make the predictions
    predicted=qda.predict(X_test)

    #I obtain the accuracy of this fold
    ac=accuracy_score(predicted,y_test)

    #I obtain the confusion matrix
    cm=confusion_matrix(y_test, predicted)

    #I should calculate the TP,TN, FP and FN 
    #I don't know how to continue
trans by 2020-08-05T17:17:34Z

python-从文本内容生成标签

我很好奇是否存在通过使用一些权重计算,出现率或其他工具从给定文本生成关键字/标签的算法/方法。

另外,如果您为此提出了任何基于Python的解决方案/库,我将不胜感激。

谢谢

trans by 2020-07-26T05:53:27Z

如何在python(Windows平台)中安装xgboost软件包?

[HTTP://香港boost.read the doc S.org/恩/latest/Python/Python_intro.HTML]

在xgboost的主页上(上面的链接),它说:要安装XGBoost,请执行以下步骤:

  1. 您需要在项目的根目录中运行make

  2. 在python-package目录中运行

    python setup.py安装

但是,当我这样做时,对于步骤1会出现以下错误:make:术语“ make”不能识别为cmdlet,函数,脚本文件或可运行程序的名称。 检查 拼写名称,或者如果包含路径,请验证路径是否正确,然后重试。

然后我跳过了步骤1,直接执行了步骤2,出现了另一个错误:

Traceback (most recent call last):
  File "setup.py", line 19, in <module>
    LIB_PATH = libpath['find_lib_path']()
  File "xgboost/libpath.py", line 44, in find_lib_path
    'List of candidates:\n' + ('\n'.join(dll_path)))
__builtin__.XGBoostLibraryNotFound: Cannot find XGBoost Libarary in the candicate path, did you install compilers and run build.sh in root path?

有谁知道如何在Windows10平台上为Python安装xgboost? 谢谢你的帮助!

trans by 2020-07-25T13:35:01Z

python-不平衡数据和加权交叉熵

我正在尝试训练数据不平衡的网络。 我有A(198个样本),B(436个样本),C(710个样本),D(272个样本),并且我已经阅读了有关“ weighted_cross_entropy_with_logits”的信息,但是我发现的所有示例都是针对二进制分类的,因此我不太了解 对如何设置这些权重充满信心。

样本总数:1616

A_weight:198/1616 = 0.12?

如果我理解的话,其背后的想法是惩罚多数阶级的错误并更积极地重视少数族裔的打击,对吧?

我的代码:

weights = tf.constant([0.12, 0.26, 0.43, 0.17])
cost = tf.reduce_mean(tf.nn.weighted_cross_entropy_with_logits(logits=pred, targets=y, pos_weight=weights))

我已经阅读了这个和其他带有二进制分类的示例,但仍然不太清楚。

提前致谢。

trans by 2020-07-25T02:24:29Z

python-如何在TensorFlow中调试NaN值?

我正在运行TensorFlow,并且碰巧产生了NaN。 我想知道它是什么,但我不知道该怎么做。 主要问题在于,在“正常”过程程序中,我只是在执行操作之前编写一条打印语句。 TensorFlow的问题在于我无法做到这一点,因为我先声明(或定义)了图形,因此在图形定义中添加打印语句无济于事。 是否有任何规则,建议,试探法,还有什么可以追踪可能导致NaN的原因?


在这种情况下,我更确切地知道要看哪一行,因为我有以下几点:

Delta_tilde = 2.0*tf.matmul(x,W) - tf.add(WW, XX) #note this quantity should always be positive because its pair-wise euclidian distance
Z = tf.sqrt(Delta_tilde)
Z = Transform(Z) # potentially some transform, currently I have it to return Z for debugging (the identity)
Z = tf.pow(Z, 2.0)
A = tf.exp(Z) 

当此行存在时,它可以返回摘要编写者声明的NaN。 为什么是这样? 有没有一种方法至少可以探索Z平方根后的值?


对于我发布的特定示例,我尝试了tf.Print,但没有成功,但未打印任何内容。 如:

Delta_tilde = 2.0*tf.matmul(x,W) - tf.add(WW, XX) #note this quantity should always be positive because its pair-wise euclidian distance
Z = tf.sqrt(Delta_tilde)
tf.Print(0,[Z]) # <-------- TF PRINT STATMENT
Z = Transform(Z) # potentially some transform, currently I have it to return Z for debugging (the identity)
Z = tf.pow(Z, 2.0)
A = tf.exp(Z) 

我实际上不明白tf.Print应该做什么。 为什么需要两个参数? 如果我想打印1张量,为什么我需要通过2? 对我来说似乎很奇怪。


我当时在看tf.add_check_numerics_ops()函数,但没有说明如何使用它(再加上文档似乎没有太大帮助)。 有人知道如何使用吗?


由于我对数据的注释可能不好,因此我使用的是标准MNIST。 但是,我正在计算一个正数(成对的欧氏距离),然后平方根。 因此,我看不到具体的数据将是什么问题。

trans by 2020-07-24T13:50:40Z

机器学习-Tensorflow Sigmoid和交叉熵与sigmoid_cross_entropy_with_logits

当尝试通过S型激活函数获得交叉熵时,两者之间存在差异

  1. loss2 = tf.reduce_sum(tf.nn.sigmoid_cross_entropy_with_logits(labels=p, logits=logit_q),1)
  2. loss2 = tf.reduce_sum(tf.nn.sigmoid_cross_entropy_with_logits(labels=p, logits=logit_q),1)

但是当具有softmax激活功能时,它们是相同的。

以下是示例代码:

import tensorflow as tf

sess2 = tf.InteractiveSession()
p = tf.placeholder(tf.float32, shape=[None, 5])
logit_q = tf.placeholder(tf.float32, shape=[None, 5])
q = tf.nn.sigmoid(logit_q)
sess.run(tf.global_variables_initializer())

feed_dict = {p: [[0, 0, 0, 1, 0], [1,0,0,0,0]], logit_q: [[0.2, 0.2, 0.2, 0.2, 0.2], [0.3, 0.3, 0.2, 0.1, 0.1]]}
loss1 = -tf.reduce_sum(p*tf.log(q),1).eval(feed_dict)
loss2 = tf.reduce_sum(tf.nn.sigmoid_cross_entropy_with_logits(labels=p, logits=logit_q),1).eval(feed_dict)

print(p.eval(feed_dict), "\n", q.eval(feed_dict))
print("\n",loss1, "\n", loss2)
trans by 2020-07-19T07:27:18Z

人工智能-学习机器学习的先决条件是什么?

在我决定自学如何做之前,我一直对机器学习这个主题着迷。 因此,我参加了由斯坦福大学提供的在线课程。 但是,我对其中包含的数学数量感到震惊。 那么我应该具备什么数学背景才能理解机器学习算法? 是否有任何库可以抽象所有数学并专注于实际设计能够学习的软件?

trans by 2020-07-18T06:29:29Z

精度得分ValueError:无法处理二进制和连续targ的混合

我正在使用scikit-learn的linear_model.LinearRegression作为预测模型。 它的工作原理是完美的。 我在使用accuracy_score指标评估预测结果时遇到问题。

这是我的真实数据:

array([1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0])

我的预测数据:

array([ 0.07094605,  0.1994941 ,  0.19270157,  0.13379635,  0.04654469,
    0.09212494,  0.19952108,  0.12884365,  0.15685076, -0.01274453,
    0.32167554,  0.32167554, -0.10023553,  0.09819648, -0.06755516,
    0.25390082,  0.17248324])

我的代码:

accuracy_score(y_true, y_pred, normalize=False)

错误信息:

ValueError:无法处理二进制目标和连续目标的混合

救命 ? 谢谢。

trans by 2020-07-11T14:28:01Z

机器学习-无监督情绪分析

我阅读了很多文章,这些文章解释了在情感分析系统真正起作用之前,需要将最初的文本分类为“正”或“负”的一组文章的必要性。

我的问题是:是否有人尝试对“正”形容词与“负”形容词进行基本检查,并考虑到任何简单的否定词,以避免将“不快乐”归类为正? 如果是这样,是否有任何文章讨论为什么这种策略不现实?

trans by 2020-07-08T10:18:22Z

python-Keras中的TimeDistributed层的作用是什么?

我正在尝试掌握TimeDistributed包装器在Keras中的作用。

我得到了TimeDistributed“将层应用于输入的每个时间片”。

但是我做了一些实验,却得到了我无法理解的结果。

简而言之,就LSTM层而言,TimeDistributed和Just Dense层的结果相同。

model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add(TimeDistributed(Dense(1)))
print(model.output_shape)

model = Sequential()
model.add(LSTM(5, input_shape = (10, 20), return_sequences = True))
model.add((Dense(1)))
print(model.output_shape)

对于这两个模型,我得到的输出形状为(None,10,1)。

在RNN层之后,谁能解释TimeDistributed和Dense层之间的区别?

trans by 2020-07-06T00:22:29Z

机器学习-实施国际象棋引擎有多难?

我想知道实施国际象棋引擎有多困难。 已经有开源的实现了吗?

对于给定的主板星座,您似乎需要评分功能,并且需要一种非常快速的方法来探索将来可能出现的几种主板星座。 探索所有可能的未来动作当然是不可能的,因此人们可以贪婪地跟随最有前途的动作,或者使用类似模拟退火的近似技术来概率地跟随可能的动作。

您是否认为这是在机器学习研究生项目的范围之内-假设有一个学生可以使用的开源实现,那么基本操作如为给定的数字返回下一个可能的动作吗? 可能太难了?

让不同的团队从事国际象棋引擎的工作,然后让他们彼此对抗将是一个有趣的项目。

trans by 2020-07-05T14:44:43Z

python-graph.write_pdf(“ iris.pdf”)AttributeError:“列表”对象没有属性“ write_pdf”

我的代码遵循google的机器学习课程。这两个代码是相同的。我不知道为什么会显示错误。可能是变量的类型是error。但是google的代码对我来说是相同的。 问题?

这是错误

[0 1 2]
[0 1 2]
Traceback (most recent call last):
  File "/media/joyce/oreo/python/machine_learn/VisualizingADecisionTree.py", line 34, in <module>
    graph.write_pdf("iris.pdf")
AttributeError: 'list' object has no attribute 'write_pdf'
[Finished in 0.4s with exit code 1]
[shell_cmd: python -u "/media/joyce/oreo/python/machine_learn/VisualizingADecisionTree.py"]
[dir: /media/joyce/oreo/python/machine_learn]
[path: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]

这是代码

import numpy as np
from sklearn.datasets import load_iris
from sklearn import tree

iris = load_iris()
test_idx = [0, 50, 100]

# training data
train_target = np.delete(iris.target, test_idx)
train_data = np.delete(iris.data, test_idx, axis=0)

# testing data
test_target = iris.target[test_idx]
test_data = iris.data[test_idx]

clf = tree.DecisionTreeClassifier()
clf.fit(train_data, train_target)

print test_target
print clf.predict(test_data) 

# viz code
from sklearn.externals.six import StringIO
import pydot
dot_data = StringIO()
tree.export_graphviz(clf,
        out_file=dot_data,
        feature_names=iris.feature_names,
        class_names=iris.target_names,
        filled=True, rounded=True,
        impurity=False)

graph = pydot.graph_from_dot_data(dot_data.getvalue())
graph.write_pdf("iris.pdf")
trans by 2020-07-05T13:48:38Z

机器学习-在LSTM中使用tanh的直觉是什么

在LSTM网络(了解LSTM)中,为什么输入门和输出门使用tanh? 这背后的直觉是什么?这只是一个非线性变换?如果是,我可以同时将其更改为另一个激活功能(例如ReLU)吗?

trans by 2020-07-04T22:50:36Z

机器学习-给定足够多的隐藏神经元,神经网络能否近似任何功能?

我了解具有任意数量的隐藏层的神经网络都可以近似非线性函数,但是,它可以近似为:

f(x) = x^2

我想不到怎么办。 看起来神经网络有一个非常明显的局限性,它可能会限制其功能。 例如,由于这个限制,神经网络可能无法正确地近似统计中使用的许多函数,例如指数移动平均值甚至方差。

说到移动平均线,递归神经网络可以适当地近似吗? 我了解前馈神经网络甚至单个线性神经元如何使用滑动窗口技术输出移动平均值,但是递归神经网络如何在没有X数量的隐藏层(X为移动平均值大小)的情况下做到这一点?

同样,让我们假设我们不知道原始函数f,它恰好获得了最后500个输入的平均值,如果大于3,则输出1,如果不大于3,则输出0。 但是有一秒钟,我们假装不知道,那是一个黑匣子。

递归神经网络如何近似呢? 我们首先需要知道应该有多少时间步长,而我们没有。 也许LSTM网络可以,但是即使那样,如果它不是简单的移动平均线,而是指数移动平均线怎么办? 我认为即使LSTM也无法做到。

更糟糕的是,如果我们尝试学习的f(x,x1)仅仅是

f(x,x1) = x * x1

这看起来非常简单明了。 神经网络可以学习吗? 我不知道如何。

我是否在这里错过了很多东西,或者机器学习算法非常有限? 除了神经网络之外,是否还有其他学习技术可以实际完成其中任何一项?

trans by 2020-07-04T15:27:36Z

深度学习Nan丢失的原因

也许这个问题太笼统,但是谁能解释导致卷积神经网络发散的原因是什么?

细节:

我正在将Tensorflow的iris_training模型与我自己的一些数据一起使用,并不断获取

错误:张量流:模型因损失= NaN而发散。

追溯...

tensorflow.contrib.learn.python.learn.monitors.NanLossDuringTrainingError:训练期间NaN丢失。

回溯源于以下行:

 tf.contrib.learn.DNNClassifier(feature_columns=feature_columns,
                                        hidden_units=[300, 300, 300],
                                        #optimizer=tf.train.ProximalAdagradOptimizer(learning_rate=0.001, l1_regularization_strength=0.00001),                                                          
                                        n_classes=11,
                                        model_dir="/tmp/iris_model")

我尝试过调整优化器,将学习率设置为零,并且不使用优化器。 任何对网络层,数据大小等的见解都将受到赞赏。

trans by 2020-07-04T02:06:46Z

java-如何学习鼠标移动?

在过去的几周中,我一直在尝试开发一种在我的应用程序中合成类人鼠标运动的方法。 开始时,我使用了多项式和样条插值之类的简单技术,但是即使噪声很小,结果仍然无法看起来很像人。

为了解决这个问题,我一直在研究将机器学习算法应用于真实的人类鼠标移动生物特征的方法,以便通过从记录的真实人类的学习中综合鼠标的运动。 用户将编辑记录的运动的概况,该概况将训练该程序用于合成目的。

我一直在搜索数周,并阅读了几篇有关逆生物识别技术在生成鼠标动力学中的应用的文章,例如用于鼠标动力学的逆生物识别技术; 但是,他们倾向于专注于从随机生成的动力学中生成现实的时间,而我希望生成从A到B的路径。另外,我实际上仍然需要想出一条路径,而不仅仅是一些 动力学从一个角度衡量。

有谁能帮助菜鸟吗?

目前,测试是通过记录动作并让我和其他几个开发人员观看回放来完成的。 理想情况下,该机芯将能够欺骗自动生物特征识别器以及真实,实时,呼吸的智人。

trans by 2020-07-02T18:22:16Z

机器学习-很酷的项目要使用遗传算法吗?

我正在寻找使用遗传算法的实际应用。 已经想到的一些事情是:

  • 网站界面优化
  • 使用物理模拟器进行车辆优化
  • 基因编程
  • 自动测试用例生成

但是没有人真正冒出来。 因此,如果您有一些空闲时间(几个月)花在遗传算法项目上,您会选择解决什么?

trans by 2020-07-02T10:55:26Z

python-为什么scikitlearn说FN大于0时F1分数定义不正确?

我运行一个Python程序,该程序调用sklearn.metrics的方法来计算精度和F1得分。 这是没有预测样本时的输出:

/xxx/py2-scikit-learn/0.15.2-comp6/lib/python2.6/site-packages/sklearn/metr\
ics/metrics.py:1771: UndefinedMetricWarning: Precision is ill-defined and being set to 0.0 due to no predicted samples.
  'precision', 'predicted', average, warn_for)

/xxx/py2-scikit-learn/0.15.2-comp6/lib/python2.6/site-packages/sklearn/metr\
ics/metrics.py:1771: UndefinedMetricWarning: F-score is ill-defined and being set to 0.0 due to no predicted samples.
  'precision', 'predicted', average, warn_for)

如果没有预测样本,则意味着TP + FP为0,因此

  • 精度(定义为TP /(TP + FP))为0/0,未定义,
  • 如果FN不为零,则F1分数(定义为2TP /(2TP + FP + FN))为0。

在我的情况下,sklearn.metrics也将精度返回为0.8,并调用为0。因此FN不为零。

但是为什么scikilearn说F1定义不明确?

Scikit Learn使用的F1的定义是什么?

trans by 2020-07-01T06:31:03Z

最快的通用机器学习库?

Weka可能是最受欢迎的通用机器学习库。 但是,根据我的经验,它可能会很慢。

我一直在寻找Shark,Waffles,dlib,Plearn和MLC ++作为替代方案。 其中,Shark和dlib看起来最有前途。

关于这些库的性能测试,是否有人有经验?

trans by 2020-06-27T10:38:08Z

1 2 3 4 5 6 7 8 下一页 共8页