Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Equipment >> Industriële robot

Neurale netwerken trainen met Excel: Een Python Multilayer Perceptron bouwen en valideren

In dit artikel tonen we hoe trainingsdata in Excel te genereren, een multilayer perceptron in Python te trainen en de prestaties te valideren.

Als u een Python neuraal netwerk wilt ontwikkelen, bent u hier aan het juiste adres. Voordat we ingaan op de Excel-gebaseerde datavoorbereiding, overweeg de rest van de reeks hieronder voor fundamentele context:

  1. Hoe classificatie uit te voeren met een neuraal netwerk: Wat is de Perceptron?
  2. Hoe een simpele Perceptron-neuraal netwerk voorbeeld te gebruiken om data te classificeren
  3. Hoe een basale Perceptron-neuraal netwerk te trainen
  4. Eenvoudige neuraal netwerk training begrijpen
  5. Inleiding tot trainings theorie voor neurale netwerken
  6. Leer snelheid in neurale netwerken begrijpen
  7. Geavanceerde machine learning met de Multilayer Perceptron
  8. De Sigmoid-activeringsfunctie: Activering in Multilayer Perceptron neurale netwerken
  9. Hoe een Multilayer Perceptron neuraal netwerk te trainen
  10. Trainingsformules en Backpropagation voor Multilayer Perceptrons begrijpen
  11. Neuraal netwerk architectuur voor een Python-implementatie
  12. Hoe een Multilayer Perceptron neuraal netwerk in Python te maken
  13. Signaalverwerking met neurale netwerken: Validatie in neuraal netwerk ontwerp
  14. Trainingsdatasets voor neurale netwerken: Hoe een Python neuraal netwerk te trainen en valideren

Wat is trainingsdata?

In real-world toepassingen bestaan trainingsmonsters uit gemeten invoeren gekoppeld aan bekende doelen die een neuraal netwerk in staat stellen een consistente input-output-afbeelding te leren. Stel u voor dat u een netwerk wilt laten voorspellen van de eetkwaliteit van een tomaat op basis van kleur, vorm en dichtheid. Door duizenden tomaten te verzamelen, hun fysieke attributen te registreren, elk te proeven en de resultaten in een tabel te compileren, creëert u de dataset die het netwerk zal gebruiken om de relatie tussen attributen en kwaliteit te leren.

Elke rij vertegenwoordigt één trainingsmonster met drie invoerkolommen (kleur, vorm, dichtheid) en een enkele doeluitvoerkolom.

Neurale netwerken trainen met Excel: Een Python Multilayer Perceptron bouwen en valideren
 

Tijdens training zal het neuraal netwerk het onderliggende patroon – indien existent – identificeren tussen de drie invoerwaarden en de uitvoerwaarde.

Trainingsdata kwantificeren

Alle invoeren en uitgangen moeten numeriek zijn. Strings zoals "pruimvormig" of "water mondend" kunnen niet direct in het netwerk gevoerd worden. Kwantisering converteert kwalitatieve beschrijvingen naar numerieke schalen. Vorm kan bijvoorbeeld gecodeerd worden van –1 (perfecte bol) tot +1 (extreem uitgerekt). Eetkwaliteit kan beoordeeld worden op een vijf-punt schaal en vervolgens one-hot gecodeerd in een vijf-element uitvoervector.

Het volgende diagram illustreert one-hot encoding voor een vijf-klasse classificatietaak.

Neurale netwerken trainen met Excel: Een Python Multilayer Perceptron bouwen en valideren
 

One-hot encoding past goed bij logistische-sigmoid activering, die waarden dichtbij 0 of 1 produceert buiten een smalle overgangszone. Het gebruik van een enkele uitvoerknoop met doelwaarden 0–4 zou het netwerk naar de extremen biaiseren en tot onzinvoorspellingen leiden.

Neurale netwerken trainen met Excel: Een Python Multilayer Perceptron bouwen en valideren

Een trainingsdataset maken

De Python neuraal netwerk uit deel 12 importeert monsters uit een Excel-bestand. De hier gebruikde data zijn als volgt gerangschikt:

Neurale netwerken trainen met Excel: Een Python Multilayer Perceptron bouwen en valideren
 

Omdat onze Perceptron-implementatie slechts een enkele uitvoerknoop ondersteunt, voeren we een binaire classificatie uit. De invoerwaarden zijn willekeurige getallen tussen –5 en +5, gegenereerd met deze Excel-formule:

 =RANDBETWEEN(-10, 10)/2 

De uitvoer wordt afgeleid van de volgende regel:

 =IF(AND(A2>0, B2>0, C2<0), 1, 0) 

Dus leert het netwerk dat een monster gelabeld 1 is alleen wanneer input_0 > 0, input_1 > 0, en input_2 < 0; anders ontvangt het een 0.

Voor dit simpele probleem zijn 5.000 willekeurig gegenereerde monsters en een enkele epoch voldoende om hoge classificatienauwkeurigheid te bereiken.

Het netwerk trainen

Configureer het netwerk met een invoer-dimensionaliteit van drie (I_dim = 3), vier verborgen knooppunten (H_dim = 4), en een leersnelheid van 0.1 (LR = 0.1). Vervang de training_data = pandas.read_excel(...) regel door het pad naar uw spreadsheet. Als u geen Excel heeft, kan Pandas ook ODS-bestanden lezen.

Het draaien van het trainingscript op een 2,5 GHz Windows laptop met 5.000 monsters duurt slechts enkele seconden. Als u het volledige MLP_v1.py script gebruikt, start validatie automatisch na training.

Het netwerk valideren

Validatie vereist een tweede spreadsheet gegenereerd met dezelfde formules. Importeer deze data op dezelfde manier als de trainingsdata:

Neurale netwerken trainen met Excel: Een Python Multilayer Perceptron bouwen en valideren
 

Het volgende snippet demonstreert een eenvoudige validatieroutine:

 # Feed-forward om post-activeringswaarde te verkrijgen
output = sigmoid(np.dot(W_out, hidden_output))
# Drempel toepassen om binaire voorspelling te verkrijgen
prediction = 1 if output > 0.5 else 0
# Vergelijken met doel en correcte voorspellingen accumuleren 

Classificatienauwkeurigheid wordt berekend door het aantal correcte voorspellingen te delen door het totale aantal validatiemonsters.

Als np.random.seed(1) weggelaten wordt, zal gewichtsinitialisatie variëren tussen runs, wat de nauwkeurigheid doet fluctueren. Over 15 runs met de gespecificeerde parameters (5.000 trainingsmonsters, 1.000 validatiemonsters) dao nauwkeurigheid van 88,5% tot 98,1%, met een gemiddelde van 94,4%.

Conclusie

We hebben kernconcepten achter neuraal netwerk trainingsdata verkend, een Python multilayer Perceptron geïmplementeerd en de prestaties geëvalueerd met Excel-gegenereerde datasets. De reeks is aanzienlijk gevorderd sinds de start, en nog veel meer geavanceerde onderwerpen wachten in toekomstige artikelen.

Industriële robot

  1. Verhoog uw expertise met BECKER's expert vacuümpomp training
  2. Lokale Minima in Neuraal Netwerk Training: Myth of Realiteit?
  3. Verborgen laag grootte optimaliseren voor betere neuraal netwerk nauwkeurigheid
  4. Het juiste aantal verborgen lagen en knooppunten kiezen in een neuraal netwerk
  5. Neurale netwerken valideren voor betrouwbare signaalverwerking
  6. Versnel Robotlas Training: Tijd Winst, Efficiëntie Boost
  7. Innatera Onthult Eerste Neuromorfe AI-chips voor Ultra-Lage-Vermogen Edge-toepassingen
  8. 5G's Top Vijf Uitdagingen: Spectrum, Kosten, Dekking, Apparaten en Beveiliging Navigeren
  9. Implementeren En Beheren Van Draadloze Sensornetwerken In Het Bedrijf
  10. Gratis VHDL-simulator & editor setup: Een studentengids
  11. Huidige datum en tijd ophalen in Python: een praktische gids