در این مطلب، ویدئو 07. پیش بینی ارزش با استفاده از رگرسیون خطی در پایتون | هوش مصنوعی و یادگیری ماشینی با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:38:44
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,280 –> 00:00:11,449
[موسیقی]
2
00:00:11,759 –> 00:00:14,240
سلام مجدد و خوش آمدید به درس 7
3
00:00:14,240 –> 00:00:15,839
هوش مصنوعی و
4
00:00:15,839 –> 00:00:17,760
دوره آموزشی مبانی یادگیری ماشین
5
00:00:17,760 –> 00:00:20,080
برای درس امروز شما یاد خواهید گرفت که چگونه
6
00:00:20,080 –> 00:00:22,080
اولین مدل یادگیری ماشین خود را
7
00:00:22,080 –> 00:00:25,359
با استفاده از رگرسیون خطی
8
00:00:25,920 –> 00:00:28,160
9
00:00:28,160 –> 00:00:29,519
10
00:00:29,519 –> 00:00:32,079
11
00:00:32,079 –> 00:00:33,840
بسازید. یک روش آماری
12
00:00:33,840 –> 00:00:36,000
است که برای پیشبینی
13
00:00:36,000 –> 00:00:38,160
متغیرهای عددی پیوسته
14
00:00:38,160 –> 00:00:41,440
مانند امتیاز قیمت سن حقوق فروش
15
00:00:41,440 –> 00:00:44,640
و غیره استفاده میشود و اساساً از یک
16
00:00:44,640 –> 00:00:45,760
مدل رگرسیون خطی
17
00:00:45,760 –> 00:00:47,680
برای انجام وظیفه
18
00:00:47,680 –> 00:00:49,360
پیشبینی مقدار یک
19
00:00:49,360 –> 00:00:50,640
متغیر وابسته y استفاده میشود
20
00:00:50,640 –> 00:00:53,120
که به عنوان متغیر هدف بر اساس نیز شناخته میشود.
21
00:00:53,120 –> 00:00:54,800
بر روی مقدار یک یا چند
22
00:00:54,800 –> 00:00:57,760
متغیر x مستقل که به عنوان پیشبینیکننده نیز نامیده میشوند
23
00:00:57,760 –> 00:00:59,520
24
00:00:59,520 –> 00:01:01,520
، دو نوع رگرسیون خطی رگرسیون خطی
25
00:01:01,520 –> 00:01:03,760
ساده و
26
00:01:03,760 –> 00:01:06,000
رگرسیون خطی چندگانه هستند، بنابراین
27
00:01:06,000 –> 00:01:07,280
28
00:01:07,280 –> 00:01:09,040
اگر فقط یک
29
00:01:09,040 –> 00:01:11,439
متغیر مستقل برای پیشبینی مقدار یک
30
00:01:11,439 –> 00:01:13,360
متغیر وابسته عددی استفاده
31
00:01:13,360 –> 00:01:15,040
شود، چه تفاوتی دارد. به آن رگرسیون خطی ساده می گویند،
32
00:01:15,040 –> 00:01:16,960
اما
33
00:01:16,960 –> 00:01:19,360
اگر دو یا چند i باشد متغیرهای
34
00:01:19,360 –> 00:01:21,439
وابسته برای پیشبینی مقدار یک
35
00:01:21,439 –> 00:01:22,960
متغیر وابسته عددی استفاده میشوند،
36
00:01:22,960 –> 00:01:25,360
سپس به آن رگرسیون خطی چندگانه
37
00:01:25,360 –> 00:01:26,560
38
00:01:26,560 –> 00:01:29,200
میگویند. یادآوری میکنیم که در یادگیری نظارتشده،
39
00:01:29,200 –> 00:01:30,880
از دادههای آموزشی برچسب
40
00:01:30,880 –> 00:01:33,520
بهعنوان ورودی به جای قوانین ثابت استفاده میکنید و
41
00:01:33,520 –> 00:01:34,079
سپس
42
00:01:34,079 –> 00:01:36,479
الگوریتم یادگیری ماشین شما سعی
43
00:01:36,479 –> 00:01:38,079
میکند دادههای شما را تعمیم دهد.
44
00:01:38,079 –> 00:01:40,799
پیدا کردن الگوها برای آن و سپس
45
00:01:40,799 –> 00:01:42,399
فرموله کردن قوانین به تنهایی
46
00:01:42,399 –> 00:01:45,040
برای بازتولید همان نتیجه،
47
00:01:45,040 –> 00:01:46,399
این مثال را در نظر بگیرید،
48
00:01:46,399 –> 00:01:48,399
فرض کنید الگوریتم یادگیری ماشین خود
49
00:01:48,399 –> 00:01:50,640
را یک مجموعه داده آموزشی
50
00:01:50,640 –> 00:01:53,759
متشکل از متغیرهای x و y ارائه می دهیم و در
51
00:01:53,759 –> 00:01:54,479
اینجا
52
00:01:54,479 –> 00:01:57,840
یک نقطه داده می گوید که وقتی x 2 است
53
00:01:57,840 –> 00:02:01,520
خروجی y 7 است. داده دیگری می گوید
54
00:02:01,520 –> 00:02:05,520
وقتی x 4 است مقدار خروجی y 11 است
55
00:02:05,520 –> 00:02:08,639
و داده دیگر می گوید وقتی x 1 است
56
00:02:08,639 –> 00:02:10,800
خروجی y 5 است.
57
00:02:10,800 –> 00:02:12,560
هر چه مثال های بیشتری برای
58
00:02:12,560 –> 00:02:14,319
یادگیری ماشین خود بیاورید در نهایت بهتر
59
00:02:14,319 –> 00:02:15,360
یاد می گیرد
60
00:02:15,360 –> 00:02:17,760
در نهایت باید آن را تشخیص دهد. را خارج کنید و
61
00:02:17,760 –> 00:02:19,599
به یک قانون تعمیم یافته
62
00:02:19,599 –> 00:02:22,640
یا مدلی برسید که
63
00:02:22,640 –> 00:02:24,239
مجموعه داده های آموزشی داده شده را به بهترین نحو تکرار کند،
64
00:02:24,239 –> 00:02:26,480
مانند این که مدل آموزش داده شده به
65
00:02:26,480 –> 00:02:27,280
سادگی
66
00:02:27,280 –> 00:02:30,560
y برابر x برابر دو p است. lus
67
00:02:30,560 –> 00:02:33,120
3 فقط به این معنی است که هر مقدار
68
00:02:33,120 –> 00:02:33,840
x
69
00:02:33,840 –> 00:02:36,959
را دو برابر کنید و سپس 3 را اضافه کنید تا مقدار y را بدست آورید،
70
00:02:36,959 –> 00:02:38,400
71
00:02:38,400 –> 00:02:41,440
بنابراین اکنون اگر مقدار جدیدی را به x به
72
00:02:41,440 –> 00:02:42,640
این
73
00:02:42,640 –> 00:02:45,040
مقدار مدلی که قبلاً
74
00:02:45,040 –> 00:02:46,400
در طول آموزش با آن برخورد نکرده بود ارائه
75
00:02:46,400 –> 00:02:49,760
دهیم ، فرض کنید 3 باید بتواند
76
00:02:49,760 –> 00:02:51,360
تخمین دقیق 9 را
77
00:02:51,360 –> 00:02:54,400
بر اساس آموزش خود پیش بینی کند حالا بیایید یک
78
00:02:54,400 –> 00:02:56,640
مثال واقعی تر از این داشته
79
00:02:56,640 –> 00:02:59,040
باشیم که در آن می توانیم رگرسیون خطی را برای
80
00:02:59,040 –> 00:03:03,040
ساختن اولین مدل یادگیری ماشین خود اعمال
81
00:03:03,680 –> 00:03:05,920
کنیم، فرض کنید شما یک مشاور املاک با
82
00:03:05,920 –> 00:03:07,200
سال ها تجربه در
83
00:03:07,200 –> 00:03:10,000
فروش خانه هستید. از آنجایی که شما
84
00:03:10,000 –> 00:03:10,959
در این زمینه متخصص
85
00:03:10,959 –> 00:03:12,879
هستید، می توانید فوراً ارزش تخمینی
86
00:03:12,879 –> 00:03:14,879
یک خانه را با
87
00:03:14,879 –> 00:03:16,800
توجه به پارامترهای مختلف
88
00:03:16,800 –> 00:03:18,480
مانند مساحت
89
00:03:18,480 –> 00:03:21,360
کل مساحت طبقات تعداد طبقات
90
00:03:21,360 –> 00:03:22,239
تعداد اتاق
91
00:03:22,239 –> 00:03:25,280
خواب ها و غیره در یک نگاه به ارزش تخمینی یک خانه بگویید
92
00:03:25,280 –> 00:03:27,760
تا واقعی خود را گسترش دهید. کسب و کار املاکی که
93
00:03:27,760 –> 00:03:28,480
می خواهید
94
00:03:28,480 –> 00:03:31,200
یک سیستم هوش مصنوعی داشته باشید می تواند یک برنامه تلفن همراه یا یک
95
00:03:31,200 –> 00:03:32,080
وب سایت باشد
96
00:03:32,080 –> 00:03:34,159
که می تواند ارزش یک خانه را
97
00:03:34,159 –> 00:03:36,799
بسته به عوامل متعددی تخمین
98
00:03:36,799 –> 00:03:38,480
بزند که می تواند به مشتریان بالقوه شما کمک زیادی کند.
99
00:03:38,480 –> 00:03:41,040
d برای انجام این کار
100
00:03:41,040 –> 00:03:43,440
ابتدا باید تا
101
00:03:43,440 –> 00:03:44,319
حد امکان
102
00:03:44,319 –> 00:03:46,319
از تمام خانه هایی که در
103
00:03:46,319 –> 00:03:47,920
چند ماه گذشته فروخته شده اند
104
00:03:47,920 –> 00:03:50,000
رکورد داشته باشید سابقه شما باید شامل تمام
105
00:03:50,000 –> 00:03:52,319
ویژگی های مهم مانند تعداد اتاق خواب
106
00:03:52,319 –> 00:03:54,720
مساحت خانه و متر مربع شهری باشد
107
00:03:54,720 –> 00:03:56,080
که خانه در آن واقع شده است.
108
00:03:56,080 –> 00:03:59,439
به همین ترتیب و البته قیمت واقعی
109
00:03:59,439 –> 00:04:00,959
برای هر خانه،
110
00:04:00,959 –> 00:04:04,319
این دادههای آموزشی برچسبگذاری شده شما خواهد بود،
111
00:04:04,319 –> 00:04:06,000
وقتی این دادهها را به
112
00:04:06,000 –> 00:04:08,319
الگوریتم یادگیری ماشینی رگرسیون خطی وارد
113
00:04:08,319 –> 00:04:10,319
کنید، نحوه رسیدن به
114
00:04:10,319 –> 00:04:12,319
نزدیکترین قیمت فروش ممکن برای هر
115
00:04:12,319 –> 00:04:13,280
116
00:04:13,280 –> 00:04:14,959
خانه مشخص میشود. چیزی که ما آن را مدل یادگیری ماشین می نامیم،
117
00:04:14,959 –> 00:04:16,720
بنابراین
118
00:04:16,720 –> 00:04:18,320
قبل از اینکه از الگوریتم رگرسیون خطی استفاده
119
00:04:18,320 –> 00:04:20,238
کنیم،
120
00:04:20,238 –> 00:04:22,320
ابتدا یک برنامه بسیار ساده برای
121
00:04:22,320 –> 00:04:25,759
تخمین ارزش یک خانه ایجاد می
122
00:04:26,160 –> 00:04:28,320
کنیم، فرض کنید من خانه ای با
123
00:04:28,320 –> 00:04:29,520
قیمت فروش واقعی
124
00:04:29,520 –> 00:04:33,360
5.5 میلیون پزو دارم که دارای زیربنای کل 91 متر مربع است.
125
00:04:33,360 –> 00:04:37,759
اکنون منطقه ای با چهار اتاق
126
00:04:37,759 –> 00:04:40,720
خواب برای ایجاد برنامه ای که
127
00:04:40,720 –> 00:04:42,400
ارزش این
128
00:04:42,400 –> 00:04:44,960
خانه را تخمین می زند، تابعی به نام تخمین
129
00:04:44,960 –> 00:04:46,639
ارزش خانه
130
00:04:46,639 –> 00:04:49,600
ایجاد می کنم، بگذارید آن را ساده کنیم. y دو
131
00:04:49,600 –> 00:04:50,800
132
00:04:50,800 –> 00:04:53,520
پارامتر مساحت طبقات بر حسب متر مربع و
133
00:04:53,520 –> 00:04:56,400
تعداد اتاق خواب ها را می پذیرد
134
00:04:56,400 –> 00:04:58,880
و بر اساس این دو ویژگی این
135
00:04:58,880 –> 00:05:00,800
تابع باید بتواند
136
00:05:00,800 –> 00:05:02,160
ارزش خانه را تخمین بزند
137
00:05:02,160 –> 00:05:05,520
بنابراین باید مقداری را برگرداند حالا
138
00:05:05,520 –> 00:05:07,759
فرض کنید هر خانه ای صرف نظر
139
00:05:07,759 –> 00:05:09,039
از ویژگی های
140
00:05:09,039 –> 00:05:12,160
آن هزینه حداقل 3 میلیون
141
00:05:12,160 –> 00:05:15,759
پزو آن را به عنوان قیمت پایه
142
00:05:16,320 –> 00:05:18,880
در نظر بگیرید و بسته به مساحت آن،
143
00:05:18,880 –> 00:05:21,440
ارزش خانه افزایش می یابد
144
00:05:21,440 –> 00:05:23,840
که به ازای هر متر مربع 16000 پزو ارزش دارد،
145
00:05:23,840 –> 00:05:27,039
146
00:05:28,639 –> 00:05:31,680
همچنین
147
00:05:31,680 –> 00:05:32,960
منطقی است که فرض
148
00:05:32,960 –> 00:05:35,600
کنیم هر چه تعداد اتاق خواب بیشتر باشد. خانه هر چه
149
00:05:35,600 –> 00:05:37,680
قیمت فروشش بالاتر باشد
150
00:05:37,680 –> 00:05:40,400
بگو که هر اتاق خواب حدود
151
00:05:40,400 –> 00:05:43,919
250 000 پزو
152
00:05:45,600 –> 00:05:48,720
قیمت دارد حالا بیایید سعی کنیم این تابع را فراخوانی کنیم و
153
00:05:48,720 –> 00:05:50,800
به بحث های
154
00:05:50,800 –> 00:05:55,039
91 متر مربع با 4 اتاق خواب
155
00:05:55,039 –> 00:05:58,240
156
00:05:58,240 –> 00:06:00,560
157
00:06:02,319 –> 00:06:05,039
بپردازیم و سپس ارزش تخمینی خانه را وقتی که این را اجرا کنم خانه ما تخمین زده شده را چاپ می کنم.
158
00:06:05,039 –> 00:06:06,000
ارزش
159
00:06:06,000 –> 00:06:07,840
پنج میلیون و چهارصد و پنجاه و شش
160
00:06:07,840 –> 00:06:09,280
هزار پزو
161
00:06:09,280 –> 00:06:11,840
است، بسیار خوب، این کاملاً به
162
00:06:11,840 –> 00:06:12,960
قیمت فروش واقعی
163
00:06:12,960 –> 00:06:16,080
5.5 میلیون پزو نزدیک است، می توان گفت که
164
00:06:16,080 –> 00:06:18,720
برآوردگر ما w است. خیلی خوب کار می کند،
165
00:06:18,720 –> 00:06:20,319
اجازه دهید دوباره نگاهی بیندازیم که این
166
00:06:20,319 –> 00:06:22,000
تابع چه کاری انجام می دهد، تنها کاری که
167
00:06:22,000 –> 00:06:24,479
انجام می دهد این است که هر پارامتر را به عنوان
168
00:06:24,479 –> 00:06:25,199
ورودی می گیرد
169
00:06:25,199 –> 00:06:27,840
و سپس آنها را در یک وزن ثابت ضرب می کنیم
170
00:06:27,840 –> 00:06:29,039
، وزن برای
171
00:06:29,039 –> 00:06:32,560
مساحت کف 16000 در هر متر مربع
172
00:06:32,560 –> 00:06:35,280
و وزن اتاق خواب برابر است. 250 000
173
00:06:35,280 –> 00:06:36,479
پزو
174
00:06:36,479 –> 00:06:38,560
به طور خلاصه می توان گفت که
175
00:06:38,560 –> 00:06:39,919
ارزش واقعی هر
176
00:06:39,919 –> 00:06:42,240
خانه فقط ترکیبی از مساحت کف آن
177
00:06:42,240 –> 00:06:42,960
178
00:06:42,960 –> 00:06:45,919
و تعداد اتاق خواب هایی است که دارد
179
00:06:45,919 –> 00:06:46,960
بنابراین فرآیند
180
00:06:46,960 –> 00:06:49,120
مدل سازی ارزش چیزی با
181
00:06:49,120 –> 00:06:50,479
مجموعه ای از وزن های
182
00:06:50,479 –> 00:06:53,199
ثابت را رگرسیون خطی می گویند. در
183
00:06:53,199 –> 00:06:54,479
رگرسیون خطی
184
00:06:54,479 –> 00:06:56,880
به جای اینکه ما به صورت دستی وزنها را تخمین بزنیم و
185
00:06:56,880 –> 00:06:59,120
سپس وزنها را به این شکل تخصیص دهیم
186
00:06:59,120 –> 00:07:00,880
، الگوریتم
187
00:07:00,880 –> 00:07:02,160
188
00:07:02,160 –> 00:07:04,240
با یادگیری از طریق مجموعه دادههای آموزشی دادهشده، وزنها را به تنهایی به دست میآورد
189
00:07:04,240 –> 00:07:05,680
،
190
00:07:05,680 –> 00:07:08,400
بنابراین الگوریتم چگونه میداند چه
191
00:07:08,400 –> 00:07:09,280
مقداری
192
00:07:09,280 –> 00:07:11,680
برای هر یک از این وزنها باید استفاده کند. که
193
00:07:11,680 –> 00:07:13,840
پیشبینیهای تولید شده توسط این مدل به
194
00:07:13,840 –> 00:07:15,360
195
00:07:15,360 –> 00:07:18,160
خوبی در پشت صحنه دقیق هستند، الگوریتم
196
00:07:18,160 –> 00:07:19,360
197
00:07:19,360 –> 00:07:21,280
با استفاده از نوعی
198
00:07:21,280 –> 00:07:24,160
تکنیک بهینهسازی این وزنها را پیدا میکند که میتواند در i حل کند.
199
00:07:24,160 –> 00:07:25,759
زمانی که ما در حال آموزش الگوریتم یادگیری ماشینی خود
200
00:07:25,759 –> 00:07:27,280
201
00:07:27,280 –> 00:07:29,680
هستیم، واقعاً از آن میخواهیم تا بهترین
202
00:07:29,680 –> 00:07:30,880
وزنها را پیدا کند که
203
00:07:30,880 –> 00:07:33,039
پاسخها را در
204
00:07:33,039 –> 00:07:34,960
مجموعه دادههای آموزشی
205
00:07:34,960 –> 00:07:37,680
به دقت بازتولید میکند تا این را بفهمیم، بیایید
206
00:07:37,680 –> 00:07:39,360
207
00:07:39,360 –> 00:07:42,160
با استفاده از دادههای آموزشی نمونه، محاسبهای را انجام
208
00:07:42,160 –> 00:07:42,479
209
00:07:42,479 –> 00:07:46,479
دهیم. سه خانه شناخته شده برای هر
210
00:07:46,479 –> 00:07:48,560
خانه، مساحت طبقه، تعداد
211
00:07:48,560 –> 00:07:52,000
اتاق خواب ها و قیمت واقعی خانه را داریم،
212
00:07:52,000 –> 00:07:54,319
بنابراین این معادله تخمینی ارزش خانه
213
00:07:54,319 –> 00:07:55,199
214
00:07:55,199 –> 00:07:58,319
برای هر یک از این سه خانه شناخته شده است و
215
00:07:58,319 –> 00:07:59,120
سپس
216
00:07:59,120 –> 00:08:01,599
تمام مقادیری را که
217
00:08:01,599 –> 00:08:03,759
از داده های آموزشی خود می دانیم جایگزین
218
00:08:03,759 –> 00:08:05,840
کنید. فقط مقادیر مجهول در هر
219
00:08:05,840 –> 00:08:08,160
معادله دو وزن هستند
220
00:08:08,160 –> 00:08:10,240
توجه داشته باشید که هدف ما یافتن دو
221
00:08:10,240 –> 00:08:12,879
وزن است که به بهترین شکل ممکن
222
00:08:12,879 –> 00:08:15,759
برای همه این معادله به طور همزمان کار کنند،
223
00:08:15,759 –> 00:08:16,560
بنابراین
224
00:08:16,560 –> 00:08:19,360
باید از جایی شروع کنیم و بگوییم من
225
00:08:19,360 –> 00:08:21,280
با یک حدس تصادفی کل شروع می کنم. هر
226
00:08:21,280 –> 00:08:22,479
وزن
227
00:08:22,479 –> 00:08:26,319
من از 27 000 پزو برای هر دو وزن استفاده خواهم کرد،
228
00:08:26,319 –> 00:08:28,720
حالا بیایید ببینیم که با ارزیابی هر معادله چقدر خوب کار می کند،
229
00:08:28,720 –> 00:08:30,879
230
00:08:30,879 –> 00:08:34,080
بیایید 27 000 را جایگزین وزن 1
231
00:08:34,080 –> 00:08:37,360
و وزن 2 کنیم و سپس eva را جایگزین کنیم. هر
232
00:08:37,360 –> 00:08:38,159
معادله را
233
00:08:38,159 –> 00:08:41,679
برای به دست آوردن تخمین ارزش اولیه ما
234
00:08:41,679 –> 00:08:43,440
با نگاهی به ارزش واقعی برای هر
235
00:08:43,440 –> 00:08:46,240
خانه در مقایسه با آنچه که محاسبه
236
00:08:46,240 –> 00:08:48,399
کردیم، می توانیم ببینیم که تخمین های ما
237
00:08:48,399 –> 00:08:52,560
تا حدودی چند هزار پزو کاهش یافته است،
238
00:08:52,560 –> 00:08:56,000
بنابراین اکنون بیایید کمیت کنیم که
239
00:08:56,000 –> 00:08:58,000
تخمین های فعلی ما
240
00:08:58,000 –> 00:09:01,120
چقدر بد هستند. تابع هزینه تابع هزینه
241
00:09:01,120 –> 00:09:03,600
تابعی است که
242
00:09:03,600 –> 00:09:04,880
عملکرد یک مدل را
243
00:09:04,880 –> 00:09:08,080
برای یک داده معین اندازه گیری می کند و خطای
244
00:09:08,080 –> 00:09:10,560
بین مقادیر پیش بینی شده و
245
00:09:10,560 –> 00:09:11,440
مقادیر مورد انتظار را کمی می کند
246
00:09:11,440 –> 00:09:14,000
و آن را به شکل یک عدد واقعی ارائه می دهد.
247
00:09:14,000 –> 00:09:15,519
248
00:09:15,519 –> 00:09:17,440
249
00:09:17,440 –> 00:09:18,800
250
00:09:18,800 –> 00:09:21,440
پارامترهای مدل بیایید
251
00:09:21,440 –> 00:09:22,080
252
00:09:22,080 –> 00:09:25,040
برخی از اینها را درک کنیم ابتدا خطا را محاسبه کنیم که
253
00:09:25,040 –> 00:09:26,959
254
00:09:26,959 –> 00:09:28,880
این تفاوت بین
255
00:09:28,880 –> 00:09:30,880
قیمت تخمینی ما برای هر خانه و
256
00:09:30,880 –> 00:09:33,279
قیمت واقعی آن خانه است،
257
00:09:33,279 –> 00:09:36,240
اکنون ممکن است
258
00:09:36,240 –> 00:09:36,880
259
00:09:36,880 –> 00:09:38,959
بسته به اینکه مقدار پیش بینی شده بیشتر باشد یا فاصله، خطا یا فاصله منفی یا مثبت را ببینید.
260
00:09:38,959 –> 00:09:40,640
261
00:09:40,640 –> 00:09:44,080
کمتر از مقدار واقعی اکنون
262
00:09:44,080 –> 00:09:45,839
باید جمع این خطاها را بدست آوریم،
263
00:09:45,839 –> 00:09:47,279
264
00:09:47,279 –> 00:09:49,519
اما گفتن آن صحیح نیست
265
00:09:49,519 –> 00:09:52,160
فاصله می تواند ارزش منفی داشته باشد،
266
00:09:52,160 –> 00:09:54,480
این مقدار نباید منفی باشد، زیرا
267
00:09:54,480 –> 00:09:56,560
268
00:09:56,560 –> 00:09:59,760
وقتی آن را جمع می کنیم، خطاهای مثبت را خنثی می کند، بنابراین یک روش ساده
269
00:09:59,760 –> 00:10:01,920
این است که قدر مطلق این خطاها را بدست آوریم
270
00:10:01,920 –> 00:10:03,120
271
00:10:03,120 –> 00:10:05,920
و سپس برای محاسبه هزینه،
272
00:10:05,920 –> 00:10:07,839
تمام خطاهای مطلق را جمع کنیم.
273
00:10:07,839 –> 00:10:09,680
و آن را بر تعداد نقاط داده تقسیم کنید
274
00:10:09,680 –> 00:10:13,120
و ما فقط 3 خانه داریم،
275
00:10:13,120 –> 00:10:16,959
بنابراین هزینه محاسبه شده 72 هزار را به ما می دهد
276
00:10:16,959 –> 00:10:18,240
277
00:10:18,240 –> 00:10:21,120
این تابع هزینه را که ایجاد کردیم
278
00:10:21,120 –> 00:10:21,920
279
00:10:21,920 –> 00:10:25,360
میانگین خطای مطلق نامیده می شود یا
280
00:10:25,360 –> 00:10:27,360
این متریک رگرسیون
281
00:10:27,360 –> 00:10:29,440
میانگین بزرگی خطاها را
282
00:10:29,440 –> 00:10:32,000
در یک اندازه گیری می کند. گروهی از پیشبینیها بدون در
283
00:10:32,000 –> 00:10:34,000
نظر گرفتن جهتهایشان،
284
00:10:34,000 –> 00:10:36,720
به عبارت دیگر میانگین
285
00:10:36,720 –> 00:10:38,560
تفاوتهای مطلق بین پیشبینیها
286
00:10:38,560 –> 00:10:41,200
و نتایج مورد انتظار است که در آن همه
287
00:10:41,200 –> 00:10:42,880
انحرافات فردی
288
00:10:42,880 –> 00:10:46,160
حتی در اصطلاح عامیانه اهمیت دارند.
289
00:10:46,160 –> 00:10:49,440
290
00:10:49,440 –> 00:10:53,760
291
00:10:53,760 –> 00:10:56,320
292
00:10:56,320 –> 00:10:58,839
ماتریس رگرسیون که معمولاً استفاده می شود میانگین مربعات خطا یا
293
00:10:58,839 –> 00:11:01,920
mse است که تغییری در
294
00:11:01,920 –> 00:11:04,959
mae است که به جای گرفتن مقدار مطلق
295
00:11:04,959 –> 00:11:06,720
o است. F تفاوت
296
00:11:06,720 –> 00:11:10,160
آنها مربع هستند اکنون اجازه دهید هر یک
297
00:11:10,160 –> 00:11:11,200
از این موارد را مربع کنیم
298
00:11:11,200 –> 00:11:14,399
و سپس همه آنها را با هم جمع کنیم و
299
00:11:14,399 –> 00:11:15,839
خطای هر خانه
300
00:11:15,839 –> 00:11:18,959
را مربع کنیم تا خطای بزرگ بیشتر جریمه شود. ترجیح می دهیم
301
00:11:18,959 –> 00:11:19,360
302
00:11:19,360 –> 00:11:22,240
تخمین هر خانه کمی اشتباه باشد
303
00:11:22,240 –> 00:11:22,720
304
00:11:22,720 –> 00:11:25,360
تا اینکه یک خانه واقعاً اشتباه باشد.
305
00:11:25,360 –> 00:11:26,079
در نهایت
306
00:11:26,079 –> 00:11:27,920
بیایید جمع را بر
307
00:11:27,920 –> 00:11:29,839
تعداد خانه های مجموعه داده خود تقسیم کنیم
308
00:11:29,839 –> 00:11:32,000
و ما فقط سه خانه داریم، بنابراین
309
00:11:32,000 –> 00:11:33,360
آن را بر سه تقسیم
310
00:11:33,360 –> 00:11:36,000
می کنیم و
311
00:11:36,000 –> 00:11:38,240
برای یک خانه واحد در مجموعه داده ها میانگین مربع خطای
312
00:11:38,240 –> 00:11:41,279
مشابه به ما می دهد. ما چقدر
313
00:11:41,279 –> 00:11:42,720
با وزنهای فعلی اشتباه میکنیم،
314
00:11:42,720 –> 00:11:44,880
به عبارت دیگر، هزینه کل
315
00:11:44,880 –> 00:11:46,320
مدل فعلی،
316
00:11:46,320 –> 00:11:48,240
هدف ما یافتن وزنهایی است که
317
00:11:48,240 –> 00:11:49,360
318
00:11:49,360 –> 00:11:52,639
هزینه تمام خانهها را در مجموعه دادههای ما به حداقل میرسانند، اگر بتوانیم
319
00:11:52,639 –> 00:11:53,519
هزینه را
320
00:11:53,519 –> 00:11:56,160
برابر با صفر کنیم، الگوریتم پیشبینی ما
321
00:11:56,160 –> 00:11:58,320
این است که برای هر
322
00:11:58,320 –> 00:11:59,279
خانه مناسب است
323
00:11:59,279 –> 00:12:00,800
، هرچه مقدار تابع هزینه
324
00:12:00,800 –> 00:12:02,480
بالاتر باشد،
325
00:12:02,480 –> 00:12:05,360
پیشبینیهای ما اشتباهتر خواهد بود، میتوانیم
326
00:12:05,360 –> 00:12:07,760
مقدار دیگری را برای این وزنها امتحان
327
00:12:07,760 –> 00:12:10,480
کنیم و تابع هزینه را بارها و بارها محاسبه
328
00:12:10,480 –> 00:12:11,120
329
00:12:11,120 –> 00:12:14,320
کنیم تا زمانی که دیگر نتوانیم توجه داشته باشید
330
00:12:14,320 –> 00:12:14,720
که
331
00:12:14,720 –> 00:12:17,440
اگر مجموعه داده های بزرگی دارید، انجام این کار
332
00:12:17,440 –> 00:12:19,360
به صورت دستی یک فرآیند خسته کننده است،
333
00:12:19,360 –> 00:12:22,399
زیرا به تکرارهای زیادی نیاز دارد،
334
00:12:22,399 –> 00:12:24,959
اینجاست که الگوریتم نزول گرادیان
335
00:12:24,959 –> 00:12:26,399
مفید است،
336
00:12:26,399 –> 00:12:28,800
ما می توانیم از گرادیان نزول برای یافتن مقدار
337
00:12:28,800 –> 00:12:29,519
کمینه
338
00:12:29,519 –> 00:12:32,320
شده به صورت خودکار و بدون امتحان
339
00:12:32,320 –> 00:12:33,760
یکسری فرضیه استفاده کنیم.
340
00:12:33,760 –> 00:12:37,120
یک به یک بنابراین اساساً با استفاده از
341
00:12:37,120 –> 00:12:38,000
مفهوم
342
00:12:38,000 –> 00:12:40,160
تابع هزینه در ارتباط با
343
00:12:40,160 –> 00:12:41,600
نزول گرادیان
344
00:12:41,600 –> 00:12:44,240
، همان چیزی است که ما معمولاً به عنوان رگرسیون خطی می شناسیم،
345
00:12:44,240 –> 00:12:46,800
346
00:12:47,200 –> 00:12:50,480
بنابراین اکنون برای درک رگرسیون خطی
347
00:12:50,480 –> 00:12:54,320
، یک دفترچه یادداشت جدید ایجاد می کنم و طبق
348
00:12:54,320 –> 00:12:56,880
معمول این سه بسته اصلی را وارد می
349
00:12:56,880 –> 00:12:57,680
کنم.
350
00:12:57,680 –> 00:13:01,040
pandas و matplotlib
351
00:13:02,880 –> 00:13:05,920
و اکنون برای وارد کردن رگرسیون خطی
352
00:13:05,920 –> 00:13:10,079
می گویم از sklearn مدل خطی
353
00:13:10,720 –> 00:13:12,959
خوب بیایید با رگرسیون خطی ساده شروع کنیم،
354
00:13:12,959 –> 00:13:14,160
355
00:13:14,160 –> 00:13:16,399
من یک داده مصنوعی برای این
356
00:13:16,399 –> 00:13:17,680
مثال ایجاد کرده ام
357
00:13:17,680 –> 00:13:21,839
که در یک فایل csv جداگانه ذخیره شده است،
358
00:13:25,040 –> 00:13:27,200
بنابراین من تابع خواندن csv پانداها را فراخوانی می کنم.
359
00:13:27,200 –> 00:13:30,560
برای باز کردن فایل
360
00:13:31,200 –> 00:13:33,760
در اینجا می توانید یک مجموعه داده بسیار کوچک
361
00:13:33,760 –> 00:13:35,920
شامل تنها 10 ردیف با دو
362
00:13:35,920 –> 00:13:37,120
363
00:13:37,120 –> 00:13:39,920
ستون مساحت خانه بر حسب متر مربع و مشخصات آن را مشاهده کنید.
364
00:13:39,920 –> 00:13:42,480
ce در میلیون پزو،
365
00:13:42,480 –> 00:13:44,800
بنابراین آنچه ما می خواهیم این است که یک مدل ساده ایجاد کنیم
366
00:13:44,800 –> 00:13:46,639
که بتواند قیمت
367
00:13:46,639 –> 00:13:47,440
خانه
368
00:13:47,440 –> 00:13:50,399
را تنها بر اساس یک پیش بینی کننده مساحت خانه در متر مربع پیش بینی کند
369
00:13:50,399 –> 00:13:52,480
370
00:13:52,480 –> 00:13:55,279
و برای انجام این کار باید زیر مجموعه ای از
371
00:13:55,279 –> 00:13:56,639
این فریم داده را
372
00:13:56,639 –> 00:13:59,360
با استفاده از ilok بدست آوریم. تابع i تمام سطرهای این ستون اول را دریافت می کنم
373
00:13:59,360 –> 00:13:59,920
374
00:13:59,920 –> 00:14:03,680
375
00:14:03,680 –> 00:14:05,839
اکنون باید بدانید که وقتی از
376
00:14:05,839 –> 00:14:08,320
رگرسیون خطی در یادگیری روانی استفاده می
377
00:14:08,320 –> 00:14:10,959
کنیم، تابعی به نام fit وجود دارد که
378
00:14:10,959 –> 00:14:11,839
379
00:14:11,839 –> 00:14:15,600
پارامترهای x و y را انتظار دارد و
380
00:14:15,600 –> 00:14:16,160
381
00:14:16,160 –> 00:14:18,560
به جای یک سری پانداها یا یک داده، مقدار آرایه را انتظار دارد.
382
00:14:18,560 –> 00:14:19,839
قاب،
383
00:14:19,839 –> 00:14:23,279
بنابراین چیزی که من نیاز دارم، یک آرایه خالی خالی
384
00:14:23,279 –> 00:14:25,519
است، چیز دیگری برای متغیر مستقل
385
00:14:25,519 –> 00:14:26,800
x
386
00:14:26,800 –> 00:14:28,880
صرف نظر از اینکه فقط
387
00:14:28,880 –> 00:14:30,000
یک ستون باشد یا
388
00:14:30,000 –> 00:14:32,720
چند ستون، باید به
389
00:14:32,720 –> 00:14:35,839
عنوان یک ماتریس یا یک آرایه دو بعدی نمایش داده شود،
390
00:14:35,839 –> 00:14:39,040
بنابراین من تابع تغییر شکل را صدا می زنم. و با
391
00:14:39,040 –> 00:14:42,240
پاس منفی یک و یک
392
00:14:42,240 –> 00:14:44,000
، یک آرایه دو بعدی
393
00:14:44,000 –> 00:14:46,240
متشکل از 10 سطر با تنها یک
394
00:14:46,240 –> 00:14:47,600
ستون
395
00:14:47,600 –> 00:14:50,240
ایجاد می کند، به طور مشابه،
396
00:14:50,240 –> 00:14:51,279
متغیر وابسته y خود را
397
00:14:51,279 –> 00:14:54,079
متشکل از تمام سطرهای ستون قیمت
398
00:14:54,079 –> 00:14:55,279
ایجاد می کنم
399
00:14:55,279 –> 00:14:57,920
و سپس یک sin دریافت می کنم. آرایه numpy ابعاد gle
400
00:14:57,920 –> 00:14:59,360
401
00:14:59,360 –> 00:15:02,880
بنابراین برای شروع معمولاً داده های خود را
402
00:15:02,880 –> 00:15:06,240
با یک نمودار پراکندگی ساده بیان
403
00:15:07,120 –> 00:15:10,560
می کنیم.
404
00:15:10,560 –> 00:15:13,600
405
00:15:13,600 –> 00:15:14,880
406
00:15:14,880 –> 00:15:18,160
407
00:15:18,160 –> 00:15:21,680
408
00:15:21,680 –> 00:15:25,120
قیمت فروش متغیر بر حسب میلیون پزو اکنون
409
00:15:25,120 –> 00:15:27,519
می بینید که 10 نقطه داده
410
00:15:27,519 –> 00:15:28,959
ما روی نمودار ما ریخته شده است.
411
00:15:28,959 –> 00:15:31,279
هدف رگرسیون این است که به ما کمک کند
412
00:15:31,279 –> 00:15:32,160
خطی را پیدا کنیم
413
00:15:32,160 –> 00:15:35,040
که به بهترین وجه متناسب با نقاط داده ما باشد،
414
00:15:35,040 –> 00:15:35,920
بدیهی است که
415
00:15:35,920 –> 00:15:37,920
ما حتی یک خط هم نخواهیم داشت
416
00:15:37,920 –> 00:15:38,959
که بتواند به آن ضربه بزند.
417
00:15:38,959 –> 00:15:42,320
هر یک از این نقاط داده، اما
418
00:15:42,320 –> 00:15:45,279
اگر ما فقط دو نقطه داده داشته باشیم،
419
00:15:45,279 –> 00:15:47,360
رسم یک خط بسیار آسان است،
420
00:15:47,360 –> 00:15:48,880
شما این تکنیک را در
421
00:15:48,880 –> 00:15:51,600
مدرسه راهنمایی آموخته اید، فرمول یک خط
422
00:15:51,600 –> 00:15:54,800
به شکل تقاطع شیب y برابر با
423
00:15:54,800 –> 00:15:56,560
mx به علاوه b است
424
00:15:56,560 –> 00:15:58,800
که در آن متغیر b نشاندهنده
425
00:15:58,800 –> 00:16:00,480
مقطع y است،
426
00:16:00,480 –> 00:16:02,320
این نقطهای است که خط از
427
00:16:02,320 –> 00:16:04,959
مبدا بر روی خط y عبور میکند،
428
00:16:04,959 –> 00:16:08,480
این زمانی اتفاق میافتد که x 0 باشد. سپس
429
00:16:08,480 –> 00:16:11,120
متغیر m را داریم که نشاندهنده
430
00:16:11,120 –> 00:16:12,800
شیب خط ما
431
00:16:12,800 –> 00:16:15,920
است و به ما میگوید که خط ما چقدر تند است.
432
00:16:15,920 –> 00:16:18,480
slo مثبت pe به این معنی که خط
433
00:16:18,480 –> 00:16:20,480
از چپ به راست در حال افزایش است،
434
00:16:20,480 –> 00:16:23,199
یک شیب منفی به ما می گوید که اگر شیب صفر باشد، خط ما
435
00:16:23,199 –> 00:16:25,440
از چپ به راست می افتد
436
00:16:25,440 –> 00:16:27,839
، این بدان معنی است که
437
00:16:27,839 –> 00:16:30,240
خط ما به صورت افقی صاف
438
00:16:30,240 –> 00:16:33,519
است، برای مثال فرض کنید شیب
439
00:16:33,519 –> 00:16:37,279
m 1.5 است و y-فاصله b
440
00:16:37,279 –> 00:16:40,800
برابر است با 3. حالا برای بدست آوردن مقدار y
441
00:16:40,800 –> 00:16:43,759
وقتی x 1 است، بیایید این مقادیر را جایگزین
442
00:16:43,759 –> 00:16:44,800
443
00:16:44,800 –> 00:16:47,920
معادله خود کنیم و مقدار
444
00:16:47,920 –> 00:16:51,279
y برابر با 4.5 به ما می دهد که به این معنی است
445
00:16:51,279 –> 00:16:54,800
که خط ما به این شکل است
446
00:16:56,079 –> 00:16:58,720
اما اکنون وقتی چند برابر داریم. نقاط داده
447
00:16:58,720 –> 00:16:59,199
448
00:16:59,199 –> 00:17:02,240
پراکنده شده به این صورت کشف چگونگی
449
00:17:02,240 –> 00:17:03,519
رسم خطی که
450
00:17:03,519 –> 00:17:06,000
تا حد امکان به تمام نقاط داده می گذرد
451
00:17:06,000 –> 00:17:08,240
، یک چالش کلیدی است،
452
00:17:08,240 –> 00:17:11,520
بنابراین اساساً تحلیل رگرسیون
453
00:17:11,520 –> 00:17:13,839
سعی می کند فرمولی را برای خطی پیدا کند
454
00:17:13,839 –> 00:17:14,799
که به بهترین
455
00:17:14,799 –> 00:17:17,280
وجه با این توزیع در رگرسیون خطی مطابقت دارد.
456
00:17:17,280 –> 00:17:18,240
457
00:17:18,240 –> 00:17:20,079
خطی را که از نقاط داده می گذرد به گونه ای بیابید که
458
00:17:20,079 –> 00:17:21,679
459
00:17:21,679 –> 00:17:25,039
روند کلی را به تصویر بکشد،
460
00:17:25,199 –> 00:17:28,240
اکنون اگر بخواهیم این کار را به صورت دستی انجام دهیم،
461
00:17:28,240 –> 00:17:29,760
باید شیب
462
00:17:29,760 –> 00:17:32,080
و فاصله y را برای این نقاط داده داده شده
463
00:17:32,080 –> 00:17:33,360
464
00:17:33,360 –> 00:17:36,080
در آمار نیز محاسبه کنیم.
465
00:17:36,080 –> 00:17:36,880
استفاده از
466
00:17:36,880 –> 00:17:40,080
y برابر است با ax به علاوه b به جای
467
00:17:40,080 –> 00:17:43,120
mx بعلاوه b آنها به این معنی هستند که
468
00:17:43,120 –> 00:17:46,160
من فقط متغیر m را با a جایگزین می کنم زیرا شیب ما
469
00:17:46,160 –> 00:17:47,520
470
00:17:47,520 –> 00:17:50,559
خوب است در اینجا مجموعه داده های ما است
471
00:17:50,559 –> 00:17:54,480
بنابراین باید حاصل ضرب x و y را بدست آوریم
472
00:17:54,480 –> 00:17:58,240
و سپس مربع x و
473
00:17:58,240 –> 00:18:01,600
سپس مربع y
474
00:18:01,600 –> 00:18:04,720
اکنون تمام ستون ها را جمع
475
00:18:04,720 –> 00:18:08,640
می کنیم تا شیب a
476
00:18:08,640 –> 00:18:11,520
477
00:18:11,520 –> 00:18:13,520
478
00:18:13,520 –> 00:18:15,679
را بدست آوریم.
479
00:18:15,679 –> 00:18:17,520
این فرمول
480
00:18:17,520 –> 00:18:20,559
ما 10 خانه داریم که در
481
00:18:20,559 –> 00:18:21,360
مجموع
482
00:18:21,360 –> 00:18:25,679
x y منهای حاصل جمع x
483
00:18:25,679 –> 00:18:28,720
و جمع y
484
00:18:28,720 –> 00:18:31,520
ضرب می شوند و سپس بر 10 خانه ضرب در
485
00:18:31,520 –> 00:18:32,799
مجموع
486
00:18:32,799 –> 00:18:36,080
x مجذور منهای مجموع
487
00:18:36,080 –> 00