2016-08-11 5 views
-2

Bitte geben Sie mir eine Methodik, um diese Aufgabe mit neuronalen Netzwerk zu erreichen. -> zur Eingabe von Werten in das neuronale Netzwerk -> das neuronale Netz mitResume shortlisting mit Neural Network

+1

wahrscheinlich Sie wollen etwas Wesentlicheres wie Keyword-Matching zu betrachten. Und diese Seite ist für das Beantworten bestimmter Fragen, nachdem Sie etwas über Ihren Won geforscht haben, da diese Frage viel zu weit gefasst ist. – lgaud

+0

@Igaud Ich habe tatsächlich etwas recherchiert. Ich würde gerne einen Weg kennen, um die Eingaben eines Algorithmus oder einer Bibliothek zu normalisieren, so dass sie in das neuronale Netzwerk eingegeben werden könnten und wie das trainierte neuronale Netzwerk gespeichert und erneut geladen werden könnte. – jee1tha

Antwort

0

Haben Sie in TensorFlow sehen, Googles Open-Source-Neural Network-Bibliothek? They support recurrent neural networks, was es klingt wie du beschreibst.

Ich bemerkte das Java-Tag in Ihrer Frage; Leider ist TensorFlow eine Python-Bibliothek. Bei Bedarf können Sie die Gewichte und Verzerrungen des Modells aus TensorFlow exportieren und das trainierte Netzwerk in Java rekonstruieren. Ich bin mir nicht sicher, ob es existierende Java-Werkzeuge zum Rekonstruieren von rekurrenten neuronalen Netzwerken gibt, aber es ist von vornherein machbar.

EDIT (Details auf neuronalen Netzen Zusammenbauen):

Siehe here Ausführliche Informationen zum Druck/Ihre Gewichte und Vorurteile aus TensorFlow Speicher (I gab vor kurzem eine Frage über das Thema, und erhielt eine hilfreiche Antwort). Wie für das Netzwerk in Java Modellierung, hier einige unvollständige Python Code, den ich für einen Feed-Forward (einmalig) Netzwerk geschrieben, die Sie in Java „übersetzen“ können und für Ihre eigenen Bedürfnisse anpassen:

import numpy as np 

#I copied this function from an answer here: 
#https://stackoverflow.com/questions/34968722/softmax-function-python 
def softmax(values): 
    values = [x for x in values] 
    return np.exp(values)/np.sum(np.exp(values), 0) 

def rectify(ls): 
values = ls 
for i in range(len(values)): 
    values[i] = values[i] * (values[i] > 0) 
return values 

class Neuron: 
def __init__(self, weights, bias): 
    self.weights = weights 
    self.bias = bias 
def compute(self, inputs): 
    sum = self.bias 
    for i in range(len(inputs)): 
     sum += self.weights[i] * inputs[i] 
    return sum 

class Layer: 
def __init__(self, weightSets, biases): 
    self.neurons = [] 
    for i in range(len(weightSets)): 
     neuron = Neuron(weightSets[i], biases[i]) 
     self.neurons.append(neuron) 
def compute(self, inputs): 
    outputs = [] 
    for neuron in self.neurons: 
     outputs.append(neuron.compute(inputs)) 
    return outputs 

def networkCompute(inputs): 
global layer1, layer2, layer3 
v = rectify(layer1.compute(inputs)) 
v = rectify(layer2.compute(v)) 
return softmax(layer3.compute(v)) 
+0

Wenn ich das neurale Netzwerk von Grund auf neu aufbauen soll, könntest du mir etwas zur Verfügung stellen, das sich auf das Speichern von trainierter NN, das Laden von trainierter NN und das Verwenden des neuronalen Netzwerks bezieht? – jee1tha

Verwandte Themen