در این مطلب، ویدئو تجزیه Cholesky و کاربردهای آن در پایتون با زیرنویس فارسی را برای دانلود قرار داده ام. شما میتوانید با پرداخت 15 هزار تومان ، این ویدیو به علاوه تمامی فیلم های سایت را دانلود کنید.اکثر فیلم های سایت به زبان انگلیسی می باشند. این ویدئو دارای زیرنویس فارسی ترجمه شده توسط هوش مصنوعی می باشد که میتوانید نمونه ای از آن را در قسمت پایانی این مطلب مشاهده کنید.
مدت زمان فیلم: 00:16:44
تصاویر این ویدئو:
قسمتی از زیرنویس این فیلم:
00:00:00,560 –> 00:00:02,240
اوایل سال جاری، ما در
2
00:00:02,240 –> 00:00:04,720
حال بررسی تجزیه ماتریس بودیم و
3
00:00:04,720 –> 00:00:07,680
من این ایده را از یک برنامه درسی از
4
00:00:07,680 –> 00:00:10,000
یک دوره دانشگاهی در مورد روش های عددی
5
00:00:10,000 –> 00:00:11,920
برای امور مالی دریافت کردم و تجزیه لو را انجام داده
6
00:00:11,920 –> 00:00:13,759
بودیم، فکر می کنم تجزیه svd را انجام دادیم
7
00:00:13,759 –> 00:00:15,200
8
00:00:15,200 –> 00:00:16,800
و یکی از من در همان زمان از من خواست که
9
00:00:16,800 –> 00:00:19,520
همچنین به تجزیه cholesky بروید
10
00:00:19,520 –> 00:00:21,039
و بنابراین من قصد دارم این کار را در این
11
00:00:21,039 –> 00:00:23,199
ویدیو انجام دهم، بنابراین
12
00:00:23,199 –> 00:00:25,680
از نظر یافتن
13
00:00:25,680 –> 00:00:27,279
راه حل برای یک سیستم معادلات خطی بسیار شبیه به تجزیه lu
14
00:00:27,279 –> 00:00:29,679
است، اما شاید مفیدتر برای
15
00:00:29,679 –> 00:00:31,760
افرادی که علاقه مند به
16
00:00:31,760 –> 00:00:34,160
امور مالی محاسباتی هستند این باشد که شما می توانید از آن
17
00:00:34,160 –> 00:00:36,399
برای تولید
18
00:00:36,399 –> 00:00:38,000
سری دادههای uh استفاده کنید که نوعی
19
00:00:38,000 –> 00:00:41,120
همبستگی آماری بین آنها وجود دارد،
20
00:00:41,120 –> 00:00:42,879
بنابراین در این ویدیو من به
21
00:00:42,879 –> 00:00:44,960
سرعت حل سیستم
22
00:00:44,960 –> 00:00:46,480
خطی معادلات را مرور میکنم و سپس احتمالاً
23
00:00:46,480 –> 00:00:47,760
کمی زمان بیشتری را برای ایجاد
24
00:00:47,760 –> 00:00:50,079
دادههای همبسته صرف میکنم. پس بیایید
25
00:00:50,079 –> 00:00:51,280
وارد آن بشویم
26
00:00:51,280 –> 00:00:54,079
خوب نوت بوک راستش را بخواهید تنها
27
00:00:54,079 –> 00:00:56,079
زمانی که از cholesky در
28
00:00:56,079 –> 00:00:58,160
حرفه حرفه ای خود استفاده کردم ساختن
29
00:00:58,160 –> 00:01:00,480
چیزی به نام unsce بود. فیلترهای nted kalman
30
00:01:00,480 –> 00:01:02,640
به نوعی
31
00:01:02,640 –> 00:01:04,239
اسم خندهداری دارد،
32
00:01:04,239 –> 00:01:06,799
اما به هر حال تنها چیزی که
33
00:01:06,799 –> 00:01:09,840
برای این نیاز داریم numpy است، بنابراین
34
00:01:09,840 –> 00:01:12,000
تجزیه بخشی از بسته جبر خطی است
35
00:01:12,000 –> 00:01:14,119
و ما از
36
00:01:14,119 –> 00:01:16,799
scipy.line توابع را وارد میکنیم cho factor
37
00:01:16,799 –> 00:01:18,799
و chosel بنابراین من قصد دارم این کار را انجام دهم این است
38
00:01:18,799 –> 00:01:20,320
که این دفترچه یادداشت را به
39
00:01:20,320 –> 00:01:22,799
صورت تکه تکه بسازم، زیرا بسیاری از اینها
40
00:01:22,799 –> 00:01:24,400
بسیار ابتدایی هستند و شما فقط می توانید آن را در ویکی پدیا پیدا کنید،
41
00:01:24,400 –> 00:01:25,600
42
00:01:25,600 –> 00:01:27,840
بنابراین ایده پشت عامل
43
00:01:27,840 –> 00:01:30,240
بندی آسمانی این است که می توانید یک ماتریس a را تجزیه کنید.
44
00:01:30,240 –> 00:01:33,759
متقارن و
45
00:01:33,759 –> 00:01:37,040
مثبت مثبت است که به دو
46
00:01:37,040 –> 00:01:40,000
ماتریس l تبدیل می شود و به خوبی l جابجا می شود l جابجا می شود
47
00:01:40,000 –> 00:01:42,960
که l یک ماتریس مثلثی پایین تر است و
48
00:01:42,960 –> 00:01:44,720
به عنوان مثال در اینجا و ما این کار را
49
00:01:44,720 –> 00:01:47,280
با کد در یک بیت انجام خواهیم داد من یک ماتریس متقارن دارم
50
00:01:47,280 –> 00:01:48,960
متوجه می شوم که همه این اعداد به
51
00:01:48,960 –> 00:01:51,200
نوعی در مورد قطر منعکس می شوند، بنابراین
52
00:01:51,200 –> 00:01:53,040
اگر مانند ردیف
53
00:01:53,040 –> 00:01:55,280
دوم دوم ردیف سوم سوم ستون اول برویم، یک
54
00:01:55,280 –> 00:01:59,200
1.59 1.59 در اینجا به نوعی در مورد آن قطر منعکس شده است
55
00:01:59,200 –> 00:02:01,840
و می توانیم آن
56
00:02:01,840 –> 00:02:04,000
ماتریس را طوری تجزیه کنیم که دو ma بدست آوریم. trices
57
00:02:04,000 –> 00:02:04,960
در اینجا
58
00:02:04,960 –> 00:02:07,200
این یکی مثلث
59
00:02:07,200 –> 00:02:10,878
پایینی مثلثی پایینی است اوه بنابراین
60
00:02:10,878 –> 00:02:12,959
در مورب و پایین آن غیر صفر است و صفر در
61
00:02:12,959 –> 00:02:14,800
همه جاهای دیگر است و البته همانطور که
62
00:02:14,800 –> 00:02:16,319
transpose است واضح است که
63
00:02:16,319 –> 00:02:17,760
transpose فقط یک ماتریس مثلثی بالایی خواهد بود
64
00:02:17,760 –> 00:02:19,840
بنابراین می توانید فوراً
65
00:02:19,840 –> 00:02:22,319
بنویسید ارتباط با تجزیه lu را ببینید،
66
00:02:22,319 –> 00:02:25,040
بنابراین بیایید این را در کد بسازیم،
67
00:02:25,040 –> 00:02:27,599
من یک دانه تصادفی ثابت تنظیم می کنم
68
00:02:27,599 –> 00:02:30,319
و یک ماتریس 5 در 5 ایجاد می کنم که
69
00:02:30,319 –> 00:02:32,480
اساساً باید این ماتریس با
70
00:02:32,480 –> 00:02:36,640
درجه دقت بالاتری باشد،
71
00:02:36,640 –> 00:02:38,319
بنابراین ماتریس ما وجود دارد، اجازه دهید آن را اجرا کنیم و
72
00:02:38,319 –> 00:02:40,080
مطمئن شوید که هیچ مشکلی به نظر خوب نمی رسد،
73
00:02:40,080 –> 00:02:42,080
بیایید آن را چاپ کنیم
74
00:02:42,080 –> 00:02:43,120
چاپ
75
00:02:43,120 –> 00:02:45,280
a
76
00:02:45,280 –> 00:02:48,480
بنابراین ما 0.47 اولین عنصر
77
00:02:48,480 –> 00:02:52,080
در اینجا است و نقطه چهار هفت، نقطه
78
00:02:52,080 –> 00:02:53,680
چهار نقطه سه، چه چیزی در
79
00:02:53,680 –> 00:02:54,560
اینجا دارم
80
00:02:54,560 –> 00:02:56,800
آه لعنتی به نظر می رسد که آنها متفاوت هستند.
81
00:02:56,800 –> 00:02:59,120
من فکر میکردم
82
00:02:59,120 –> 00:03:01,760
این دانه تصادفی را در کد آزمایشم انتخاب کردهام
83
00:03:01,760 –> 00:03:03,120
و ماتریس را کپی کردم، اما بدیهی است که
84
00:03:03,120 –> 00:03:06,640
ماتریس اشتباهی را کپی کردهام، بنابراین اجازه
85
00:03:06,640 –> 00:03:09,360
دهید این چاپ را حذف کنیم، اجازه دهید دوباره
86
00:03:09,360 –> 00:03:13,680
این کار را انجام دهیم و آن را به p 4 اعشاری گرد کنیم. laces
87
00:03:13,680 –> 00:03:15,599
پس این ماتریس ما است
88
00:03:15,599 –> 00:03:18,480
بیایید تجزیه آن را انجام دهیم بیایید l بدست آوریم
89
00:03:18,480 –> 00:03:20,720
و l um
90
00:03:20,720 –> 00:03:22,400
ما l بدست می آوریم و سپس می توانیم آن
91
00:03:22,400 –> 00:03:24,640
را در transpose آن ضرب کنیم و امیدواریم
92
00:03:24,640 –> 00:03:25,599
93
00:03:25,599 –> 00:03:29,040
این ماتریس اصلی را که در اینجا به آن می گوییم
94
00:03:29,040 –> 00:03:31,280
95
00:03:31,280 –> 00:03:33,360
اجازه دهید بگوییم l این
96
00:03:33,360 –> 00:03:35,840
ماتریس مثلثی پایینی ما خواهد بود و
97
00:03:35,840 –> 00:03:39,519
تابع در بسته جبری خط ناتوانی ما
98
00:03:39,519 –> 00:03:42,720
قرار دارد و chaleski نامیده می شود، تعجب آور نیست.
99
00:03:42,720 –> 00:03:43,440
100
00:03:43,440 –> 00:03:46,159
101
00:03:46,159 –> 00:03:50,560
102
00:03:50,640 –> 00:03:51,920
103
00:03:51,920 –> 00:03:54,159
104
00:03:56,799 –> 00:03:57,599
105
00:03:57,599 –> 00:03:59,920
مثبت نیست
106
00:03:59,920 –> 00:04:02,080
دلیل این است و دلیل
107
00:04:02,080 –> 00:04:04,319
اینکه این ماتریس
108
00:04:04,319 –> 00:04:06,879
متقارن نیست، بله، این ماتریس متقارن نیست، من احساس می کنم
109
00:04:06,879 –> 00:04:09,680
یک جورهایی احمقانه هستم، بنابراین بیایید دوباره این کار را انجام دهیم
110
00:04:09,680 –> 00:04:13,040
a برابر با
111
00:04:13,120 –> 00:04:15,360
ضربدر a
112
00:04:15,360 –> 00:04:17,040
t است، بنابراین من فقط می خواهم آن را از
113
00:04:17,040 –> 00:04:19,358
ماتریس بگیرم و آن را در جابجایی آن ضرب کنیم
114
00:04:19,358 –> 00:04:21,199
که باید این ماتریس را در اینجا به ما بدهد.
115
00:04:21,199 –> 00:04:24,800
نقطه uh 4.3
116
00:04:25,080 –> 00:04:29,040
0.094 چه چیزی در اینجا دارم آه بسیار خوب،
117
00:04:29,040 –> 00:04:30,560
فکر میکردم درست گفتهام اما
118
00:04:30,560 –> 00:04:32,160
این را فراموش کردم این فقط آن را تبدیل به یک
119
00:04:32,160 –> 00:04:34,560
ماتریس متقارن میکند.
120
00:04:34,560 –> 00:04:36,000
به شما کمک می کند
121
00:04:36,000 –> 00:04:37,040
ck یک
122
00:04:37,040 –> 00:04:40,000
ماتریس قطعی مثبت متقارن
123
00:04:40,000 –> 00:04:42,880
um بنابراین خوب ما tr خود را جابجایی چالسکی انجام می دهیم
124
00:04:42,880 –> 00:04:44,160
125
00:04:44,160 –> 00:04:47,199
منظورم تجزیه است و
126
00:04:47,199 –> 00:04:49,919
ماتریس اشتباهی را چاپ کردم زیرا امیدوارم که کل این
127
00:04:49,919 –> 00:04:53,680
ویدیو به این سمت پیش نرود،
128
00:04:53,680 –> 00:04:56,160
بنابراین تجزیه ما به این
129
00:04:56,160 –> 00:04:58,479
شکل است، بنابراین بیایید فقط آن را انجام دهیم مطمئن باشید که اگر
130
00:04:58,479 –> 00:04:59,680
131
00:04:59,680 –> 00:05:02,080
این ماتریس را در اینجا پایین بیاورم و آن
132
00:05:02,080 –> 00:05:04,160
را در جابجایی آن ضرب کنم، این ماتریس را در اینجا برمی گردم،
133
00:05:04,160 –> 00:05:05,120
134
00:05:05,120 –> 00:05:06,639
بنابراین
135
00:05:06,639 –> 00:05:09,360
اجازه دهید فقط کل این خط را برای اهداف گرد کردن اینجا کپی کنیم
136
00:05:09,360 –> 00:05:12,400
137
00:05:16,240 –> 00:05:18,080
و من واقعاً در حال حاضر به چاپ تجزیه اهمیتی نمی دهم.
138
00:05:18,080 –> 00:05:21,600
139
00:05:21,600 –> 00:05:23,600
بنابراین
140
00:05:23,600 –> 00:05:25,360
l بار
141
00:05:25,360 –> 00:05:26,479
l
142
00:05:26,479 –> 00:05:29,120
جابجا شده چاپ کنید
143
00:05:30,240 –> 00:05:33,280
و در واقع ما به همان ماتریس برمی گردیم
144
00:05:33,280 –> 00:05:35,520
که خیلی تعجب آور
145
00:05:35,520 –> 00:05:39,360
نیست، بنابراین کاری که من می خواهم انجام دهم این است
146
00:05:39,360 –> 00:05:42,160
که بردار
147
00:05:42,160 –> 00:05:43,520
b ایجاد کنم که بردار
148
00:05:43,520 –> 00:05:47,440
معلومات ما در یک سیستم خطی خواهد بود، بنابراین
149
00:05:47,440 –> 00:05:49,440
این بردار ما خواهد بود.
150
00:05:49,440 –> 00:05:51,520
بردار b بنابراین ما می خواهیم یک
151
00:05:51,520 –> 00:05:54,800
تبر سیستم خطی برابر با b را حل کنیم بنابراین
152
00:05:54,800 –> 00:05:57,280
در اینجا اجازه دهید من این را یک سلول نشانه گذاری
153
00:05:57,280 –> 00:05:58,960
کنم و من فقط می خواهم رویه را تایپ کنم
154
00:05:58,960 –> 00:06:00,080
155
00:06:00,080 –> 00:06:02,080
با استفاده از
156
00:06:02,080 –> 00:06:04,840
اینجا اجازه دهید در واقع b را چاپ کنم چاپ
157
00:06:04,840 –> 00:06:08,000
ب بنابراین u این ما خواهد بود
158
00:06:08,000 –> 00:06:09,520
اوه مکان نما من اینجاست، این
159
00:06:09,520 –> 00:06:11,360
یک ماتریس ما خواهد بود
160
00:06:11,360 –> 00:06:13,680
161
00:06:14,800 –> 00:06:18,880
و یک حروف کوچک b است خدای من
162
00:06:19,039 –> 00:06:21,280
و این بردار شناخته شده ما است، بنابراین اجازه دهید
163
00:06:21,280 –> 00:06:24,240
من رویه را در اینجا تایپ کنم
164
00:06:24,240 –> 00:06:25,120
تا
165
00:06:25,120 –> 00:06:27,600
معادله مثال ما این باشد پس باید داشته باشیم
166
00:06:27,600 –> 00:06:29,759
ماتریس متقارن ما ضربدر بردار ستونی
167
00:06:29,759 –> 00:06:31,600
مجهولات برابر است با
168
00:06:31,600 –> 00:06:34,400
بردار b ما بردار معلومات ما روش
169
00:06:34,400 –> 00:06:36,000
حل آن بسیار ساده است و این
170
00:06:36,000 –> 00:06:38,960
اساساً بسیار شبیه
171
00:06:38,960 –> 00:06:41,120
172
00:06:41,120 –> 00:06:43,520
به l است.
173
00:06:43,520 –> 00:06:46,840
بار l transpose this is l this is l
174
00:06:46,840 –> 00:06:49,680
transpose now زیرا این ناشناخته است من
175
00:06:49,680 –> 00:06:52,720
نمی دانم حاصلضرب
176
00:06:52,720 –> 00:06:55,520
این چیست اوه این اینجاست این ماتریس transpose
177
00:06:55,520 –> 00:06:56,960
ضربدر x ماست
178
00:06:56,960 –> 00:06:58,560
اما من می دانم که این یک بردار ستونی است
179
00:06:58,560 –> 00:06:59,840
بنابراین من فقط این بردار ستون را
180
00:06:59,840 –> 00:07:02,720
x tilde بنامیم، بنابراین اکنون میخواهم معادله ماتریس خود را به این شکل
181
00:07:02,720 –> 00:07:03,919
بازنویسی کنم،
182
00:07:03,919 –> 00:07:06,240
بنابراین این
183
00:07:06,240 –> 00:07:10,000
ماتریس l ماتریس x تیلد است و برابر است با
184
00:07:10,000 –> 00:07:11,440
این
185
00:07:11,440 –> 00:07:13,759
بردار معلومات ما، اما حل آن بسیار
186
00:07:13,759 –> 00:07:15,440
آسان است زیرا مانند این
187
00:07:15,440 –> 00:07:18,160
ردیف اول اینجا x tilde 1 well tha t
188
00:07:18,160 –> 00:07:21,039
برابر با این مقدار در اینجا منهای 0.4
189
00:07:21,039 –> 00:07:23,919
چیزی تقسیم بر 2 نقطه چیزی است،
190
00:07:23,919 –> 00:07:25,680
بنابراین ما می دانیم که x1 چیست اما اکنون که می
191
00:07:25,680 –> 00:07:28,720
دانیم x1 می توانیم x2 را محاسبه کنیم
192
00:07:28,720 –> 00:07:30,960
زیرا می دانید که می توانیم x1 خود را در اینجا وصل کنیم و
193
00:07:30,960 –> 00:07:31,759
194
00:07:31,759 –> 00:07:33,759
این را به دیگری تفریق کنیم.
195
00:07:33,759 –> 00:07:35,800
سمت و تقسیم بر
196
00:07:35,800 –> 00:07:39,599
2.6 ish ما x2 را دریافت می کنیم و سپس به x3
197
00:07:39,599 –> 00:07:41,440
x4 و x5
198
00:07:41,440 –> 00:07:43,919
um می رویم که اساساً مانند حل یک
199
00:07:43,919 –> 00:07:45,599
مسئله تجزیه lu است،
200
00:07:45,599 –> 00:07:48,000
اما اکنون که x tilde خود را می دانیم، فقط
201
00:07:48,000 –> 00:07:50,560
تعریف x tilde را در اینجا وصل می
202
00:07:50,560 –> 00:07:52,960
کنیم و می توانیم به نوعی این روند را تکرار کنید، اما
203
00:07:52,960 –> 00:07:55,520
در این مورد به عقب می رویم، می دانیم که
204
00:07:55,520 –> 00:07:58,240
x5 برابر x tilde 5
205
00:07:58,240 –> 00:08:01,120
بر 0.506 خواهد بود و سپس آن را در اینجا وصل می کنیم و
206
00:08:01,120 –> 00:08:03,840
حل می کنیم که می دانید x x 4
207
00:08:03,840 –> 00:08:05,440
3 2 1
208
00:08:05,440 –> 00:08:07,919
به عقب می رویم. بنابراین این را کد کنید. تا اوم، این برای ما
209
00:08:07,919 –> 00:08:11,199
در sci pi انجام شده است، بنابراین ما در واقع مجبور
210
00:08:11,199 –> 00:08:13,440
نیستیم این کار را انجام دهیم، بنابراین می توانیم از توابع uh
211
00