# Algebra: Vectors & Matrixs calcs

## Recommended Posts

Hey there!

I'm trying to rebuild a python script in AU3, i've been wandering and trying to figure out how i could do it

The .py script is this:

```import numpy as np

def nonlin(x,deriv=False):
if(deriv==True):
return x*(1-x)

return 1/(1+np.exp(-x))

X = np.array([[0,0,1],
[0,1,1],
[1,0,1],
[1,1,1]])

y = np.array([[0],
[1],
[1],
[0]])

np.random.seed(1)

# randomly initialize our weights with mean 0
syn0 = 2*np.random.random((3,4)) - 1
syn1 = 2*np.random.random((4,1)) - 1

for j in xrange(60000):

# Feed forward through layers 0, 1, and 2
l0 = X
l1 = nonlin(np.dot(l0,syn0))
l2 = nonlin(np.dot(l1,syn1))

# how much did we miss the target value?
l2_error = y - l2

if (j% 10000) == 0:
print "Error:" + str(np.mean(np.abs(l2_error)))

# in what direction is the target value?
# were we really sure? if so, don't change too much.
l2_delta = l2_error*nonlin(l2,deriv=True)

# how much did each l1 value contribute to the l2 error (according to the weights)?
l1_error = l2_delta.dot(syn1.T)

# in what direction is the target l1?
# were we really sure? if so, don't change too much.
l1_delta = l1_error * nonlin(l1,deriv=True)

syn1 += l1.T.dot(l2_delta)
syn0 += l0.T.dot(l1_delta)```

So far, i got this:

```_AutoItObject_Startup()
\$NN_Ins = FileOpen(\$Netfile)
\$NFlags[3] = [\$NRFlags[1], _
\$NRFlags[2], _
\$NRFlags[3] ]
Global \$DSI[4][3] = [[0,0,1], [0,1,1], [1,0,1], [1,1,1]]
Global \$DSO[4] = [0, 1, 1, 0]
Global \$DTV = Vector()
\$DTV.Init(\$DSI, \$DSO)

\$syn0 = 2*(Random(3,4) - 1)
\$syn1 = 2*(Random(1, 4) - 1)
For \$x In \$DSI
For \$y in \$DSO
\$l1 = 1/(1+Exp(\$DTV.Dot(\$x, \$syn0))
\$l2 = 1/(1+Exp(\$DTV.Dot(\$l1, \$syn1))
\$d0 = (\$y - \$l2)*(\$l2*(1-\$l2))
\$d1 ; i got lost
Next
Next

Func Vector()
Local \$this = _AutoItObject_Create()
Return \$this
EndFunc ;==>Vector
Func Vector_DotProduct(\$this, \$vector1 = '', \$vector2 = '')
Switch IsArray(\$vector1) And IsArray(\$vector2)
Case 1
Switch UBound(\$vector1) >= 3 And UBound(\$vector1) >= 3
Case 1
Local \$DotProduct[3]
Case 0

EndSwitch
Case 0
Return SetError(1, 0, -1)
EndSwitch
EndFunc ;==>Vector_DotProduct```

The purpose of the main script is simulating an artificial neural network with algebra.

I'm lost on the part where i must declare \$l1 and \$l2 variables, the value is supposed to be the dotproduct of 2 variables, but i don't know how i can do that (I'm also horrible at algebra)

I know about the "We help you to fix ur code, not code for you", but, honestly, i'm lost - i'm not good at python, neither on AutoIt, excuse me for it.

Any help is really appreciated

##### Share on other sites

Look here:

This wonderful site allows debugging and testing regular expressions (many flavors available). An absolute must have in your bookmarks.
RegExp tutorial: enough to get started
PCRE v8.33 regexp documentation latest available release and currently implemented in AutoIt beta.

SQLitespeed is another feature-rich premier SQLite manager (includes import/export). Well worth a try.
SQLite Expert (freeware Personal Edition or payware Pro version) is a very useful SQLite database manager.
An excellent eBook covering almost every aspect of SQLite3: a must-read for anyone doing serious work.
SQL tutorial (covers "generic" SQL, but most of it applies to SQLite as well)
A work-in-progress SQLite3 tutorial. Don't miss other LxyzTHW pages!
SQLite official website with full documentation (may be newer than the SQLite library that comes standard with AutoIt)

## Create an account

Register a new account

• ### Recently Browsing   0 members

×

• Wiki

• Back

• #### Beta

• Git
• FAQ
• Our Picks
×
• Create New...