Machine Learning: Step-by-Step Guide To Implement Machine Learning Algorithms with Python



Download 1,58 Mb.
Pdf ko'rish
bet18/25
Sana23.03.2022
Hajmi1,58 Mb.
#506035
1   ...   14   15   16   17   18   19   20   21   ...   25
Bog'liq
Machine Learning Step-by-Step Guide To Implement Machine Learning Algorithms with Python ( PDFDrive )

 
Batch Gradient Descent
If you'd like to implement this algorithm, you should first calculate the gradient
of your cost function using the theta parameter. If the value of the parameter
theta has changed, you’ll need to know the changing rate of your cost function. 
We can call this change by a partial derivative
We can calculate the partial derivative using the following equation:
But we`ll also use the following equation to calculate the partial derivatives and
the gradient vector together.
Let’s implement the algorithm.
Lr = 1 # Lr for learning rate
Num_it = 1000 # number of iterations
L = 100
myTheta = np.random.randn (2,1)


for it in range(Num_it):
gr = 2/L * Value1.T.dot(Value1.dot(myTheta) – V2_y)
myTheta = myTheta – Lr * gr
>>> myTheta
Array([[num],[num]])
If you try to change the learning rate value, you'll get different shapes, as in the
following figure.


Stochastic Gradient Descent
You'll find a problem when you’re using the batch gradient descent: it needs to
use the whole training set in order to calculate the value at each step, and that
will affect performance “speed”.
But when using the stochastic gradient descent, the algorithm will randomly
choose an instance from your training set at each step, and then it will calculate
the value. In this way, the algorithm will be faster than the batch gradient
descent, since it doesn’t need to use the whole set to calculate the value. On the
other hand, because of the randomness of this method, it will be irregular when
compared to the batch algorithm.
Let’s implement the algorithm.
Nums = 50
L1, L2 = 5, 50
Def lr_sc(s):
return L1 / (s + L2)
myTheta = np.random.randn(2,1)
for Num in range (Nums):
for l in range (f)


myIndex = np.random.randint(f)
V1_Xi = Value1[myIndex:myIndex+1]
V2_yi = V2_y[myIndex:myIndex+1]
gr = 2 * V1_xi.T.dot(V1_xi.dot(myTheta) – V2_yi)
Lr = lr_sc(Num * f + i)
myTheta = myTheta – Lr * gr
>>> myTheta
Array ([[num], [num]])



Download 1,58 Mb.

Do'stlaringiz bilan baham:
1   ...   14   15   16   17   18   19   20   21   ...   25




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish