AliFallahi
AliFallahi
خواندن ۲ دقیقه·۵ سال پیش

نرمال سازی در ماشین لرنینگ

نرمال سازی در ماشین لرنینگ
نرمال سازی در ماشین لرنینگ


نرمال سازی داده ها یکی از رایج ترین فعالیت ها در ماشین لرنینگ است. از جمله مزایای نرمال سازی داده می توان به بهبود عملکرد گرادیان کاهشی (gradient descent) بر روی داده های نرمال شده در مقایسه با داده های غیر نرمال اشاره کرد.

در ادامه یک مثال از نرمال سازی را به دو روش استفاده از کتابخانه numpy و حلقه for بررسی می کنیم.

برای نرمال سازی داده های فوق، مقادیر هر سطر را به توان 2 رسانده و با یکدیگر جمع می کنم.

در ادامه تک تک درایه های ماتریس را به مقادیر محاسبه شده در مرحله قبل تقسیم می کنیم.

برای پیاده سازی مثال فوق می توانیم از حلقه for به صورت زیر استفاده کنیم:

x = [ [1,3,5], [7,9,11] ] first_step = [] for i in range(len(x)): mytemp = 0 for j in range(len(x[i])): mytemp += (x[i][j])**2 first_step.append(mytemp ** (1/2)) print(&quotWith for loop&quot, first_step)

نتیجه زیر پس از اجرای کد به دست می آید:

With for loop [5.916079783099616, 15.84297951775486]

برای پیاده سازی این مثال با استفاده از کتابخانه numpy تنها به یک خط کد نیاز است:

import numpy as np x = [ [1,3,5], [7,9,11] ] print(&quotWith numpy&quot, np.linalg.norm(x,axis=1,keepdims=True))

نتیجه زیر پس از اجرای کد به دست می آید:

With numpy [[ 5.91607978]

[15.84297952]]

بخش پایانی را نیز می توان به صورت زیر پیاده سازی نمود:

x = [ [1,3,5], [7,9,11] ] frist_step = [] for i in range(len(x)): mytemp = 0 for j in range(len(x[i])): mytemp += (x[i][j])**2 frist_step.append(mytemp ** (1/2)) print(&quotWith for loop&quot, frist_step) mytemp3 = [] for i in range(len(x)): mytemp2 = [] for j in range(len(x[i])): mytemp2.append(x[i][j] / frist_step[i]) mytemp3.append(mytemp2) print(&quotx_normalized =&quot, mytemp3)

نتیجه اجرای بخش پایانی نیز به صورت زیر است:

x_normalized = [[0.1690308509457033, 0.50709255283711, 0.8451542547285166], [0.4418360821684622, 0.5680749627880228, 0.6943138434075835]]

شبکه های عصبی عمیقماشین لرنینگنرمال سازیدیپ لرنینگشبکه عصبی
آنچنان رفتم كه خود می خواستم
شاید از این پست‌ها خوشتان بیاید