در این مطلب، ویدئو چگونه یک طبقهبندیکننده باینری در پایتون را از ابتدا کدنویسی کنیم؟-PART(1): مقداردهی اولیه داده و پارامتر با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:38:34
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,060 –> 00:00:02,220
سلام به همه و خوش آمدید
2
00:00:02,220 –> 00:00:05,400
من امروز بسیار هیجان زده هستم
3
00:00:05,400 –> 00:00:08,880
زیرا این به معنای واقعی کلمه اولین
4
00:00:08,880 –> 00:00:11,219
ویدیوی برنامه نویسی زنده از ml dawn است که
5
00:00:11,219 –> 00:00:14,280
قرار است در یوتیوب قرار دهم و تصمیم گرفتم دو دسته داشته باشم که
6
00:00:14,280 –> 00:00:17,250
یکی با کدنویسی از
7
00:00:17,250 –> 00:00:20,970
ابتدا است. numpy خالص و
8
00:00:20,970 –> 00:00:24,350
دیگری کدنویسی و مشعل پی است،
9
00:00:24,350 –> 00:00:28,439
بنابراین یکی از ابتدا وجود دارد
10
00:00:28,439 –> 00:00:31,560
تا به شما کمک کند
11
00:00:31,560 –> 00:00:33,149
دانش نظری خود را در مورد
12
00:00:33,149 –> 00:00:35,340
یادگیری ماشین و مشتقات ریاضی
13
00:00:35,340 –> 00:00:36,809
پشت آن و نحوه
14
00:00:36,809 –> 00:00:40,559
پیاده سازی آنها در numpy خالص و یکی
15
00:00:40,559 –> 00:00:42,840
از تورهای PI بدیهی است که برای کسانی از
16
00:00:42,840 –> 00:00:46,350
شماست که در تئوری خوب هستند و
17
00:00:46,350 –> 00:00:49,110
فقط یک کتابخانه با عملکرد سریع میخواهید که
18
00:00:49,110 –> 00:00:51,989
بتوانید فرآیندهای هیولایی خود را
19
00:00:51,989 –> 00:00:56,160
روی پردازندههای گرافیکی نصب کنید
20
00:00:56,160 –> 00:01:00,770
و عملکرد و سرعت را تسریع کنید، بنابراین امروز
21
00:01:00,770 –> 00:01:04,080
میخواهیم جلسه کدنویسی
22
00:01:04,080 –> 00:01:07,680
خود را با این طبقهبندیکننده باینری ساده باز کنید،
23
00:01:07,680 –> 00:01:11,700
بله، من همچنین
24
00:01:11,700 –> 00:01:15,680
پست وبلاگ را از ml انجام دادهام باز کردهام و
25
00:01:15,680 –> 00:01:19,830
میتوانید پیوند را در آنجا ببینید و در
26
00:01:19,830 –> 00:01:22,350
مورد طبقهبندی باینری است. از ابتدا
27
00:01:22,350 –> 00:01:25,500
با استفاده از numpy و این همان شبکه عصبی
28
00:01:25,500 –> 00:01:27,509
است که میخواهیم پیادهسازی کنیم، همانطور که
29
00:01:27,509 –> 00:01:29,909
میبینید یک پرسپترون ساده است و
30
00:01:29,909 –> 00:01:34,470
دادههای شما x1 یکبعدی است، بنابراین
31
00:01:34,470 –> 00:01:37,079
تقریباً مقیاسهای شما یک واحد بایاس دارید
32
00:01:37,079 –> 00:01:38,820
که همیشه با واحدی که دارید برابر است.
33
00:01:38,820 –> 00:01:41,720
دو وزن را که میخواهید تمرین کنید و
34
00:01:41,720 –> 00:01:45,960
این وزنها به شما کمک میکنند تا
35
00:01:45,960 –> 00:01:48,780
ورودی خود و واحد بایاس
36
00:01:48,780 –> 00:01:53,670
را به صورت خطی ترکیب کنید که W 1 X 1 به علاوه W 0 X 0
37
00:01:53,670 –> 00:01:56,939
خواهد بود و آن Z شما است که
38
00:01:56,939 –> 00:01:59,850
اساساً ورودی سیگموئید است. واحد و سپس
39
00:01:59,850 –> 00:02:03,450
با استفاده از تابع سیگموئید
40
00:02:03,450 –> 00:02:07,320
مقادیر Z را بین 0 و 1 له
41
00:02:07,320 –> 00:02:09,270
می کنید که خروجی
42
00:02:09,270 –> 00:02:11,790
شبکه شما یا Y خواهد بود بله و سپس
43
00:02:11,790 –> 00:02:14,310
در نهایت از
44
00:02:14,310 –> 00:02:18,989
تابع آنتروپی متقاطع باینری برای اندازه گیری
45
00:02:18,989 –> 00:02:21,810
عملکرد استفاده خواهید کرد. الگوریتم شما و همانطور که
46
00:02:21,810 –> 00:02:24,330
می بینید تابع آنتروپی متقاطع باینری
47
00:02:24,330 –> 00:02:26,970
تابعی از Y یا
48
00:02:26,970 –> 00:02:28,680
پیش بینی شبکه شما است که y
49
00:02:28,680 –> 00:02:32,519
کلاه است و حقیقت اصلی واقعی که
50
00:02:32,519 –> 00:02:35,790
y است، اکنون یک چیزی است که در اینجا باید به آن توجه کنم این
51
00:02:35,790 –> 00:02:38,459
یک شبکه عصبی نیست. ویدیو وجود دارد
52
00:02:38,459 –> 00:02:40,590
یک دوره آموزشی در مورد شبکه عصبی نیست، بنابراین
53
00:02:40,590 –> 00:02:43,560
من در مورد جزئیات اینکه
54
00:02:43,560 –> 00:02:46,260
چرا از یک تابع باینری در سراسر آنتروپی استفاده
55
00:02:46,260 –> 00:02:48,870
می کنیم یا چگونه
56
00:02:48,870 –> 00:02:51,780
فرمول های ریاضی خاصی را در حالی که با عبور به جلو
57
00:02:51,780 –> 00:02:54,239
و گذر به عقب پیش می رویم استخراج می کنیم، صحبت نمی کنم، بنابراین این
58
00:02:54,239 –> 00:02:57,510
بیشتر خواهد بود. تمرکز بر روی جنبه
59
00:02:57,510 –> 00:03:00,450
اجرایی چیزها به
60
00:03:00,450 –> 00:03:03,269
جای جنبه نظری آن بله،
61
00:03:03,269 –> 00:03:06,540
بنابراین این پست وبلاگ است و
62
00:03:06,540 –> 00:03:09,510
همچنین می توانید کدی را که من
63
00:03:09,510 –> 00:03:13,319
امروز در این پست وبلاگ می نویسم را با برخی
64
00:03:13,319 –> 00:03:16,140
از توضیحات خوب در مورد ریاضیات
65
00:03:16,140 –> 00:03:18,510
و موارد خاص پیدا کنید. دلایلی مبنی بر اینکه چرا ما
66
00:03:18,510 –> 00:03:21,959
کارهای خاصی را انجام می دهیم، بنابراین اگر می خواهید این را در
67
00:03:21,959 –> 00:03:25,200
قالبی نوشتاری و زیبا و زیبا می خواهید،
68
00:03:25,200 –> 00:03:28,440
همیشه می توانید به پست وبلاگ ML Don بروید،
69
00:03:28,440 –> 00:03:30,209
من پیوندی را در
70
00:03:30,209 –> 00:03:33,540
توضیحات و نوع بررسی آنچه امروز یاد گرفتید ارائه خواهم کرد.
71
00:03:33,540 –> 00:03:36,360
بنابراین، بدون هیچ مقدمه
72
00:03:36,360 –> 00:03:39,239
ای بسیار هیجان زده هستم، بیایید
73
00:03:39,239 –> 00:03:42,810
طبقه بندی کننده باینری را شروع کنیم، بنابراین ما به یک داور به درستی نیاز داریم، بنابراین
74
00:03:42,810 –> 00:03:47,340
من numpy را به عنوان MP درست وارد می کنم و
75
00:03:47,340 –> 00:03:50,730
سپس می خواهیم تصویرسازی خوبی انجام دهیم،
76
00:03:50,730 –> 00:03:53,610
بنابراین آنچه که ما قطعاً به آن نیاز داریم
77
00:03:53,610 –> 00:03:57,470
می توان گفت که وارد کردن
78
00:03:57,470 –> 00:04:04,670
ریاضیات نمودار lib مقدار لوله را به عنوان plc درست است،
79
00:04:04,670 –> 00:04:07,349
بنابراین این قبل از حالت تجسم
80
00:04:07,349 –> 00:04:11,129
بود و اکنون وقتی به شبکه عصبی فکر می کنیم،
81
00:04:11,129 –> 00:04:13,230
باید همیشه
82
00:04:13,230 –> 00:04:16,019
به توابعی فکر کنید که
83
00:04:16,019 –> 00:04:18,660
برای تبدیل ورودی شما به
84
00:04:18,660 –> 00:04:19,108
خروجی وجود دارد،
85
00:04:19,108 –> 00:04:20,820
بله. بنابراین، این توابع
86
00:04:20,820 –> 00:04:24,070
چیست و این یک تمرین خوب است که در واقع
87
00:04:24,070 –> 00:04:26,380
میدانید آن توابع را از طریق
88
00:04:26,380 –> 00:04:29,340
پیادهسازی آنها در
89
00:04:29,340 –> 00:04:32,320
توابع مختلف و پایتون به درستی جدا کنید و سپس
90
00:04:32,320 –> 00:04:34,180
در طول پاس به جلو، فقط میتوانید
91
00:04:34,180 –> 00:04:35,470
آن تابع را فراخوانی کنید و آن تابع
92
00:04:35,470 –> 00:04:37,920
فقط آنها را انجام میدهد و شما محاسبات را میدانید
93
00:04:37,920 –> 00:04:40,600
و این به شما می دهد که نتیجه را
94
00:04:40,600 –> 00:04:42,900
به شما باز می گرداند و این
95
00:04:42,900 –> 00:04:45,220
طراحی مدولار نیز به شما کمک می
96
00:04:45,220 –> 00:04:48,850
کند تا فرآیند عیب یابی را تسهیل کنید،
97
00:04:48,850 –> 00:04:53,470
بله، بنابراین اگر به پرسپترون نگاه کنید
98
00:04:53,470 –> 00:04:55,390
اولین چیزی است که
99
00:04:55,390 –> 00:04:58,480
در پرسپترون ما اتفاق می افتد.
100
00:04:58,480 –> 00:05:00,720
در اینجا
101
00:05:00,720 –> 00:05:04,660
این تابع sigmoid درست، ما به تابعی نیاز داریم
102
00:05:04,660 –> 00:05:07,660
که بتواند مقدار
103
00:05:07,660 –> 00:05:10,840
مشخصی پارامتر را دریافت کند و سپس sigmoid را روی آن اعمال کند
104
00:05:10,840 –> 00:05:13,660
و سپس o را ارسال کند. خروجی درست را بگذارید، بنابراین اگر به
105
00:05:13,660 –> 00:05:16,210
یک سیگموید فکر می کنید و این را در اینجا
106
00:05:16,210 –> 00:05:18,280
می بینید، می توانید ببینید که در سمت چپ،
107
00:05:18,280 –> 00:05:22,030
سیگموید z برابر است با 1 روی 1 به علاوه e
108
00:05:22,030 –> 00:05:25,240
به توان منهای C راست، و آنها همچنین
109
00:05:25,240 –> 00:05:28,420
به آن می گویند Squasher right زیرا
110
00:05:28,420 –> 00:05:31,390
همیشه هیچ مهم نیست که محدوده z
111
00:05:31,390 –> 00:05:35,110
چقدر باشد، همیشه آن را بین 0 و 1 له می کند، بنابراین
112
00:05:35,110 –> 00:05:37,420
بیایید این را به عنوان یک تابع جداگانه پیاده سازی کنیم،
113
00:05:37,420 –> 00:05:40,180
اجازه دهید من یک سلول دیگر ایجاد کنم، بنابراین
114
00:05:40,180 –> 00:05:44,290
این تابع سیگموید من باشد، بله،
115
00:05:44,290 –> 00:05:48,700
بنابراین def که به آن sigmoid می گویند،
116
00:05:48,700 –> 00:05:53,740
یک پارامتر دریافت می کند، اجازه دهید آن را Z بنامیم. و سپس
117
00:05:53,740 –> 00:05:58,150
کاری که انجام می دهد این است
118
00:05:58,150 –> 00:06:04,510
که دقیقاً همان چیزی را برمی گرداند که دقیقاً 1 روی 1 به اضافه عدد پی
119
00:06:04,510 –> 00:06:09,490
نمایی منهای Z و شما همیشه می
120
00:06:09,490 –> 00:06:12,880
توانید کل چیز را در پرانتز قرار دهید فقط
121
00:06:12,880 –> 00:06:16,120
برای اطمینان از اینکه شامی که 1 به علاوه
122
00:06:16,120 –> 00:06:18,310
e به توان منهای همه آن را می بیند.
123
00:06:18,310 –> 00:06:22,930
مخرج شما است، بنابراین این اساساً
124
00:06:22,930 –> 00:06:27,310
تابع سیگموید شما درست است و
125
00:06:27,310 –> 00:06:31,330
اگر به نموداری که آنها در اینجا نمودار میکنند نگاه
126
00:06:31,330 –> 00:06:33,580
کنید، تابع بعدی که
127
00:06:33,580 –> 00:06:36,220
نیاز دارید این است که سیگموید z را محاسبه کنید
128
00:06:36,220 –> 00:06:36,850
129
00:06:36,850 –> 00:06:39,360
و کلاه Y را دریافت کنید، میخواهید
130
00:06:39,360 –> 00:06:41,920
h سفید را ارزیابی کنید. در سمت راست، بنابراین شما به این
131
00:06:41,920 –> 00:06:43,780
تابع آنتروپی متقاطع نیاز دارید، اگر
132
00:06:43,780 –> 00:06:46,990
در اینجا به آن نگاه کنید، منهای
133
00:06:46,990 –> 00:06:49,120
دهان حقیقت زمین ضرب در گزارش
134
00:06:49,120 –> 00:06:52,180
پیشبینی شما منهای یک منهای
135
00:06:52,180 –> 00:06:54,190
حقیقت زمینی ضرب در گزارش
136
00:06:54,190 –> 00:06:57,700
یک منهای پیشبینی شما را داریم و شما
137
00:06:57,700 –> 00:06:59,410
باید توجه داشته باشید که این لاگ ها
138
00:06:59,410 –> 00:07:02,470
در واقع لاگ های طبیعی هستند به این معنی که
139
00:07:02,470 –> 00:07:05,860
پایه این لگاریتم ها
140
00:07:05,860 –> 00:07:09,160
عدد ویژه e سمت راست است، بنابراین برای
141
00:07:09,160 –> 00:07:11,890
پیاده سازی لگاریتم یک لگاریتم طبیعی
142
00:07:11,890 –> 00:07:14,830
در پایتون شما فقط می گویید numpy
143
00:07:14,830 –> 00:07:19,930
dot بسیار زیاد است که به طور پیش فرض پایه است. به
144
00:07:19,930 –> 00:07:24,250
طور پیش فرض درست است، بنابراین بیایید این آنتروپی متقاطع باینری را تعریف کنیم،
145
00:07:24,250 –> 00:07:28,530
بنابراین تابع خطای من
146
00:07:28,530 –> 00:07:36,150
اکنون آنتروپی متقاطع
147
00:07:36,150 –> 00:07:39,190
را به خوبی تعریف می کند، برای دقیق تر آن را به عنوان
148
00:07:39,190 –> 00:07:42,940
آنتروپی متقاطع باینری تعریف می کند تا کلاه Y شما را
149
00:07:42,940 –> 00:07:44,650
که پیش بینی شبکه شما
150
00:07:44,650 –> 00:07:48,040
و حقیقت زمین است دریافت کند. درست است، بنابراین برای هر
151
00:07:48,040 –> 00:07:50,650
پیشبینی که انجام
152
00:07:50,650 –> 00:07:53,470
میدهید، پیشبینی و حقیقت اصلی را به
153
00:07:53,470 –> 00:07:55,450
این تابع میفرستید و میخواهید
154
00:07:55,450 –> 00:07:57,610
آن فرمول ریاضی را اجرا کنید، اکنون
155
00:07:57,610 –> 00:08:00,100
میتوانیم در این ریاضی متوجه شویم.
156
00:08:00,100 –> 00:08:02,950
حقیقت پایه خود را فرموله کنید و از این
157
00:08:02,950 –> 00:08:04,660
نظر چون سیگموید همیشه با
158
00:08:04,660 –> 00:08:07,060
معنی است نمی خواهید حقیقت پایه شما می
159
00:08:07,060 –> 00:08:09,010
تواند یک یا صفر باشد
160
00:08:09,010 –> 00:08:11,620
یک به عنوان مثال
161
00:08:11,620 –> 00:08:14,680
کلاس مثبت و صفر مربوط
162
00:08:14,680 –> 00:08:18,430
به گفتن کلاس منفی بله است بنابراین اگر متوجه میشوید که
163
00:08:18,430 –> 00:08:22,240
اگر Y برابر با یک باشد،
164
00:08:22,240 –> 00:08:24,430
سمت راست این فرمول لغو
165
00:08:24,430 –> 00:08:26,890
میشود که در نهایت با
166
00:08:26,890 –> 00:08:30,160
منهای پیشبینی مواجه میشوید و اگر
167
00:08:30,160 –> 00:08:32,260
حقیقت اصلی شما صفر باشد، عبارت سمت چپ
168
00:08:32,260 –> 00:08:34,599
لغو میشود و سپس به پایان میرسید.
169
00:08:34,599 –> 00:08:37,809
با ثبت منهای یک منهای
170
00:08:37,809 –> 00:08:40,240
پیشبینی شما درست است، بنابراین من
171
00:08:40,240 –> 00:08:43,809
این را بهعنوان یک عبارت if-else
172
00:08:43,809 –> 00:08:47,390
در اینجا پیادهسازی میکنم اگر Y یک است و اگر
173
00:08:47,390 –> 00:08:50,269
اینطور نیست، ساده است، بنابراین اگر حقیقت اصلی
174
00:08:50,269 –> 00:08:57,070
شما برابر با 1 باشد، آن چیزی است که
175
00:08:57,070 –> 00:08:59,600
اصطلاحی که باید برگردانید
176
00:08:59,600 –> 00:09:03,740
منهای گزارش درستی از پیشبینی شما است،
177
00:09:03,740 –> 00:09:08,690
بنابراین گزارش MP
178
00:09:08,690 –> 00:09:11,209
همانطور که گفتم این لگاریتمی است که
179
00:09:11,209 –> 00:09:14,690
مبنای طبیعی پیشبینی شما است
180
00:09:14,690 –> 00:09:19,790
که y درست است یا میتوانید بگویید.
181
00:09:19,790 –> 00:09:24,230
LF y برابر با 0 اما I است بدانید که
182
00:09:24,230 –> 00:09:26,390
من هیچ Y را به این
183
00:09:26,390 –> 00:09:29,060
تابع که با 0 یا 1 متفاوت است ارسال نمی
184
00:09:29,060 –> 00:09:31,010
کنم، بنابراین من فقط چیز دیگری را قرار می دهم تا بدانم
185
00:09:31,010 –> 00:09:35,120
که وقتی y 0 باشد، در آن صورت
186
00:09:35,120 –> 00:09:39,680
من برمی گردم. به اینجا نگاه کنید، بنابراین اگر
187
00:09:39,680 –> 00:09:42,500
Y 0 باشد، سمت چپ آن را لغو می کند،
188
00:09:42,500 –> 00:09:44,899
این امر می تواند منهای ورود به سیستم
189
00:09:44,899 –> 00:09:47,750
1 منهای پیش بینی درست باشد – و
190
00:09:47,750 –> 00:09:57,130
P log 1 – پیش بینی شما بله اکنون عالی است،
191
00:09:57,130 –> 00:10:00,230
بنابراین شما سیگموید را دارید که
192
00:10:00,230 –> 00:10:02,390
صلیب را دارید آنتروپی بنابراین این توابع به
193
00:10:02,390 –> 00:10:07,070
درستی انجام می شوند و دومین چیزی که
194
00:10:07,070 –> 00:10:10,160
باید در مورد آن نگران باشید
195
00:10:10,160 –> 00:10:12,380
این است که عملکرد عملکردهایی که
196
00:10:12,380 –> 00:10:13,820
در طول پاس به عقب به آن نیاز دارید را به عقب
197
00:10:13,820 –> 00:10:16,130
برسانید، بنابراین
198
00:10:16,130 –> 00:10:18,949
پس از تولید خود به دو چیز در اینجا شماره یک نیاز دارید.
199
00:10:18,949 –> 00:10:21,320
خطایی که میخواهید پارامترهای خود
200
00:10:21,320 –> 00:10:23,630
را بهروزرسانی کنید درست میخواهید W 1 و W 0 خود را بهروزرسانی کنید.
201
00:10:23,630 –> 00:10:25,790
202
00:10:25,790 –> 00:10:29,089
203
00:10:29,089 –> 00:10:31,370
204
00:10:31,370 –> 00:10:35,360
205
00:10:35,360 –> 00:10:37,490
که پیش بینی با
206
00:10:37,490 –> 00:10:41,209
resp ect تا Z به طوری که
207
00:10:41,209 –> 00:10:43,310
مشتق خطا با توجه به کلاه Y باشد
208
00:10:43,310 –> 00:10:45,769
که اولین گام از
209
00:10:45,769 –> 00:10:47,360
انتشار برگشتی است که باید بتوانید
210
00:10:47,360 –> 00:10:50,480
انجام دهید و شماره دو است بنابراین شما باید این
211
00:10:50,480 –> 00:10:52,940
واحد سیگموئیدی را داشته باشید و باید بدانید که
212
00:10:52,940 –> 00:10:54,680
چگونه مشتق را بگیرید. از کلاه Y
213
00:10:54,680 –> 00:10:58,640
نسبت به Z به عبارتی دیگر
214
00:10:58,640 –> 00:11:00,259
باید
215
00:11:00,259 –> 00:11:03,199
بدانید مشتق خروجی
216
00:11:03,199 –> 00:11:04,699
تابع سیگموید با توجه به
217
00:11:04,699 –> 00:11:07,160
ورودی تابع سیگموید چگونه است زیرا اگر
218
00:11:07,160 –> 00:11:09,319
نتوانید این کار را انجام دهید قادر خواهید
219
00:11:09,319 –> 00:11:11,540
بود تا مشتق
220
00:11:11,540 –> 00:11:15,019
خطا را به ابتدای
221
00:11:15,019 –> 00:11:17,749
واحد سیگموئیدی خود برگردانید و سپس
222
00:11:17,749 –> 00:11:19,479
فقط مشتق را با توجه به
223
00:11:19,479 –> 00:11:22,729
آن پارامترها می گیرید و با استفاده از قانون زنجیره ای
224
00:11:22,729 –> 00:11:24,769
همه این مشتق ها را
225
00:11:24,769 –> 00:11:28,399
با هم ضرب می کنید تا در نهایت مشتق واقعی خطا را بدست آورید.
226
00:11:28,399 –> 00:11:30,859
با توجه به
227
00:11:30,859 –> 00:11:34,429
یادگیری شما از پارامترهای w0 و w1، بنابراین
228
00:11:34,429 –> 00:11:37,489
خطا در رابطه با کلاه y x
229
00:11:37,489 –> 00:11:41,079
شیب y کلاه نسبت به z
230
00:11:41,079 –> 00:11:44,269
ضرب در گرادیان Z با
231
00:11:44,269 –> 00:11:48,379
توجه به w0 و w1 این همان کاری است که ما میخواهیم
232
00:11:48,379 –> 00:11:53,029
انجام دهیم. بنابراین فرمول شماره یک ریاضی
233
00:11:53,029 –> 00:11:55,009
ما باید
234
00:11:55,009 –> 00:11:56,749
بفهمیم که مشتق خطا با
235
00:11:56,749 –> 00:12:00,019
توجه به پیشبینی کلاه سفید شما چیست، بنابراین
236
00:12:00,019 –> 00:12:03,889
من این را به خوبی در این بیت مشتق کردهام،
237
00:12:03,889 –> 00:12:07,100
بنابراین اگر میتوانید D از Y را با
238
00:12:07,100 –> 00:12:12,109
توجه به کلاه Y ببینید. y منهای y تقسیم
239
00:12:12,109 –> 00:12:15,589
بر y کلاه به اضافه یک منهای y تقسیم بر یک
240
00:12:15,589 –> 00:12:17,299
منهای y کلاه است، بنابراین این چیزی است که ما در
241
00:12:17,299 –> 00:12:25,929
اینجا پیاده سازی می کنیم، بنابراین بیایید ببینیم بله، خوب،
242
00:12:25,929 –> 00:12:31,429
اجازه دهید این تابع را مشتق
243
00:12:31,429 –> 00:12:35,439
آنتروپی متقاطع صدا
244
00:12:35,439 –> 00:12:39,829
کنیم بله درست دوباره این تابع
245
00:12:39,829 –> 00:12:46,519
نیاز دارد Y hat و y بله حالا اگر
246
00:12:46,519 –> 00:12:49,909
در این فرمول متوجه شدید می توانید دو حالت را در نظر بگیرید
247
00:12:49,909 –> 00:12:52,939
اگر Y برابر با یک باشد و اگر
248
00:12:52,939 –> 00:12:55,159
Y دوباره برابر با صفر باشد بسته به
249
00:12:55,159 –> 00:12:57,499
مقدار y یک جمله باقی می ماند و
250
00:12:57,499 –> 00:13:00,049
جمله دیگر چه چیزی را لغو می کند. بنابراین
251
00:13:00,049 –> 00:13:04,459
اگر Y یک است، منهای یک
252
00:13:04,459 –> 00:13:06,699
253
00:13:09,070 –> 00:13:14,839
برمی گردیم کلاه Y-1، اجازه دهید بگویم که دوباره بله، اجازه
254
00:13:14,839 –> 00:13:19,580
دهید دوباره آن را بررسی کنم بله – یک بالای Y
255
00:13:19,580 –> 00:13:22,490
کلاه همان چیزی است که شما برمی گردانید، بله،
256
00:13:22,490 –> 00:13:25,490
به این معنی که اگر Y صفر باشد،
257
00:13:25,490 –> 00:13:27,589
سمت چپ لغو می شود و سپس
258
00:13:27,589 –> 00:13:31,670
یک بر یک منهای y دریافت خواهید کرد کلاه –
259
00:13:31,670 –> 00:13:40,510
نوبت شما یک بر یک منهای y کلاه بله
260
00:13:40,510 –> 00:13:46,450
برگردان بله
261
00:13:46,450 –> 00:13:49,490
درست است به طوری که مشتق
262
00:13:49,490 –> 00:13:50,600
آنتروپی متقاطع
263
00:13:50,600 –> 00:13:52,970
خواهد
264
00:13:52,970 –> 00:13:55,660
بود اگر به آن در اینجا نگاه کنید
265
00:13:55,660 –> 00:13:59,209
مشتق به خاطر Z یا سیگموید Z است مشتق تابع سیگموئید است.
266
00:13:59,209 –> 00:14:01,970
با توجه به Z چیزی نیست جز
267
00:14:01,970 –> 00:14:05,329
سیگموید z ضرب در 1 منهای سینح
268
00:14:05,329 –> 00:14:10,130
C درست است، بنابراین بیایید تعریف کنیم که در آنجا
269
00:14:10,130 –> 00:14:14,890
می توانید این مشتق def را سیگموید بنامید
270
00:14:14,890 –> 00:14:19,040
، فرض کنید من مقادیر X را به آن
271
00:14:19,040 –> 00:14:20,320
هر چه که هست فرستادم
272
00:14:20,320 –> 00:14:27,709
و سپس شما برگردید. برگردان X
273
00:14:27,709 –> 00:14:34,279
ضرب در 1 منهای X، بنابراین این مقدار را به خاطر بسپارید،
274
00:14:34,279 –> 00:14:36,760
این پارامتری که
275
00:14:36,760 –> 00:14:40,310
به این مشتق
276
00:14:40,310 –> 00:14:42,170
تابع سیگموید ارسال می کنم، در واقع مقدار واقعی
277
00:14:42,170 –> 00:14:45,829
سیگموید خواهد بود، زیرا می خواستم
278
00:14:45,829 –> 00:14:49,070
X را در 1 منهای X ضرب کنم، بنابراین فرض می کنم
279
00:14:49,070 –> 00:14:52,040
که X سیگموئید واقعی
280
00:14:52,040 –> 00:14:55,820
z خواهد بود مقدار واقعی سیگموئید درست است
281
00:14:55,820 –> 00:14:58,579
خوب این خوب است
282
00:14:58,579 –> 00:15:02,390
که ما به درستی مشتق نشده
283
00:15:02,390 –> 00:15:03,649
ایم اما در اینجا ما در واقع همه
284
00:15:03,649 –> 00:15:06,649
توابع مورد نیاز خود را پیاده سازی کردیم، بنابراین مرحله بعدی این است
285
00:15:06,649 –> 00:15:10,519
که داده ها را در واقع تولید کنیم. درست است بنابراین
286
00:15:10,519 –> 00:15:12,470
این مرحله زمانی است که ما میخواهیم
287
00:15:12,470 –> 00:15:17,060
دادههای آموزشی خود را اکنون تولید کنیم، زیرا
288
00:15:17,060 –> 00:15:19,000
این یک مشکل طبقهبندی باینری است
289
00:15:19,000 –> 00:15:20,750
که میخواهیم انجام
290
00:15:20,750 –> 00:15:23,800
دهیم، چند نمونه از
291
00:15:23,800 –> 00:15:26,269
نمونههای یک بعدی دوباره از
292
00:15:26,269 –> 00:15:28,759
کلاس منفی و کلاس مثبت تولید میکنیم و
293
00:15:28,759 –> 00:15:31,459
اکنون به دلیل اینکه یک کیسه ترکیبی از
294
00:15:31,459 –> 00:15:35,079
مجموعه داده من فقط دو توزیع گاوسی را در نظر
295
00:15:35,079 –> 00:15:37,339
میگیرم و از
296
00:15:37,339 –> 00:15:39,949
آنها نمونه میگیرم و عمداً میخواهم چون
297
00:15:39,949 –> 00:15:41,720
این توابع گاوسی را تعریف
298
00:15:41,720 –> 00:15:42,769
299
00:15:42,769 –> 00:15:45,350
میکنم که به وضوح از یکدیگر جدا هستیم
300
00:15:45,350 –> 00:15:47,839
زیرا میخواهم تفکیک خوبی
301
00:15:47,839 –> 00:15:50,600
بین مقادیر داشته باشید زیرا میخواهم آنها
302
00:15:50,600 –> 00:15:53,420
به صورت خطی قابل تفکیک باشند و
303
00:15:53,420 –> 00:15:57,709
دلیل آن این است که یک پرسپترون میتواند همگرا شود، یک
304
00:15:57,709 –> 00:16:01,879
پرسپترون میتواند
305
00:16:01,879 –> 00:16:04,519
مثالهای شما را برای دو کلاس شما طبقهبندی کند تا زمانی که
306
00:16:04,519 –> 00:16:08,959
آنها به صورت خطی قابل تفکیک باشند، اگر
307
00:16:08,959 –> 00:16:11,029
ادراکی نباشند. پرسپترون شکست می خورد
308
00:16:11,029 –> 00:16:13,790
شما به لایه های بیشتری نیاز خواهید داشت نه فقط
309
00:16:13,790 –> 00:16:17,240
یک لایه و این
310
00:16:17,240 –> 00:16:21,139
مشکل کلاسیک XOR است. دروازه XOR در واقع
311
00:16:21,139 –> 00:16:23,360
این مثال ها در X یا Y به
312
00:16:23,360 –> 00:16:25,040
صورت خطی جدا نیستند. و هیچ راهی وجود ندارد
313
00:16:25,040 –> 00:16:28,519
که بتوانید آنها را
314
00:16:28,519 –> 00:16:32,180
با استفاده از
315
00:16:32,180 –> 00:16:34,509
یک لایه و فقط با استفاده از یک پرسپترون
316
00:16:34,509 –> 00:16:36,740
به کلاس های مربوطه خود طبقه بندی کنید، بنابراین به همین دلیل مطمئن می شوم
317
00:16:36,740 –> 00:16:38,829
که این داده های تولید شده واقعاً به
318
00:16:38,829 –> 00:16:41,120
صورت خطی از یکدیگر قابل تفکیک هستند.
319
00:16:41,120 –> 00:16:44,899
من این کار را انجام میدهم،
320
00:16:44,899 –> 00:16:50,420
بیایید n برابر در نظر بگیریم 500. 500 مثال،
321
00:16:50,420 –> 00:16:53,360
کاری است که بعداً انجام میدهیم،
322
00:16:53,360 –> 00:16:56,240
من دو گاوسی را درست در نظر
323
00:16:56,240 –> 00:16:58,699
میگیرم، بنابراین یک گاوسی باید آن را در پایتون تعریف کنم،
324
00:16:58,699 –> 00:17:01,670
یک گاوسی میانگین دارد و
325
00:17:01,670 –> 00:17:05,000
انحراف معیار دارد. درست است، بنابراین ابتدا
326
00:17:05,000 –> 00:17:08,000
این مقادیر را تعریف می کنم، بگذارید بگوییم mu
327
00:17:08,000 –> 00:17:13,069
و سیگما بله، و می خواهم بگویم
328
00:17:13,069 –> 00:17:17,659
که mu صفر است و سیگما یک درست است، بنابراین
329
00:17:17,659 –> 00:17:19,939
این اولین و
330
00:17:19,939 –> 00:17:22,699
سیگما اولین گاوسی خواهد بود پس از نمونه گیری از
331
00:17:22,699 –> 00:17:26,449
داده هایم مثالهای مثبت
332
00:17:26,449 –> 00:17:28,429
گوچر اول را بگویید، من مطمئن میشوم
333
00:17:28,429 –> 00:17:30,580
که گاوس دوم بهعنوان مثال
334
00:17:30,580 –> 00:17:32,620
هر مقداری باشد که میانگین اولی
335
00:17:32,620 –> 00:17:34,990
به اضافه پنج به اضافه 10 باشد، به طوری که به
336
00:17:34,990 –> 00:17:36,490
اندازه کافی از آن جدا باشد تا
337
00:17:36,490 –> 00:17:38,910
مطمئن شویم که مثالها به صورت خطی قابل تفکیک هستند.
338
00:17:38,910 –> 00:17:41,890
ما سعی نمیکنیم این مجموعه داده را گسترش دهیم،
339
00:17:41,890 –> 00:17:43,900
زیرا
340
00:17:43,900 –> 00:17:45,730
این هدف نیست، ما فقط میخواهیم
341
00:17:45,730 –> 00:17:48,640
نحوه پیادهسازی یک طبقهبندی کننده باینری را از
342
00:17:48,640 –> 00:17:49,270
ابتدا یاد بگیریم،
343
00:17:49,270 –> 00:17:57,670
بله، بیایید X 0 را ببینیم تا X 0
344
00:17:57,670 –> 00:18:01,570
مثالهای مثبت را درست یا
345
00:18:01,570 –> 00:18:03,820
منفی نگه دارد. به عنوان مثال هر چیزی که دارید
346
00:18:03,820 –> 00:18:05,830
فقط یک اصطلاح ساده است، شما فقط می
347
00:18:05,830 –> 00:18:08,980
توانید راهی را که می خواهید انتخاب کنید، بنابراین
348
00:18:08,980 –> 00:18:12,040
این بسته زیبا در داخل آن تصادفی نامیده می
349
00:18:12,040 –> 00:18:14,710
شود و سپس به صورت تصادفی می توانید نوع توزیع ما را انتخاب کنید،
350
00:18:14,710 –> 00:18:16,720
351
00:18:16,720 –> 00:18:19,120
بنابراین می گویید نقطه نرمال و سپس
352
00:18:19,120 –> 00:18:21,670
وقتی این کار را انجام میدهید، برای
353
00:18:21,670 –> 00:18:22,750
کلمه پارامترهای توزیع منتظر میماند،
354
00:18:22,750 –> 00:18:27,370
بنابراین من میانگین این گاوسی را جدید ارسال میکنم
355
00:18:27,370 –> 00:18:30,370
و انحراف آنها را میفرستم
356
00:18:30,370 –> 00:18:32,320
سیگمای شما
357
00:18:32,320 –> 00:18:34,480
که قبلاً تعریف کردهاید و سپس شما میخواهیم
358
00:18:34,480 –> 00:18:36,700
مشخص کنیم که چه تعداد دوست دارید،
359
00:18:36,700 –> 00:18:41,170
بنابراین ما 500 تا 500 نمونه از کلاس مثبت میخواهیم،
360
00:18:41,170 –> 00:18:43,240
براین من فقط آنها را به درستی پاس میدهم، ه
361
00:18:43,240 –> 00:18:47,890
ان داستان را برای نم
362
00:18:47,890 –> 00:18:50,490
نههای کلاس دیگر کامل می
363
00:18:50,490 –> 00:18:54,760
کنم، اما NP اردکها نقطههای تصادفی معمولی سعی کنید کپ
364
00:18:54,760 –> 00:18:56,590
نکنید. و کد را بچسبانید، من
365
00:18:56,590 –> 00:18:59,500
می دانم که احتمالاً قبلاً
366
00:18:59,500 –> 00:19:02,890
گام به گام با من کدنویسی کرده اید، اما سعی کنید
367
00:19:02,890 –> 00:19:04,870
همان دستور را دوباره تایپ کنید که
368
00:19:04,870 –> 00:19:07,510
به نوعی بهانه ای برای شما خواهد بود تا به
369
00:19:07,510 –> 00:19:09,700
نوعی تمرین کنید تا
370
00:19:09,700 –> 00:19:11,140
دستورات را بیشتر تمرین کنید. و بیشتر به این ترتیب
371
00:19:11,140 –> 00:19:13,690
که هر زمان
372
00:19:13,690 –> 00:19:16,720
که به درستی به آنها نیاز داشتید می توانید آنها را به همین شکل داشته باشید، بنابراین من فقط
373
00:19:16,720 –> 00:19:19,270
می گوییم nu به اضافه 7
374
00:19:19,2