در این مطلب، ویدئو پرسپترون در پایتون – یادگیری ماشینی از ابتدا 06 – آموزش پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:17:45
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,030 –> 00:00:02,520
سلام به همه خوش آمدید به آموزش یادگیری ماشینی واحد
2
00:00:02,520 –> 00:00:05,100
از ابتدا، امروز
3
00:00:05,100 –> 00:00:07,049
می خواهیم یک پرسپترون را
4
00:00:07,049 –> 00:00:09,540
با استفاده از ماژول های داخلی پایتون پیاده سازی کنیم و
5
00:00:09,540 –> 00:00:12,780
پرسپترون را می توان به عنوان یک
6
00:00:12,780 –> 00:00:14,849
واحد واحد از یک شبکه عصبی مصنوعی دید،
7
00:00:14,849 –> 00:00:17,460
بنابراین پرسپترون یک
8
00:00:17,460 –> 00:00:20,160
مدل ساده شده از یک شبکه عصبی است. نورون بیولوژیکی
9
00:00:20,160 –> 00:00:22,560
و رفتار تنها
10
00:00:22,560 –> 00:00:25,019
یک سلول را شبیهسازی میکند، بنابراین بیایید به این تصویر نگاهی بیندازیم،
11
00:00:25,019 –> 00:00:29,279
ما یک سلول داریم و سلول ما
12
00:00:29,279 –> 00:00:32,340
یک ورودی دریافت میکند، بنابراین سیگنالهای ورودی را دریافت میکند
13
00:00:32,340 –> 00:00:35,370
و وزن و خلاصه میشوند و
14
00:00:35,370 –> 00:00:38,100
اگر کل سیگنال ورودی به آن برسد یک
15
00:00:38,100 –> 00:00:40,860
آستانه مشخص سلول ما
16
00:00:40,860 –> 00:00:44,160
سیگنالی را شلیک می کند و یک خروجی ارائه می دهد، بنابراین در
17
00:00:44,160 –> 00:00:48,719
مورد ما یا 1 یا 0 را شلیک می کند و حالا
18
00:00:48,719 –> 00:00:51,660
اگر این را به صورت ریاضی مدل کنیم، به این شکل به
19
00:00:51,660 –> 00:00:55,219
نظر می رسد بنابراین ما ویژگی های ورودی خود را داریم
20
00:00:55,219 –> 00:00:58,440
و آنها با چند وزن ضرب می شوند
21
00:00:58,440 –> 00:01:02,070
و سپس خلاصه میکنیم و سپس
22
00:01:02,070 –> 00:01:04,619
یک تابع فعالسازی اعمال میکنیم و
23
00:01:04,619 –> 00:01:09,540
کلاس خروجی خود را میگیریم، بنابراین این مدل است
24
00:01:09,540 –> 00:01:12,600
و اکنون بخش خطی مدل خطی
25
00:01:12,600 –> 00:01:15,540
به سادگی شبیه به این است، بنابراین این فقط یک
26
00:01:15,540 –> 00:01:19,799
فو خطی است. nction w ضربدر X بعلاوه
27
00:01:19,799 –> 00:01:23,939
B را جابجا می کنیم، بنابراین در اینجا
28
00:01:23,939 –> 00:01:28,409
وزن ها و بایاس خود را ضرب و جمع می کنیم، بنابراین بایاس این است که
29
00:01:28,409 –> 00:01:33,689
W 0 در اینجا در این تصویر و بعد از این
30
00:01:33,689 –> 00:01:36,479
مدل خطی، تابع فعال سازی را اعمال می
31
00:01:36,479 –> 00:01:39,540
کنیم و در ساده ترین حالت
32
00:01:39,540 –> 00:01:42,000
به سادگی از so استفاده می کنیم. تابع مرحله واحد نامیده می شود
33
00:01:42,000 –> 00:01:45,000
و این به این صورت تعریف می شود
34
00:01:45,000 –> 00:01:48,899
که اگر ورودی ما به
35
00:01:48,899 –> 00:01:52,549
یک آستانه معینی برسد یا 0 باشد
36
00:01:52,549 –> 00:01:57,299
، در غیر این صورت در این تصویر آستانه 0 است، بنابراین
37
00:01:57,299 –> 00:02:00,299
اگر ورودی بزرگتر از 0 باشد،
38
00:02:00,299 –> 00:02:05,399
خروجی 1 است و در غیر این صورت 0 است. و اکنون
39
00:02:05,399 –> 00:02:07,409
این تمام چیزی است که ما برای مدل سازی خروجی نیاز داریم
40
00:02:07,409 –> 00:02:11,790
و اکنون کل خروجی به
41
00:02:11,790 –> 00:02:14,160
این صورت است، بنابراین ابتدا
42
00:02:14,160 –> 00:02:17,610
تابع خطی را اعمال می کنیم و سپس
43
00:02:17,610 –> 00:02:21,120
تابع فعال سازی را اعمال می کنیم و اکنون
44
00:02:21,120 –> 00:02:23,700
باید وزن ها و
45
00:02:23,700 –> 00:02:27,660
بایاس و برای این کار را انجام دهیم. ما از یک
46
00:02:27,660 –> 00:02:29,880
قانون به روز رسانی ساده استفاده کردیم که قانون پرسپترون نامیده می شود،
47
00:02:29,880 –> 00:02:33,240
بنابراین به هر یک از
48
00:02:33,240 –> 00:02:37,140
نمونه های آموزشی XI نگاه می کنیم و برای هر
49
00:02:37,140 –> 00:02:39,570
مثال آموزشی
50
00:02:39,570 –> 00:02:42,900
مرحله به روز رسانی را اعمال می کنیم و این به این صورت تعریف می شود که
51
00:02:42,900 –> 00:02:46,290
وزن جدید وزن قدیمی به اضافه
52
00:02:46,290 –> 00:02:50,160
وزن دلتا و وزن دلتا یا
53
00:02:50,160 –> 00:02:55,200
دلتا W به صورت آلفا برابر
54
00:02:55,200 –> 00:02:59,730
برچسب واقعی منهای برچسب پیش بینی
55
00:02:59,730 –> 00:03:03,450
شده ضربدر مثال آموزشی X تعریف می شود و در اینجا
56
00:03:03,450 –> 00:03:06,390
آلفا نرخ یادگیری بین 0 و 1 است،
57
00:03:06,390 –> 00:03:10,980
بنابراین این فقط یک عامل مقیاس است و اکنون
58
00:03:10,980 –> 00:03:13,410
بیایید نگاهی به این به روز رسانی داشته باشیم.
59
00:03:13,410 –> 00:03:16,410
قانون یعنی پس بیایید نگاهی به
60
00:03:16,410 –> 00:03:20,070
چهار حالت ممکن در یک مسئله دو کلاسه بیندازیم
61
00:03:20,070 –> 00:03:26,490
تا خروجی ما می تواند یک باشد،
62
00:03:26,490 –> 00:03:29,070
برچسب واقعی می تواند یک باشد و
63
00:03:29,070 –> 00:03:32,910
برچسب پیش بینی شده نیز یک باشد، سپس
64
00:03:32,910 –> 00:03:36,600
تفاوت صفر است، بنابراین در اینجا هیچ تغییری
65
00:03:36,600 –> 00:03:40,260
برای وزن های خود نداریم. و همینطور است اگر
66
00:03:40,260 –> 00:03:43,200
کلاس واقعی صفر باشد و
67
00:03:43,200 –> 00:03:45,570
کلاس پیش بینی شده نیز صفر باشد، بنابراین
68
00:03:45,570 –> 00:03:48,090
به درستی طبقه بندی می شود و
69
00:03:48,090 –> 00:03:50,820
تفاوت صفر است و دوباره برای وزن های ما تغییری نمی شود،
70
00:03:50,820 –> 00:03:53,700
اما حالا اگر طبقه بندی از دست بدهیم چه اتفاقی می افتد،
71
00:03:53,700 –> 00:03:57,300
بنابراین اگر
72
00:03:57,300 –> 00:04:00,420
کلاس واقعی یک باشد و کلاس پیش بینی شده
73
00:04:00,420 –> 00:04:04,140
صفر است یعنی وزن های ما خیلی
74
00:04:04,140 –> 00:04:07,800
کم است و سپس می بینیم که
75
00:04:07,800 –> 00:04:12,330
اختلاف یک است بنابراین وزن های ما در اینجا افزایش می یابد
76
00:04:12,330 –> 00:04:16,230
و اگر کلاس واقعی صفر و
77
00:04:16,230 –> 00:04:19,290
کلاس پیش بینی شده 1 باشد وزن های ما
78
00:04:19,290 –> 00:04:22,410
برابر است. خیلی زیاد است و می بینیم که
79
00:04:22,410 –> 00:04:25,080
اختلاف منهای یک است بنابراین
80
00:04:25,080 –> 00:04:27,750
وزن های ما کاهش می یابد
81
00:04:27,750 –> 00:04:29,910
بنابراین در صورت عدم رده بندی وزن ها به سمت کلاس مثبت یا منفی رانده می شوند
82
00:04:29,910 –> 00:04:33,360
83
00:04:33,360 –> 00:04:36,540
و این یک نماد
84
00:04:36,540 –> 00:04:40,770
و قانون شهودی است اما کار می کند و
85
00:04:40,770 –> 00:04:43,560
این تمام چیزی است که ما داریم. بنابراین ما به هر نمونه آموزشی نگاه می کنیم
86
00:04:43,560 –> 00:04:46,620
و سپس قانون به
87
00:04:46,620 –> 00:04:50,220
روز رسانی را اعمال می کنیم و سپس این کار را
88
00:04:50,220 –> 00:04:52,680
چند بار انجام می دهیم تا برای
89
00:04:52,680 –> 00:04:55,650
تعداد مشخصی تکرار تکرار کنیم و سپس
90
00:04:55,650 –> 00:04:58,500
وزن های نهایی را داریم و انجام می شود، بنابراین این
91
00:04:58,500 –> 00:05:01,050
تنها چیزی است که باید بدانیم. و حالا می
92
00:05:01,050 –> 00:05:04,530
توانیم شروع کنیم و آن را پیاده سازی کنیم، بنابراین اول از
93
00:05:04,530 –> 00:05:08,160
همه از numpy استفاده می کنیم بنابراین
94
00:05:08,160 –> 00:05:12,960
numpy s و p را وارد می کنیم و سپس یک کلاس ایجاد می کنیم
95
00:05:12,960 –> 00:05:20,790
و آن را پرسپترون پرسپترون می نامیم
96
00:05:20,790 –> 00:05:24,930
و البته یک متد init می گیرد و در اینجا
97
00:05:24,930 –> 00:05:28,230
خودش و نرخ یادگیری را دریافت میکند
98
00:05:28,230 –> 00:05:33,260
و من به آن یک پیشفرض 0.01 میدهم،
99
00:05:33,260 –> 00:05:38,610
سپس تعدادی تکرار دریافت میکند،
100
00:05:38,610 –> 00:05:41,910
بنابراین n خطا و من نیز به این یک
101
00:05:41,910 –> 00:05:45,510
پیشفرض میدهم، مثلاً 1000، سپس
102
00:05:45,510 –> 00:05:48,060
آنها را به سادگی ذخیره میکنم، بنابراین میگویم خود نقطه
103
00:05:48,060 –> 00:05:52,590
L R برابر با یادگیری است. نرخ و ببینید اگر نقطه
104
00:05:52,590 –> 00:06:00,090
و ITER مساوی و ITER باشد،
105
00:06:00,090 –> 00:06:04,110
یک تابع غیرفعال سازی ایجاد می کنیم، بنابراین فرض کنید تابع فعال
106
00:06:04,110 –> 00:06:10,910
سازی خود نقطه برابر است و
107
00:06:10,910 –> 00:06:17,490
اکنون اجازه دهید این را در اینجا ایجاد کنیم و همانطور که گفتم
108
00:06:17,490 –> 00:06:20,910
تابع فعال سازی به سادگی
109
00:06:20,910 –> 00:06:24,350
تابع مرحله واحد است، بنابراین اجازه دهید این
110
00:06:24,350 –> 00:06:38,150
تابع مرحله واحد را صدا بزنیم، به سادگی می توانیم این را ایجاد کنیم. مثلاً
111
00:06:38,150 –> 00:06:41,110
112
00:06:41,110 –> 00:06:45,910
اگر X بزرگتر یا مساوی 0 است، 1 را برگردانید و در غیر این صورت
113
00:06:45,910 –> 00:06:53,320
0 را برگردانید، اما بعداً می بینیم که
114
00:06:53,320 –> 00:06:57,880
این فقط برای یک نمونه کار می کند،
115
00:06:57,880 –> 00:07:00,130
اما بعداً می بینیم که می خواهیم
116
00:07:00,130 –> 00:07:03,460
تابع فعال سازی را در روش پیش بینی
117
00:07:03,460 –> 00:07:06,520
برای همه نمونه های آزمایشی اعمال کنیم. بنابراین
118
00:07:06,520 –> 00:07:10,810
میخواهیم این را برای آرایههای a و D
119
00:07:10,810 –> 00:07:14,440
نیز اعمال کنیم و برای این کار میتوانیم از یک
120
00:07:14,440 –> 00:07:17,080
تابع ساده به نام
121
00:07:17,080 –> 00:07:21,730
numpy dot استفاده کنیم که در آن نقطه numpy را برمیگردانیم و
122
00:07:21,730 –> 00:07:25,690
این یک شرط به دست میآید که X بزرگتر یا
123
00:07:25,690 –> 00:07:29,830
مساوی 0 باشد و اگر شرط
124
00:07:29,830 –> 00:07:35,200
درست است سپس 1 را برمی گردانیم و در غیر این صورت 0 را برمی گردانیم، بنابراین
125
00:07:35,200 –> 00:07:38,470
این برای یک نمونه واحد و
126
00:07:38,470 –> 00:07:41,310
همچنین برای چندین نمونه در یک بردار
127
00:07:41,310 –> 00:07:45,070
کار می کند، بنابراین اکنون این تابع فعال سازی ما است،
128
00:07:45,070 –> 00:07:47,680
بنابراین اکنون می توانیم بگوییم funk فعال سازی
129
00:07:47,680 –> 00:07:48,160
130
00:07:48,160 –> 00:08:02,620
self dot برابر است با خود نقطه تابع گام واحد در
131
00:08:02,620 –> 00:08:08,890
و بایاس self dot برابر با هیچکدام نیست، اکنون
132
00:08:08,890 –> 00:08:11,230
که می دانیم باید آنها را پیاده سازی
133
00:08:11,230 –> 00:08:17,500
کنیم یا آنها را بدست آوریم و اکنون
134
00:08:17,500 –> 00:08:21,550
دو تابع را مانند همیشه پیاده سازی می کنیم که
135
00:08:21,550 –> 00:08:25,260
برازش و روش پیش بینی را پیاده سازی می کنیم، بنابراین ابتدا
136
00:08:25,260 –> 00:08:30,580
روش برازش را با x و y تعریف کنید. بنابراین
137
00:08:30,580 –> 00:08:34,780
این نمونههای آموزشی و
138
00:08:34,780 –> 00:08:38,940
برچسبهای آموزشی را دریافت میکند و البته اوه من
139
00:08:38,940 –> 00:08:44,920
این خود را فراموش کردم و سپس
140
00:08:44,920 –>