├── .gitignore ├── LICENSE ├── README.md ├── README_french.md ├── docs ├── .nojekyll ├── README.md ├── _sidebar.md ├── chapter1 │ ├── chapter1.md │ └── chapter1_FR.md ├── chapter10 │ └── chapter10.md ├── chapter11 │ └── chapter11.md ├── chapter12 │ └── chapter12.md ├── chapter13 │ └── chapter13.md ├── chapter14 │ └── chapter14.md ├── chapter15 │ └── chapter15.md ├── chapter16 │ └── chapter16.md ├── chapter2 │ ├── chapter2.md │ ├── chapter2_FR.md │ └── resources │ │ └── images │ │ ├── roc.pdf │ │ ├── roc.png │ │ └── roc.pptx ├── chapter3 │ └── chapter3.md ├── chapter4 │ ├── chapter4.md │ └── resources │ │ ├── 4_11.pptx │ │ ├── 4_11_a.pdf │ │ ├── 4_11_b.pdf │ │ ├── 4_11_c.pdf │ │ └── 4_11_d.pdf ├── chapter5 │ └── chapter5.md ├── chapter6 │ └── chapter6.md ├── chapter7 │ └── chapter7.md ├── chapter8 │ └── chapter8.md ├── chapter9 │ └── chapter9.md ├── errata.md └── index.html └── res ├── example.png ├── nangua.jpg ├── nangua_v2.jpg ├── pumpkin.png ├── qrcode.jpeg ├── xigua.jpg ├── yanggao1.jpg └── yanggao2.jpg /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | 5 | # Runtime data 6 | pids 7 | *.pid 8 | *.seed 9 | 10 | # Directory for instrumented libs generated by jscoverage/JSCover 11 | lib-cov 12 | 13 | # Coverage directory used by tools like istanbul 14 | coverage 15 | 16 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 17 | .grunt 18 | 19 | # Compiled binary addons (http://nodejs.org/api/addons.html) 20 | build/Release 21 | 22 | # Dependency directory 23 | # Deployed apps should consider commenting this line out: 24 | # see https://npmjs.org/doc/faq.html#Should-I-check-my-node_modules-folder-into-git 25 | node_modules 26 | 27 | _book/ 28 | book.pdf 29 | book.epub 30 | book.mobi 31 | 32 | .idea 33 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Attribution-NonCommercial-ShareAlike 4.0 International 2 | 3 | ======================================================================= 4 | 5 | Creative Commons Corporation ("Creative Commons") is not a law firm and 6 | does not provide legal services or legal advice. Distribution of 7 | Creative Commons public licenses does not create a lawyer-client or 8 | other relationship. Creative Commons makes its licenses and related 9 | information available on an "as-is" basis. Creative Commons gives no 10 | warranties regarding its licenses, any material licensed under their 11 | terms and conditions, or any related information. Creative Commons 12 | disclaims all liability for damages resulting from their use to the 13 | fullest extent possible. 14 | 15 | Using Creative Commons Public Licenses 16 | 17 | Creative Commons public licenses provide a standard set of terms and 18 | conditions that creators and other rights holders may use to share 19 | original works of authorship and other material subject to copyright 20 | and certain other rights specified in the public license below. The 21 | following considerations are for informational purposes only, are not 22 | exhaustive, and do not form part of our licenses. 23 | 24 | Considerations for licensors: Our public licenses are 25 | intended for use by those authorized to give the public 26 | permission to use material in ways otherwise restricted by 27 | copyright and certain other rights. Our licenses are 28 | irrevocable. Licensors should read and understand the terms 29 | and conditions of the license they choose before applying it. 30 | Licensors should also secure all rights necessary before 31 | applying our licenses so that the public can reuse the 32 | material as expected. Licensors should clearly mark any 33 | material not subject to the license. This includes other CC- 34 | licensed material, or material used under an exception or 35 | limitation to copyright. More considerations for licensors: 36 | wiki.creativecommons.org/Considerations_for_licensors 37 | 38 | Considerations for the public: By using one of our public 39 | licenses, a licensor grants the public permission to use the 40 | licensed material under specified terms and conditions. If 41 | the licensor's permission is not necessary for any reason--for 42 | example, because of any applicable exception or limitation to 43 | copyright--then that use is not regulated by the license. Our 44 | licenses grant only permissions under copyright and certain 45 | other rights that a licensor has authority to grant. Use of 46 | the licensed material may still be restricted for other 47 | reasons, including because others have copyright or other 48 | rights in the material. A licensor may make special requests, 49 | such as asking that all changes be marked or described. 50 | Although not required by our licenses, you are encouraged to 51 | respect those requests where reasonable. More considerations 52 | for the public: 53 | wiki.creativecommons.org/Considerations_for_licensees 54 | 55 | ======================================================================= 56 | 57 | Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International 58 | Public License 59 | 60 | By exercising the Licensed Rights (defined below), You accept and agree 61 | to be bound by the terms and conditions of this Creative Commons 62 | Attribution-NonCommercial-ShareAlike 4.0 International Public License 63 | ("Public License"). To the extent this Public License may be 64 | interpreted as a contract, You are granted the Licensed Rights in 65 | consideration of Your acceptance of these terms and conditions, and the 66 | Licensor grants You such rights in consideration of benefits the 67 | Licensor receives from making the Licensed Material available under 68 | these terms and conditions. 69 | 70 | 71 | Section 1 -- Definitions. 72 | 73 | a. Adapted Material means material subject to Copyright and Similar 74 | Rights that is derived from or based upon the Licensed Material 75 | and in which the Licensed Material is translated, altered, 76 | arranged, transformed, or otherwise modified in a manner requiring 77 | permission under the Copyright and Similar Rights held by the 78 | Licensor. For purposes of this Public License, where the Licensed 79 | Material is a musical work, performance, or sound recording, 80 | Adapted Material is always produced where the Licensed Material is 81 | synched in timed relation with a moving image. 82 | 83 | b. Adapter's License means the license You apply to Your Copyright 84 | and Similar Rights in Your contributions to Adapted Material in 85 | accordance with the terms and conditions of this Public License. 86 | 87 | c. BY-NC-SA Compatible License means a license listed at 88 | creativecommons.org/compatiblelicenses, approved by Creative 89 | Commons as essentially the equivalent of this Public License. 90 | 91 | d. Copyright and Similar Rights means copyright and/or similar rights 92 | closely related to copyright including, without limitation, 93 | performance, broadcast, sound recording, and Sui Generis Database 94 | Rights, without regard to how the rights are labeled or 95 | categorized. For purposes of this Public License, the rights 96 | specified in Section 2(b)(1)-(2) are not Copyright and Similar 97 | Rights. 98 | 99 | e. Effective Technological Measures means those measures that, in the 100 | absence of proper authority, may not be circumvented under laws 101 | fulfilling obligations under Article 11 of the WIPO Copyright 102 | Treaty adopted on December 20, 1996, and/or similar international 103 | agreements. 104 | 105 | f. Exceptions and Limitations means fair use, fair dealing, and/or 106 | any other exception or limitation to Copyright and Similar Rights 107 | that applies to Your use of the Licensed Material. 108 | 109 | g. License Elements means the license attributes listed in the name 110 | of a Creative Commons Public License. The License Elements of this 111 | Public License are Attribution, NonCommercial, and ShareAlike. 112 | 113 | h. Licensed Material means the artistic or literary work, database, 114 | or other material to which the Licensor applied this Public 115 | License. 116 | 117 | i. Licensed Rights means the rights granted to You subject to the 118 | terms and conditions of this Public License, which are limited to 119 | all Copyright and Similar Rights that apply to Your use of the 120 | Licensed Material and that the Licensor has authority to license. 121 | 122 | j. Licensor means the individual(s) or entity(ies) granting rights 123 | under this Public License. 124 | 125 | k. NonCommercial means not primarily intended for or directed towards 126 | commercial advantage or monetary compensation. For purposes of 127 | this Public License, the exchange of the Licensed Material for 128 | other material subject to Copyright and Similar Rights by digital 129 | file-sharing or similar means is NonCommercial provided there is 130 | no payment of monetary compensation in connection with the 131 | exchange. 132 | 133 | l. Share means to provide material to the public by any means or 134 | process that requires permission under the Licensed Rights, such 135 | as reproduction, public display, public performance, distribution, 136 | dissemination, communication, or importation, and to make material 137 | available to the public including in ways that members of the 138 | public may access the material from a place and at a time 139 | individually chosen by them. 140 | 141 | m. Sui Generis Database Rights means rights other than copyright 142 | resulting from Directive 96/9/EC of the European Parliament and of 143 | the Council of 11 March 1996 on the legal protection of databases, 144 | as amended and/or succeeded, as well as other essentially 145 | equivalent rights anywhere in the world. 146 | 147 | n. You means the individual or entity exercising the Licensed Rights 148 | under this Public License. Your has a corresponding meaning. 149 | 150 | 151 | Section 2 -- Scope. 152 | 153 | a. License grant. 154 | 155 | 1. Subject to the terms and conditions of this Public License, 156 | the Licensor hereby grants You a worldwide, royalty-free, 157 | non-sublicensable, non-exclusive, irrevocable license to 158 | exercise the Licensed Rights in the Licensed Material to: 159 | 160 | a. reproduce and Share the Licensed Material, in whole or 161 | in part, for NonCommercial purposes only; and 162 | 163 | b. produce, reproduce, and Share Adapted Material for 164 | NonCommercial purposes only. 165 | 166 | 2. Exceptions and Limitations. For the avoidance of doubt, where 167 | Exceptions and Limitations apply to Your use, this Public 168 | License does not apply, and You do not need to comply with 169 | its terms and conditions. 170 | 171 | 3. Term. The term of this Public License is specified in Section 172 | 6(a). 173 | 174 | 4. Media and formats; technical modifications allowed. The 175 | Licensor authorizes You to exercise the Licensed Rights in 176 | all media and formats whether now known or hereafter created, 177 | and to make technical modifications necessary to do so. The 178 | Licensor waives and/or agrees not to assert any right or 179 | authority to forbid You from making technical modifications 180 | necessary to exercise the Licensed Rights, including 181 | technical modifications necessary to circumvent Effective 182 | Technological Measures. For purposes of this Public License, 183 | simply making modifications authorized by this Section 2(a) 184 | (4) never produces Adapted Material. 185 | 186 | 5. Downstream recipients. 187 | 188 | a. Offer from the Licensor -- Licensed Material. Every 189 | recipient of the Licensed Material automatically 190 | receives an offer from the Licensor to exercise the 191 | Licensed Rights under the terms and conditions of this 192 | Public License. 193 | 194 | b. Additional offer from the Licensor -- Adapted Material. 195 | Every recipient of Adapted Material from You 196 | automatically receives an offer from the Licensor to 197 | exercise the Licensed Rights in the Adapted Material 198 | under the conditions of the Adapter's License You apply. 199 | 200 | c. No downstream restrictions. You may not offer or impose 201 | any additional or different terms or conditions on, or 202 | apply any Effective Technological Measures to, the 203 | Licensed Material if doing so restricts exercise of the 204 | Licensed Rights by any recipient of the Licensed 205 | Material. 206 | 207 | 6. No endorsement. Nothing in this Public License constitutes or 208 | may be construed as permission to assert or imply that You 209 | are, or that Your use of the Licensed Material is, connected 210 | with, or sponsored, endorsed, or granted official status by, 211 | the Licensor or others designated to receive attribution as 212 | provided in Section 3(a)(1)(A)(i). 213 | 214 | b. Other rights. 215 | 216 | 1. Moral rights, such as the right of integrity, are not 217 | licensed under this Public License, nor are publicity, 218 | privacy, and/or other similar personality rights; however, to 219 | the extent possible, the Licensor waives and/or agrees not to 220 | assert any such rights held by the Licensor to the limited 221 | extent necessary to allow You to exercise the Licensed 222 | Rights, but not otherwise. 223 | 224 | 2. Patent and trademark rights are not licensed under this 225 | Public License. 226 | 227 | 3. To the extent possible, the Licensor waives any right to 228 | collect royalties from You for the exercise of the Licensed 229 | Rights, whether directly or through a collecting society 230 | under any voluntary or waivable statutory or compulsory 231 | licensing scheme. In all other cases the Licensor expressly 232 | reserves any right to collect such royalties, including when 233 | the Licensed Material is used other than for NonCommercial 234 | purposes. 235 | 236 | 237 | Section 3 -- License Conditions. 238 | 239 | Your exercise of the Licensed Rights is expressly made subject to the 240 | following conditions. 241 | 242 | a. Attribution. 243 | 244 | 1. If You Share the Licensed Material (including in modified 245 | form), You must: 246 | 247 | a. retain the following if it is supplied by the Licensor 248 | with the Licensed Material: 249 | 250 | i. identification of the creator(s) of the Licensed 251 | Material and any others designated to receive 252 | attribution, in any reasonable manner requested by 253 | the Licensor (including by pseudonym if 254 | designated); 255 | 256 | ii. a copyright notice; 257 | 258 | iii. a notice that refers to this Public License; 259 | 260 | iv. a notice that refers to the disclaimer of 261 | warranties; 262 | 263 | v. a URI or hyperlink to the Licensed Material to the 264 | extent reasonably practicable; 265 | 266 | b. indicate if You modified the Licensed Material and 267 | retain an indication of any previous modifications; and 268 | 269 | c. indicate the Licensed Material is licensed under this 270 | Public License, and include the text of, or the URI or 271 | hyperlink to, this Public License. 272 | 273 | 2. You may satisfy the conditions in Section 3(a)(1) in any 274 | reasonable manner based on the medium, means, and context in 275 | which You Share the Licensed Material. For example, it may be 276 | reasonable to satisfy the conditions by providing a URI or 277 | hyperlink to a resource that includes the required 278 | information. 279 | 3. If requested by the Licensor, You must remove any of the 280 | information required by Section 3(a)(1)(A) to the extent 281 | reasonably practicable. 282 | 283 | b. ShareAlike. 284 | 285 | In addition to the conditions in Section 3(a), if You Share 286 | Adapted Material You produce, the following conditions also apply. 287 | 288 | 1. The Adapter's License You apply must be a Creative Commons 289 | license with the same License Elements, this version or 290 | later, or a BY-NC-SA Compatible License. 291 | 292 | 2. You must include the text of, or the URI or hyperlink to, the 293 | Adapter's License You apply. You may satisfy this condition 294 | in any reasonable manner based on the medium, means, and 295 | context in which You Share Adapted Material. 296 | 297 | 3. You may not offer or impose any additional or different terms 298 | or conditions on, or apply any Effective Technological 299 | Measures to, Adapted Material that restrict exercise of the 300 | rights granted under the Adapter's License You apply. 301 | 302 | 303 | Section 4 -- Sui Generis Database Rights. 304 | 305 | Where the Licensed Rights include Sui Generis Database Rights that 306 | apply to Your use of the Licensed Material: 307 | 308 | a. for the avoidance of doubt, Section 2(a)(1) grants You the right 309 | to extract, reuse, reproduce, and Share all or a substantial 310 | portion of the contents of the database for NonCommercial purposes 311 | only; 312 | 313 | b. if You include all or a substantial portion of the database 314 | contents in a database in which You have Sui Generis Database 315 | Rights, then the database in which You have Sui Generis Database 316 | Rights (but not its individual contents) is Adapted Material, 317 | including for purposes of Section 3(b); and 318 | 319 | c. You must comply with the conditions in Section 3(a) if You Share 320 | all or a substantial portion of the contents of the database. 321 | 322 | For the avoidance of doubt, this Section 4 supplements and does not 323 | replace Your obligations under this Public License where the Licensed 324 | Rights include other Copyright and Similar Rights. 325 | 326 | 327 | Section 5 -- Disclaimer of Warranties and Limitation of Liability. 328 | 329 | a. UNLESS OTHERWISE SEPARATELY UNDERTAKEN BY THE LICENSOR, TO THE 330 | EXTENT POSSIBLE, THE LICENSOR OFFERS THE LICENSED MATERIAL AS-IS 331 | AND AS-AVAILABLE, AND MAKES NO REPRESENTATIONS OR WARRANTIES OF 332 | ANY KIND CONCERNING THE LICENSED MATERIAL, WHETHER EXPRESS, 333 | IMPLIED, STATUTORY, OR OTHER. THIS INCLUDES, WITHOUT LIMITATION, 334 | WARRANTIES OF TITLE, MERCHANTABILITY, FITNESS FOR A PARTICULAR 335 | PURPOSE, NON-INFRINGEMENT, ABSENCE OF LATENT OR OTHER DEFECTS, 336 | ACCURACY, OR THE PRESENCE OR ABSENCE OF ERRORS, WHETHER OR NOT 337 | KNOWN OR DISCOVERABLE. WHERE DISCLAIMERS OF WARRANTIES ARE NOT 338 | ALLOWED IN FULL OR IN PART, THIS DISCLAIMER MAY NOT APPLY TO YOU. 339 | 340 | b. TO THE EXTENT POSSIBLE, IN NO EVENT WILL THE LICENSOR BE LIABLE 341 | TO YOU ON ANY LEGAL THEORY (INCLUDING, WITHOUT LIMITATION, 342 | NEGLIGENCE) OR OTHERWISE FOR ANY DIRECT, SPECIAL, INDIRECT, 343 | INCIDENTAL, CONSEQUENTIAL, PUNITIVE, EXEMPLARY, OR OTHER LOSSES, 344 | COSTS, EXPENSES, OR DAMAGES ARISING OUT OF THIS PUBLIC LICENSE OR 345 | USE OF THE LICENSED MATERIAL, EVEN IF THE LICENSOR HAS BEEN 346 | ADVISED OF THE POSSIBILITY OF SUCH LOSSES, COSTS, EXPENSES, OR 347 | DAMAGES. WHERE A LIMITATION OF LIABILITY IS NOT ALLOWED IN FULL OR 348 | IN PART, THIS LIMITATION MAY NOT APPLY TO YOU. 349 | 350 | c. The disclaimer of warranties and limitation of liability provided 351 | above shall be interpreted in a manner that, to the extent 352 | possible, most closely approximates an absolute disclaimer and 353 | waiver of all liability. 354 | 355 | 356 | Section 6 -- Term and Termination. 357 | 358 | a. This Public License applies for the term of the Copyright and 359 | Similar Rights licensed here. However, if You fail to comply with 360 | this Public License, then Your rights under this Public License 361 | terminate automatically. 362 | 363 | b. Where Your right to use the Licensed Material has terminated under 364 | Section 6(a), it reinstates: 365 | 366 | 1. automatically as of the date the violation is cured, provided 367 | it is cured within 30 days of Your discovery of the 368 | violation; or 369 | 370 | 2. upon express reinstatement by the Licensor. 371 | 372 | For the avoidance of doubt, this Section 6(b) does not affect any 373 | right the Licensor may have to seek remedies for Your violations 374 | of this Public License. 375 | 376 | c. For the avoidance of doubt, the Licensor may also offer the 377 | Licensed Material under separate terms or conditions or stop 378 | distributing the Licensed Material at any time; however, doing so 379 | will not terminate this Public License. 380 | 381 | d. Sections 1, 5, 6, 7, and 8 survive termination of this Public 382 | License. 383 | 384 | 385 | Section 7 -- Other Terms and Conditions. 386 | 387 | a. The Licensor shall not be bound by any additional or different 388 | terms or conditions communicated by You unless expressly agreed. 389 | 390 | b. Any arrangements, understandings, or agreements regarding the 391 | Licensed Material not stated herein are separate from and 392 | independent of the terms and conditions of this Public License. 393 | 394 | 395 | Section 8 -- Interpretation. 396 | 397 | a. For the avoidance of doubt, this Public License does not, and 398 | shall not be interpreted to, reduce, limit, restrict, or impose 399 | conditions on any use of the Licensed Material that could lawfully 400 | be made without permission under this Public License. 401 | 402 | b. To the extent possible, if any provision of this Public License is 403 | deemed unenforceable, it shall be automatically reformed to the 404 | minimum extent necessary to make it enforceable. If the provision 405 | cannot be reformed, it shall be severed from this Public License 406 | without affecting the enforceability of the remaining terms and 407 | conditions. 408 | 409 | c. No term or condition of this Public License will be waived and no 410 | failure to comply consented to unless expressly agreed to by the 411 | Licensor. 412 | 413 | d. Nothing in this Public License constitutes or may be interpreted 414 | as a limitation upon, or waiver of, any privileges and immunities 415 | that apply to the Licensor or You, including from the legal 416 | processes of any jurisdiction or authority. 417 | 418 | ======================================================================= 419 | 420 | Creative Commons is not a party to its public 421 | licenses. Notwithstanding, Creative Commons may elect to apply one of 422 | its public licenses to material it publishes and in those instances 423 | will be considered the “Licensor.” The text of the Creative Commons 424 | public licenses is dedicated to the public domain under the CC0 Public 425 | Domain Dedication. Except for the limited purpose of indicating that 426 | material is shared under a Creative Commons public license or as 427 | otherwise permitted by the Creative Commons policies published at 428 | creativecommons.org/policies, Creative Commons does not authorize the 429 | use of the trademark "Creative Commons" or any other trademark or logo 430 | of Creative Commons without its prior written consent including, 431 | without limitation, in connection with any unauthorized modifications 432 | to any of its public licenses or any other arrangements, 433 | understandings, or agreements concerning use of licensed material. For 434 | the avoidance of doubt, this paragraph does not form part of the 435 | public licenses. 436 | 437 | Creative Commons may be contacted at creativecommons.org. 438 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | “周志华老师的《机器学习》(西瓜书)是机器学习领域的经典入门教材之一,周老师为了使尽可能多的读者通过西瓜书对机器学习有所了解, 所以在书中对部分公式的推导细节没有详述,但是这对那些想深究公式推导细节的读者来说可能“不太友好”,本书旨在对西瓜书里比较难理解的公式加以解析,以及对部分公式补充具体的推导细节。” 2 | 3 | 读到这里,大家可能会疑问为啥前面这段话加了引号,因为这只是我们最初的遐想,后来我们了解到,周老师之所以省去这些推导细节的真实原因是,他本尊认为“理工科数学基础扎实点的大二下学生应该对西瓜书中的推导细节无困难吧,要点在书里都有了,略去的细节应能脑补或做练习”。所以......本南瓜书只能算是我等数学渣渣在自学的时候记下来的笔记,希望能够帮助大家都成为一名合格的“理工科数学基础扎实点的大二下学生”。 4 | 5 | ## 使用说明 6 | - 南瓜书的所有内容都是以西瓜书的内容为前置知识进行表述的,所以南瓜书的最佳使用方法是以西瓜书为主线,遇到自己推导不出来或者看不懂的公式时再来查阅南瓜书; 7 | - 对于初学机器学习的小白,西瓜书第1章和第2章的公式**强烈不建议深究**,简单过一下即可,等你学得有点飘的时候再回来啃都来得及; 8 | - 每个公式的解析和推导我们都力争以本科数学基础的视角进行讲解,所以超纲的数学知识我们通常都会以附录和参考文献的形式给出,感兴趣的同学可以继续沿着我们给的资料进行深入学习; 9 | - 若南瓜书里没有你想要查阅的公式,或者你发现南瓜书哪个地方有错误,请毫不犹豫地去我们GitHub的Issues( 地址:[https://github.com/datawhalechina/pumpkin-book/issues](https://github.com/datawhalechina/pumpkin-book/issues) )进行反馈,在对应版块提交你希望补充的公式编号或者勘误信息,我们通常会在24小时以内给您回复,超过24小时未回复的话可以微信联系我们(微信号:at-Sm1les); 10 | 11 | ## 配套资源 12 | 视频教程:[https://www.bilibili.com/video/BV1Mh411e7VU](https://www.bilibili.com/video/BV1Mh411e7VU) 13 | 14 | 组队学习:[https://www.datawhale.cn/learn/summary/2](https://www.datawhale.cn/learn/summary/2) 15 | 16 | 在线阅读:[https://www.datawhale.cn/learn/summary/2](https://www.datawhale.cn/learn/summary/2) 17 | 18 | PDF版本下载:[https://github.com/datawhalechina/pumpkin-book/releases](https://github.com/datawhalechina/pumpkin-book/releases) 19 | 20 | ## 纸质版 21 | 22 | 23 | 购买链接:[京东](https://item.jd.com/13989990.html) | [当当](http://product.dangdang.com/29579286.html) | [天猫](https://detail.tmall.com/item.htm?abbucket=12&id=720482241470) 24 | 25 | 勘误表:[https://datawhalechina.github.io/pumpkin-book/#/errata](https://datawhalechina.github.io/pumpkin-book/#/errata) 26 | 27 | ### 纸质版和开源版的区别 28 | 29 | 开源版本是我们寄送出版社的全书初稿,经由人民邮电出版社的编辑老师们对初稿进行了反复修缮最终诞生了纸质书籍,在此向人民邮电出版社的编辑老师的认真严谨表示衷心的感谢!(附:校对样稿) 30 | 31 | 32 | 33 | 34 | 35 | ## 配套的西瓜书版本 36 | 37 | 38 | 版次:2016年1月第1版 39 | 40 | 勘误表:[http://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/MLbook2016.htm](http://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/MLbook2016.htm) 41 | 42 | ## 编委会 43 | | 职责 | 名单 | 44 | | :---: | :---: | 45 | | **主编** | [@Sm1les](https://github.com/Sm1les) [@archwalker](https://github.com/archwalker) [@jbb0523](https://blog.csdn.net/jbb0523)| 46 | | **编委** | [@juxiao](https://github.com/juxiao) [@Majingmin](https://github.com/Majingmin) [@MrBigFan](https://github.com/MrBigFan) [@shanry](https://github.com/shanry) [@Ye980226](https://github.com/Ye980226) | 47 | 48 | ## 封面设计 49 | | 构思 | 创作 | 50 | | :---: | :---: | 51 | | [@Sm1les](https://github.com/Sm1les) | 林王茂盛 | 52 | 53 | ## 致谢 54 | 特别感谢[@awyd234](https://github.com/awyd234)、[@feijuan](https://github.com/feijuan)、[@Ggmatch](https://github.com/Ggmatch)、[@Heitao5200](https://github.com/Heitao5200)、[@xhqing](https://github.com/xhqing)、[@LongJH](https://github.com/LongJH)、[@LilRachel](https://github.com/LilRachel)、[@LeoLRH](https://github.com/LeoLRH)、[@Nono17](https://github.com/Nono17)、[@spareribs](https://github.com/spareribs)、[@sunchaothu](https://github.com/sunchaothu)、[@StevenLzq](https://github.com/StevenLzq) 在最早期的时候对南瓜书所做的贡献。 55 | 56 | ## 关注我们 57 | 扫描下方二维码关注公众号:Datawhale,然后发送“南瓜书”,即可获取“南瓜书读者交流群”入群方式 58 | 59 | 60 | 61 | ## LICENSE 62 | 本作品采用[知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议](http://creativecommons.org/licenses/by-nc-sa/4.0/)进行许可。 63 | -------------------------------------------------------------------------------- /README_french.md: -------------------------------------------------------------------------------- 1 |
2 | 3 |

PumpkinBook

4 |

5 | 简体中文 | Français 6 |

7 |
8 | 9 | “Le livre ‘Machine Learning’ (Watermelon Book) par Prof. Zhihua Zhou est l’un des plus classiques manuels dans le domaine de Machine Learning. Afin des faire connaissances au plus grand nombre de lecteurs possibles à travers de ce livre, Prof. Zhou n’a pas été détaillé des dérivations de certaines formules. Cependant, cela a créé des difficultés pour ce qui voudrais apprendre les détails de ces dérivations. Dans ce cas, ce livre vise à donner des interprétations qui sont plus difficile à comprendre, et aussi compléter des détails de certaines formules.” 10 | 11 | Par ici, vous allez poser la question : pourquoi nous avons ajoute les guillemets au paragraphe précèdent ? Car c’était notre idée initiale de ce livre. Nous avons ensuite appris que Prof. Zhou a décidé de ne pas détailler ces dérivations car il a cru que “Les étudiants de l’ingénierie de L2 ont appris assez de mathématiques pour faire les démonstrations tout seul. Les principes sont tous dans le livre, ils devraient faire les démonstrations des formules en tant que les exercices.” Dans ce cas, ce livre ‘Pumpkin book’ est dédié comme une lecture note quand on se décide de faire notre propre auto-apprentissage. On espère que tous les lecteurs pourront devenir “un étudiant de l’ingénierie ayant une base solide en mathématique”. 12 | 13 | ## Mode d’emploi 14 | - Toutes les contenues de ce Pumpkin Book est raconté à partir de même chapitre dans Watermelon book en tant que pré-connaissance. Cependant, la meilleure façon d’utiliser ce livre est de prendre le livre ‘Watermelon Book’ comme la ligne principale. Une fois vous rencontrez des difficultés sur des formules, vous allez les chercher dans ce livre. En un mot, vous allez prendre ce livre comme un guide pratique. 15 | - Pour les novices en Machine Learning, Il est fortement déconseillé d’entrer dans les détails des formules dans chapitre 1 et 2 de Watermelon Book. Il n’est jamais trop tard de revenir, peut-être quand vous vous sentez complètement en contrôle de tous les principes de Machine Learning ? 16 | - On vise à faire des démonstrations de chaque formule a partir des connaissance de mathématique de niveau License. Les connaissances en mathématiques au-delà du premier cycle sont donne en tant que appendices pour ce qui s’intéressent. 17 | - Dans le cas où vous ne trouvez pas une formule, ou vous trouvez des erreurs de ce livre. N’hésitez pas de mettre en avant des Issues sur notre GitHub: https://github.com/datawhalechina/pumpkin-book/issues. Lorsque vous vous font parvenir des issues sur des demandes des détails supplémentaires des formules ou des erreurs dans les rubriques correspondantes, nous vous répondrons, de manière générale, dans les 24 heures suivantes. Au-delà, vous êtes libre de nous contacter par email ou par WeChat ID :at-Sm1les. 18 | 19 | ### Version papier 20 | 21 | 22 | Lien d’achat: [JD mall 京东](https://item.jd.com/13989990.html) | [Dangdang 当当](http://product.dangdang.com/29579286.html) | [Tmall 天猫](https://detail.tmall.com/item.htm?abbucket=12&id=720482241470) 23 | 24 | Errata:https://datawhalechina.github.io/pumpkin-book/#/errata 25 | 26 | Tutoriel vidéo associé:https://www.bilibili.com/video/BV1Mh411e7VU 27 | 28 | ### Lecture en ligne (mise à jour en temps réelle) 29 | Adresse:https://datawhalechina.github.io/pumpkin-book 30 | 31 | ### La dernière version du PDF 32 | Adresse:https://github.com/datawhalechina/pumpkin-book/releases 33 | 34 | #### La différence entre la version en ligne et celle en papier 35 | La version PDF est celle que nous avons envoyé à editor, elle était notre première version. Elle a été relue et édite par les éditeurs à la Presse de télécommunication publique. Nous tenons à exprimer nos remercîments aux éditeurs de la Presse pour leur sérieux et leur rigueur. (Les deux photos jointes sont les documents de relecture lors de la publication.) 36 | 37 |
38 | 39 | ### Contenue 40 | - Chapitre 1 [Introduction](https://datawhalechina.github.io/pumpkin-book/#/chapter1/chapter1) 41 | - Chapitre 2 [Évaluation et choix des modelés](https://datawhalechina.github.io/pumpkin-book/#/chapter2/chapter2)   42 | - Chapitre 3 [Modèle linéaire](https://datawhalechina.github.io/pumpkin-book/#/chapter3/chapter3) 43 | - Chapitre 4 [Arbre de décision](https://datawhalechina.github.io/pumpkin-book/#/chapter4/chapter4)  44 | - Chapitre 5 [Réseaux de neurones artificiels](https://datawhalechina.github.io/pumpkin-book/#/chapter5/chapter5) 45 | - Chapitre 6 [Machines à vecteurs de soutien](https://datawhalechina.github.io/pumpkin-book/#/chapter6/chapter6) 46 | - Chapitre 7 [Classification Bayésienne](https://datawhalechina.github.io/pumpkin-book/#/chapter7/chapter7) 47 | - Chapitre 8 [Apprentissage d'ensemble](https://datawhalechina.github.io/pumpkin-book/#/chapter8/chapter8) 48 | - Chapitre 9 [Regroupement](https://datawhalechina.github.io/pumpkin-book/#/chapter9/chapter9) 49 | - Chapitre 10 [Réduction de la dimensionnalité et apprentissage métrique](https://datawhalechina.github.io/pumpkin-book/#/chapter10/chapter10) 50 | - Chapitre 11 [Choix du fonctionnalité et apprentissage clairsemé](https://datawhalechina.github.io/pumpkin-book/#/chapter11/chapter11) 51 | - Chapitre 12 [Théorie de l’apprentissage informatique](https://datawhalechina.github.io/pumpkin-book/#/chapter12/chapter12) 52 | - Chapitre 13 [Apprentissage semi-supervisé](https://datawhalechina.github.io/pumpkin-book/#/chapter13/chapter13) 53 | - Chapitre 14 [Modèle graphique probabiliste](https://datawhalechina.github.io/pumpkin-book/#/chapter14/chapter14) 54 | - Chapitre 15 [Apprentissage des règles](https://datawhalechina.github.io/pumpkin-book/#/chapter15/chapter15) 55 | - Chapitre 16 [Apprentissage par renforcement](https://datawhalechina.github.io/pumpkin-book/#/chapter16/chapter16) 56 | 57 | ### La version du livre ‘Watermelon Book’ Choisie 58 | 59 | 60 | > Version : 1ère version du janvier 2016
61 | > Errata:http://cs.nju.edu.cn/zhouzh/zhouzh.files/publication/MLbook2016.htm 62 | 63 | ## Comité éditorial 64 | ||Liste des auteurs| 65 | | :---: | :---: | 66 | | **Éditeur en Chief** | [@Sm1les](https://github.com/Sm1les) [@archwalker](https://github.com/archwalker) | 67 | | **Membre du comité de rédaction** | [@jbb0523](https://blog.csdn.net/jbb0523) [@juxiao](https://github.com/juxiao) [@Majingmin](https://github.com/Majingmin) [@MrBigFan](https://github.com/MrBigFan) [@shanry](https://github.com/shanry) [@Ye980226](https://github.com/Ye980226) | 68 | 69 | ## Remerciements 70 | Nous tenons nos remerciements aux [@awyd234](https://github.com/awyd234)、[@feijuan](https://github.com/feijuan)、[@Ggmatch](https://github.com/Ggmatch)、[@Heitao5200](https://github.com/Heitao5200)、[@huaqing89](https://github.com/huaqing89)、[@LongJH](https://github.com/LongJH)、[@LilRachel](https://github.com/LilRachel)、[@LeoLRH](https://github.com/LeoLRH)、[@Nono17](https://github.com/Nono17)、[@spareribs](https://github.com/spareribs)、[@sunchaothu](https://github.com/sunchaothu)、[@StevenLzq](https://github.com/StevenLzq) pour leur contribution aux toute la premier version du livre ‘Pumpkin Book’ 71 | 72 | ## Suivez nous 73 |
74 |

Scannez le QR code ci-dessous, et puis répondre aux mots clés ‘Pumpkin Book’, vous allez ensuite diriger vers la page par ou vous pouvez joindre la groupe de ‘échange de lecteur du pumpkin book’.

75 | Datawhale是一个专注AI领域的开源组织,以“for the learner,和学习者一起成长”为愿景,构建对学习者最有价值的开源学习社区。关注我们,一起学习成长。 76 |
77 | 78 | ## LICENSE 79 | 知识共享许可协议 -------------------------------------------------------------------------------- /docs/.nojekyll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/docs/.nojekyll -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- 1 | [filename](https://raw.githubusercontent.com/datawhalechina/pumpkin-book/refs/heads/master/README.md ':include') 2 | -------------------------------------------------------------------------------- /docs/_sidebar.md: -------------------------------------------------------------------------------- 1 | - [第1章 绪论](chapter1/chapter1.md) 2 | - [第2章 模型评估](chapter2/chapter2.md) 3 | - [第3章 线性模型](chapter3/chapter3.md) 4 | - [第4章 决策树](chapter4/chapter4.md) 5 | - [第5章 神经网络](chapter5/chapter5.md) 6 | - [第6章 支持向量机](chapter6/chapter6.md) 7 | - [第7章 贝叶斯分类器](chapter7/chapter7.md) 8 | - [第8章 集成学习](chapter8/chapter8.md) 9 | - [第9章 聚类](chapter9/chapter9.md) 10 | - [第10章 降维与度量学习](chapter10/chapter10.md) 11 | - [第11章 特征选择与稀疏学习](chapter11/chapter11.md) 12 | - [第12章 计算学习理论](chapter12/chapter12.md) 13 | - [第13章 半监督学习](chapter13/chapter13.md) 14 | - [第14章 概率图模型](chapter14/chapter14.md) 15 | - [第15章 规则学习](chapter15/chapter15.md) 16 | - [第16章 强化学习](chapter16/chapter16.md) 17 | 18 | -------------------------------------------------------------------------------- /docs/chapter1/chapter1.md: -------------------------------------------------------------------------------- 1 | ```{important} 2 | 参与组队学习的同学须知: 3 | 4 | 本章学习时间:1.5天 5 | 6 | 本章配套视频教程:https://www.bilibili.com/video/BV1Mh411e7VU?p=2 7 | ``` 8 | 9 | # 第1章 绪论 10 | 11 | 本章作为"西瓜书"的开篇,主要讲解什么是机器学习以及机器学习的相关数学符号,为后续内容作铺垫,并未涉及复杂的算法理论,因此阅读本章时只需耐心梳理清楚所有概念和数学符号即可。此外,在阅读本章前建议先阅读西瓜书目录前页的《主要符号表》,它能解答在阅读"西瓜书"过程中产生的大部分对数学符号的疑惑。 12 | 13 | 本章也作为本书的开篇,笔者在此赘述一下本书的撰写初衷,本书旨在以"过来人"的视角陪读者一起阅读"西瓜书",尽力帮读者消除阅读过程中的"数学恐惧",只要读者学习过《高等数学》、《线性代数》和《概率论与数理统计》这三门大学必修的数学课,均能看懂本书对西瓜书中的公式所做的解释和推导,同时也能体会到这三门数学课在机器学习上碰撞产生的"数学之美"。 14 | 15 | ## 1.1 引言 16 | 17 | 本节以概念理解为主,在此对"算法"和"模型"作补充说明。"算法"是指从数据中学得"模型"的具体方法,例如后续章节中将会讲述的线性回归、对数几率回归、决策树等。"算法"产出的结果称为"模型",通常是具体的函数或者可抽象地看作为函数,例如一元线性回归算法产出的模型即为形如$f(x)=wx+b$的一元一次函数。不过由于严格区分这两者的意义不大,因此多数文献和资料会将其混用,当遇到这两个概念时,其具体指代根据上下文判断即可。 18 | 19 | ## 1.2 基本术语 20 | 21 | 本节涉及的术语较多且很多术语都有多个称呼,下面梳理各个术语,并将最常用的称呼加粗标注。 22 | 23 | **样本**:也称为"示例",是关于一个事件或对象的描述。因为要想让计算机能对现实生活中的事物进行机器学习,必须先将其抽象为计算机能理解的形式,计算机最擅长做的就是进行数学运算,因此考虑如何将其抽象为某种数学形式。显然,线性代数中的向量就很适合,因为任何事物都可以由若干"特征"(或称为"属性")唯一刻画出来,而向量的各个维度即可用来描述各个特征。例如,如果用色泽、根蒂和敲声这3个特征来刻画西瓜,那么一个"色泽青绿,根蒂蜷缩,敲声清脆"的西瓜用向量来表示即为$\boldsymbol{x}=(\text{青绿};\text{蜷缩};\text{清脆})$ **(向量中的元素用分号";"分隔时表示此向量为列向量,用逗号","分隔时表示为行向量)**,其中青绿、蜷缩和清脆分别对应为相应特征的取值,也称为"属性值"。显然,用中文书写向量的方式不够"数学",因此需要将属性值进一步数值化,具体例子参见"西瓜书"第3章3.2。此外,仅靠以上3个特征来刻画西瓜显然不够全面细致,因此还需要扩展更多维度的特征,一般称此类与特征处理相关的工作为"特征工程"。 24 | 25 | **样本空间**:也称为"输入空间"或"属性空间"。由于样本采用的是标明各个特征取值的"特征向量"来进行表示,根据线性代数的知识可知,有向量便会有向量所在的空间,因此称表示样本的特征向量所在的空间为样本空间,通常用花式大写的$\mathcal{X}$表示。 26 | 27 | **数据集**:数据集通常用集合来表示,令集合$D=\{\boldsymbol{x}_{1},\boldsymbol{x}_{2},...,\boldsymbol{x}_{m}\}$表示包含$m$个样本的数据集,一般同一份数据集中的每个样本都含有相同个数的特征,假设此数据集中的每个样本都含有$d$个特征,则第$i$个样本的数学表示为$d$维向量:$\boldsymbol{x}_{i}=(x_{i1};x_{i2};...;x_{id})$,其中$x_{ij}$表示样本$\boldsymbol{x}_{i}$在第$j$个属性上的取值。 28 | 29 | **模型**:机器学习的一般流程如下:首先收集若干样本(假设此时有100个),然后将其分为训练样本(80个)和测试样本(20个),其中80个训练样本构成的集合称为"训练集",20个测试样本构成的集合称为"测试集",接着选用某个机器学习算法,让其在训练集上进行"学习"(或称为"训练"),然后产出得到"模型"(或称为"学习器"),最后用测试集来测试模型的效果。执行以上流程时,表示我们已经默认样本的背后是存在某种潜在的规律,我们称这种潜在的规律为"真相"或者"真实",例如样本是一堆好西瓜和坏西瓜时,我们默认的便是好西瓜和坏西瓜背后必然存在某种规律能将其区分开。当我们应用某个机器学习算法来学习时,产出得到的模型便是该算法所找到的它自己认为的规律,由于该规律通常并不一定就是所谓的真相,所以也将其称为"假设"。通常机器学习算法都有可配置的参数,同一个机器学习算法,使用不同的参数配置或者不同的训练集,训练得到的模型通常都不同。 30 | 31 | **标记**:上文提到机器学习的本质就是在学习样本在某个方面的表现是否存在潜在的规律,我们称该方面的信息为"标记"。例如在学习西瓜的好坏时,"好瓜"和"坏瓜"便是样本的标记。一般第$i$个样本的标记的数学表示为$y_i$,标记所在的空间称为"标记空间"或"输出空间",数学表示为花式大写的$\mathcal{Y}$。标记通常也看作为样本的一部分,因此,一个完整的样本通常表示为$(\boldsymbol{x}, y)$。 32 | 33 | 根据标记的取值类型不同,可将机器学习任务分为以下两类: 34 | 35 | - 当标记取值为离散型时,称此类任务为"分类",例如学习西瓜是好瓜还是坏瓜、学习猫的图片是白猫还是黑猫等。当分类的类别只有两个时,称此类任务为"二分类",通常称其中一个为"正类",另一个为"反类"或"负类";当分类的类别超过两个时,称此类任务为"多分类"。由于标记也属于样本的一部分,通常也需要参与运算,因此也需要将其数值化,例如对于二分类任务,通常将正类记为$1$,反类记为$0$,即$\mathcal{Y}=\{0,1\}$。这只是一般默认的做法,具体标记该如何数值化可根据具体机器学习算法进行相应地调整,例如第6章的支持向量机算法则采用的是$\mathcal{Y}=\{-1,+1\}$; 36 | 37 | - 当标记取值为连续型时,称此类任务为"回归",例如学习预测西瓜的成熟度、学习预测未来的房价等。由于是连续型,因此标记的所有可能取值无法直接罗列,通常只有取值范围,回归任务的标记取值范围通常是整个实数域$\mathbb{R}$,即$\mathcal{Y}=\mathbb{R}$。 38 | 39 | 无论是分类还是回归,机器学习算法最终学得的模型都可以抽象地看作为以样本$\boldsymbol{x}$为自变量,标记$y$为因变量的函数$y=f(\boldsymbol{x})$,即一个从输入空间$\mathcal{X}$到输出空间$\mathcal{Y}$的映射。例如在学习西瓜的好坏时,机器学习算法学得的模型可看作为一个函数$f(\boldsymbol{x})$,给定任意一个西瓜样本$\boldsymbol{x}_{i}=(\text{青绿};\text{蜷缩};\text{清脆})$,将其输入进函数即可计算得到一个输出$y_{i}=f(\boldsymbol{x}_{i})$,此时得到的$y_{i}$便是模型给出的预测结果,当$y_i$取值为$1$时表明模型认为西瓜$\boldsymbol{x}_{i}$是好瓜,当$y_i$取值为$0$时表明模型认为西瓜$\boldsymbol{x}_{i}$是坏瓜。 40 | 41 | 根据是否有用到标记信息,可将机器学习任务分为以下两类: 42 | 43 | - 在模型训练阶段有用到标记信息时,称此类任务为"监督学习",例如第3章的线性模型; 44 | 45 | - 在模型训练阶段没用到标记信息时,称此类任务为"无监督学习",例如第9章的聚类。 46 | 47 | **泛化**:由于机器学习的目标是根据已知来对未知做出尽可能准确的判断,因此对未知事物判断的准确与否才是衡量一个模型好坏的关键,我们称此为"泛化"能力。例如学习西瓜好坏时,假设训练集中共有3个样本:$\{(\boldsymbol{x}_{1}=(\text{青绿};\text{蜷缩}),y_{1}=\text{好瓜}),(\boldsymbol{x}_{2}=(\text{乌黑};\text{蜷缩}),y_{2}=\text{好瓜}),(\boldsymbol{x}_{3}=(\text{浅白};\text{蜷缩}),y_{3}=\text{好瓜})\}$,同时假设判断西瓜好坏的真相是"只要根蒂蜷缩就是好瓜",如果应用算法$A$在此训练集上训练得到模型$f_{a}(\boldsymbol{x})$,模型$a$学到的规律是"色泽等于青绿、乌黑或者浅白时,同时根蒂蜷缩即为好瓜,否则便是坏瓜",再应用算法$B$在此训练集上训练得到模型$f_{b}(\boldsymbol{x})$,模型$f_{b}(\boldsymbol{x})$学到的规律是"只要根蒂蜷缩就是好瓜",因此对于一个未见过的西瓜样本$\boldsymbol{x}=(\text{金黄};\text{蜷缩})$来说,模型$f_{a}(\boldsymbol{x})$给出的预测结果为"坏瓜",模型$f_{b}(\boldsymbol{x})$给出的预测结果为"好瓜",此时我们称模型$f_{b}(\boldsymbol{x})$的泛化能力优于模型$f_{a}(\boldsymbol{x})$。 48 | 49 | 通过以上举例可知,尽管模型$f_{a}(\boldsymbol{x})$和模型$f_{b}(\boldsymbol{x})$对训练集学得一样好,即两个模型对训练集中每个样本的判断都对,但是其所学到的规律是不同的。导致此现象最直接的原因是算法的不同,但是算法通常是有限的,可穷举的,尤其是在特定任务场景下可使用的算法更是有限,因此,数据便是导致此现象的另一重要原因,这也就是机器学习领域常说的"数据决定模型的上限,而算法则是让模型无限逼近上限",下面详细解释此话的含义。 50 | 51 | 先解释"数据决定模型效果的上限",其中数据是指从数据量和特征工程两个角度考虑。从数据量的角度来说,通常数据量越大模型效果越好,因为数据量大即表示累计的经验多,因此模型学习到的经验也多,自然表现效果越好。例如以上举例中如果训练集中含有相同颜色但根蒂不蜷缩的坏瓜,模型$a$学到真相的概率则也会增大;从特征工程的角度来说,通常对特征数值化越合理,特征收集越全越细致,模型效果通常越好,因为此时模型更易学得样本之间潜在的规律。例如学习区分亚洲人和非洲人时,此时样本即为人,在进行特征工程时,如果收集到每个样本的肤色特征,则其他特征例如年龄、身高和体重等便可省略,因为只需靠肤色这一个特征就足以区分亚洲人和非洲人。 52 | 53 | 而"算法则是让模型无限逼近上限"是指当数据相关的工作已准备充分时,接下来便可用各种可适用的算法从数据中学习其潜在的规律进而得到模型,不同的算法学习得到的模型效果自然有高低之分,效果越好则越逼近上限,即逼近真相。 54 | 55 | **分布**:此处的"分布"指的是概率论中的概率分布,通常假设样本空间服从一个未知"分布"$\mathcal{D}$,而我们收集到的每个样本都是独立地从该分布中采样得到,即"独立同分布"。通常收集到的样本越多,越能从样本中反推出$\mathcal{D}$的信息,即越接近真相。此假设属于机器学习中的经典假设,在后续学习机器学习算法过程中会经常用到。 56 | 57 | ## 1.3 假设空间 58 | 59 | 本节的重点是理解"假设空间"和"版本空间",下面以"房价预测"举例说明。假设现已收集到某地区近几年的房价和学校数量数据,希望利用收集到的数据训练出能通过学校数量预测房价的模型,具体收集到的数据如表1-1所示。 60 | 61 | ![表1-1 房价预测](https://datawhale-business.oss-cn-hangzhou.aliyuncs.com/03cecc8a-1ba3-4152-b11c-787f231efd4b-1-1.svg) 62 | 63 | 基于对以上数据的观察以及日常生活经验,不难得出"房价与学校数量成正比"的假设,若将学校数量设为$x$,房价设为$y$,则该假设等价表示学校数量和房价呈$y=wx+b$的一元一次函数关系,此时房价预测问题的假设空间即为"一元一次函数"。确定假设空间以后便可以采用机器学习算法从假设空间中学得模型,即从一元一次函数空间中学得能满足表1-1中数值关系的某个一元一次函数。学完第3章的线性回归可知当前问题属于一元线性回归问题,根据一元线性回归算法可学得模型为$y=3x-2$。 64 | 65 | 除此之外,也可以将问题复杂化,假设学校数量和房价呈$y=wx^{2}+b$一元二次函数关系,此时问题变为了线性回归中的多项式回归问题,按照多项式回归算法可学得模型为$y=x^2$。因此,以表1-1中数据作为训练集可以有多个假设空间,且在不同的假设空间中都有可能学得能够拟合训练集的模型,我们将所有能够拟合训练集的模型构成的集合称为"版本空间"。 66 | 67 | ## 1.4 归纳偏好 68 | 69 | 在上一节"房价预测"的例子中,当选用一元线性回归算法时,学得的模型是一元一次函数,当选用多项式回归算法时,学得的模型是一元二次函数,所以不同的机器学习算法有不同的偏好,我们称为"归纳偏好"。对于当前房价预测这个例子来说,这两个算法学得的模型哪个更好呢?著名的"奥卡姆剃刀"原则认为"若有多个假设与观察一致,则选最简单的那个",但是何为"简单"便见仁见智了,如果认为函数的幂次越低越简单,则此时一元线性回归算法更好,如果认为幂次越高越简单,则此时多项式回归算法更好,因此该方法其实并不"简单",所以并不常用,而最常用的方法则是基于模型在测试集上的表现来评判模型之间的优劣。测试集是指由训练集之外的样本构成的集合,例如在当前房价预测问题中,通常会额外留有部分未参与模型训练的数据来对模型进行测试。假设此时额外留有1条数据:$(\text{年份}:2022\text{年};\text{学校数量}:3\text{所};\text{房价}:7\text{万}/m^{2})$用于测试,模型$y=3x-2$的预测结果为$3*3-2=7$,预测正确,模型$y=x^2$的预测结果为$3^{2}=9$,预测错误,因此,在当前房价预测问题上,我们认为一元线性回归算法优于多项式回归算法。 70 | 71 | 机器学习算法之间没有绝对的优劣之分,只有是否适合当前待解决的问题之分,例如上述测试集中的数据如果改为$(\text{年份}:2022\text{年};\text{学校数量}:3\text{所};\text{房价}:9\text{万}/m^{2})$则结论便逆转为多项式回归算法优于一元线性回归算法。 72 | 73 | ### 1.4.1 式(1.1)和式(1.2)的解释 74 | 75 | $$\begin{aligned} 76 | \sum_{f}E_{ote}(\mathfrak{L}_a| X,f) &= \sum_f\sum_h\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x})\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x}))P(h| X,\mathfrak{L}_a)&\textcircled{1}\\ 77 | &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h| X,\mathfrak{L}_a)\sum_f\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x}))&\textcircled{2} \\ 78 | &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h| X,\mathfrak{L}_a)\cfrac{1}{2}2^{| \mathcal{X} |}&\textcircled{3} \\ 79 | &=\cfrac{1}{2}2^{| \mathcal{X} |}\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h| X,\mathfrak{L}_a)&\textcircled{4} \\ 80 | &=2^{| \mathcal{X} |-1}\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \cdot 1 &\textcircled{5}\\ 81 | \end{aligned}$$ 82 | 83 | $\textcircled{1} \to \textcircled{2}$: 84 | 85 | $$\begin{aligned} 86 | &\sum_f\sum_h\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x})\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x}))P(h| X,\mathfrak{L}_a) \\ 87 | &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x})\sum_f\sum_h\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x}))P(h| X,\mathfrak{L}_a) \\ 88 | &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h| X,\mathfrak{L}_a)\sum_f\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x})) \\ 89 | \end{aligned}$$ 90 | 91 | $\textcircled{2} \to \textcircled{3}$:首先要知道此时我们假设$f$是任何能将样本映射到$\{0,1\}$的函数。存在不止一个$f$时,$f$服从均匀分布,即每个$f$出现的概率相等。例如样本空间只有两个样本时,$\mathcal{X}=\{\boldsymbol{x}_1,\boldsymbol{x}_2\},| 92 | \mathcal{X} |=2$。那么所有可能的真实目标函数$f$如下: 93 | 94 | $$\begin{aligned} 95 | f_1:f_1(\boldsymbol{x}_1)=0,f_1(\boldsymbol{x}_2)=0\\ 96 | f_2:f_2(\boldsymbol{x}_1)=0,f_2(\boldsymbol{x}_2)=1\\ 97 | f_3:f_3(\boldsymbol{x}_1)=1,f_3(\boldsymbol{x}_2)=0\\ 98 | f_4:f_4(\boldsymbol{x}_1)=1,f_4(\boldsymbol{x}_2)=1 99 | \end{aligned}$$ 100 | 101 | 一共$2^{| \mathcal{X} |}=2^2=4$个可能的真实目标函数。所以此时通过算法$\mathfrak{L}_a$学习出来的模型$h(\boldsymbol{x})$对每个样本无论预测值为0还是1,都必然有一半的$f$与之预测值相等。例如,现在学出来的模型$h(\boldsymbol{x})$对$\boldsymbol{x}_1$的预测值为1,即$h(\boldsymbol{x}_1)=1$,那么有且只有$f_3$和$f_4$与$h(\boldsymbol{x})$的预测值相等,也就是有且只有一半的$f$与它预测值相等,所以$\sum_f\mathbb{I}(h(\boldsymbol{x})\neq 102 | f(\boldsymbol{x})) = \frac{1}{2}2^{| \mathcal{X} |}$。 103 | 104 | 需要注意的是,在这里我们假设真实的目标函数$f$服从均匀分布,但是实际情形并非如此,通常我们只认为能高度拟合已有样本数据的函数才是真实目标函数,例如,现在已有的样本数据为$\{(\boldsymbol{x}_1,0),(\boldsymbol{x}_2,1)\}$,那么此时$f_2$才是我们认为的真实目标函数,由于没有收集到或者压根不存在$\{(\boldsymbol{x}_1,0),(\boldsymbol{x}_2,0)\}\{(\boldsymbol{x}_1,1),(\boldsymbol{x}_2,0)\},\{(\boldsymbol{x}_1,1),(\boldsymbol{x}_2,1)\}$这类样本,所以$f_1,f_3,f_4$都不算是真实目标函数。套用到上述"房价预测"的例子中,我们认为只有能正确拟合测试集的函数才是真实目标函数,也就是我们希望学得的模型。 105 | -------------------------------------------------------------------------------- /docs/chapter1/chapter1_FR.md: -------------------------------------------------------------------------------- 1 | ## 1.1 2 | $$E_{o t e}\left(\mathfrak{L}_{a} | X, f\right)=\sum_{h} \sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) P\left(h | X, \mathfrak{L}_{a}\right)$$ 3 | [Analyse]: voir la formule(1.2) 4 | 5 | ## 1.2 6 | $$\begin{aligned} 7 | \sum_{f}E_{ote}(\mathfrak{L}_a\vert X,f) &= \sum_f\sum_h\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x})\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x}))P(h\vert X,\mathfrak{L}_a) \\ 8 | &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h\vert X,\mathfrak{L}_a)\sum_f\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x})) \\ 9 | &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h\vert X,\mathfrak{L}_a)\cfrac{1}{2}2^{\vert \mathcal{X} \vert} \\ 10 | &=\cfrac{1}{2}2^{\vert \mathcal{X} \vert}\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h\vert X,\mathfrak{L}_a) \\ 11 | &=2^{\vert \mathcal{X} \vert-1}\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \cdot 1\\ 12 | \end{aligned}$$ 13 | [Analyse]:De l'étape 1 à 2: 14 | $$\begin{aligned} 15 | &\sum_f\sum_h\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x})\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x}))P(h\vert X,\mathfrak{L}_a) \\ 16 | &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x})\sum_f\sum_h\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x}))P(h\vert X,\mathfrak{L}_a) \\ 17 | &=\sum_{\boldsymbol{x}\in\mathcal{X}-X}P(\boldsymbol{x}) \sum_hP(h\vert X,\mathfrak{L}_a)\sum_f\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x})) \\ 18 | \end{aligned}$$ 19 | De l'étape 1 à 2::Tout d'abord; on fait hypothèse que $f$ est fonction qui peut mapper l'échantillion de {0,1} et obéir à une distribution uniforme. C'est-à-dire qu'il exists plusieur $f$ et la probabilité de chaque $f$ procède la même probabilité,dans le cas où il y a que deux échantillions :$ \mathcal{X}=\{\boldsymbol{x}_1,\boldsymbol{x}_2\},\vert \mathcal{X} \vert=2$,Toute les fonctions objectif $f$ seront egaux aux: 20 | $$\begin{aligned} 21 | f_1:f_1(\boldsymbol{x}_1)=0,f_1(\boldsymbol{x}_2)=0;\\ 22 | f_2:f_2(\boldsymbol{x}_1)=0,f_2(\boldsymbol{x}_2)=1;\\ 23 | f_3:f_3(\boldsymbol{x}_1)=1,f_3(\boldsymbol{x}_2)=0;\\ 24 | f_4:f_4(\boldsymbol{x}_1)=1,f_4(\boldsymbol{x}_2)=1; 25 | \end{aligned}$$ 26 | En total, il y aura $2^{\vert \mathcal{X} \vert}=2^2=4$ fonctions objectifs. Le modèle $h(\boldsymbol{x})$ apris par l'algoritme $\mathfrak{L}_a$ contients des prédictions qui sont égaux aux $f$-la moitié de l'échantillion comprise entre 0 et 1. Par exemple, le modèle actuel$h(\boldsymbol{x})$ La prédiction de $\boldsymbol{x}_1$ dans le modèle actuel est égale à 1,donc $h(\boldsymbol{x}_1)=1$. Il n'y a que $f_3$ et $f_4$ qui sont égaux à la prédiction de $h(\boldsymbol{x})$. Autrementdit,la moitié de $f$ est égale à sa prédiction. Dans ce cas, \sum_f\mathbb{I}(h(\boldsymbol{x})\neq f(\boldsymbol{x})) = \cfrac{1}{2}2^{\vert \mathcal{X} \vert} $;les analyses de l'étape 3 jusqu'aux dernières étapes sont étabile de façon évident.Il est à noter que, notre hypothèses initiale est “La fonction peut mapper à l'échantillion de {0,1} et obéir à une distribution uniforme”,mais en réalité, on constate que la fonction qui peut parfaitement s'adapter aux données d'échantillon existantes est la véritable fonction objectif. Par exemple, l'échantillion existante est $\{(\boldsymbol{x}_1,0),(\boldsymbol{x}_2,1)\}$, et alors, $f_2$ est la véritable fonction objectif. Parce qu'aucun échantillon de ce type $\{(\boldsymbol{x}_1,0),(\boldsymbol{x}_2,0)\},\{(\boldsymbol{x}_1,1),(\boldsymbol{x}_2,0)\},\{(\boldsymbol{x}_1,1),(\boldsymbol{x}_2,1)\}$ n'a été collecté ou n'existait pas du tout. On constate que $f_1,f_3,f_4$ n'est pas la véritable fonction objectif。C'est donc l'expression "Cyclisme" de la formule (1.3) dans notre Pumpkin-book. 27 | -------------------------------------------------------------------------------- /docs/chapter11/chapter11.md: -------------------------------------------------------------------------------- 1 | ```{important} 2 | 参与组队学习的同学须知: 3 | 4 | 本章学习时间:3天 5 | 6 | 本章配套视频教程:https://www.bilibili.com/video/BV1Mh411e7VU?p=17 7 | ``` 8 | 9 | # 第11章 特征选择与稀疏学习 10 | 11 | ## 11.1 子集搜索与评价 12 | 13 | 开篇给出了 "特征选择" 的概念, 并谈到特征选择与第 10 14 | 章的降维有相似的动机。特征选择与降维的区别在于特征选择是从所有特征中简单地选出相关特征, 15 | 选择出来的特征就 是原来的特征; 降维则对原来的特征进行了映射变换, 16 | 降维后的特征均不再是原来的特征。 17 | 18 | 本节涉及 "子集评价" 的式(14.1)和式(14.2)与第 4 章的式(4.2)和式(4.1)相同, 19 | 这是因为 "决策树算法在构建树的同时也可看作进行了特征选择" (参见 "11.7 20 | 阅读材料")。 接下来在 11.2节、11.3 节、11.4 21 | 节分别介绍的三类特征选择方法: 过滤式(filter)、包裹 22 | 式(wrapper)和嵌入式(embedding)。 23 | 24 | ### 11.1.1 式(11.1)的解释 25 | 26 | 此为信息增益的定义式,对数据集 $D$ 和属性子集 $A$, 假设根据 $A$ 的取值将 27 | $D$ 分为了 $V$ 个子集 $\left\{D^1, D^2, \ldots, D^V\right\}$, 28 | 那么信息增益的定义为划分之前数据集 $D$ 的信息樀和划分之后每个子数据集 29 | $D^v$ 的信息樀的差。樀用来衡量一个系统的混舌程度, 30 | 因此划分前和划分后樀的差越大, 表示划分越有效, 划分带来的"信息增 31 | 益"越大。 32 | 33 | ### 11.1.2 式(11.2)的解释 34 | 35 | 36 | 37 | $$ 38 | \operatorname{Ent}(D)=-\sum_{i=1}^{| \mathcal{Y |}} p_{k} \log _{2} p_{k} 39 | $$ 40 | 41 | 42 | 43 | 此为信息熵的定义式,其中$p_k, k=1, 2, \dots \vert\mathcal{Y}\vert$表示$D$中第$i$类样本所占的比例。可以看出,样本越纯,即$p_k\rightarrow 0$或$p_k\rightarrow 1$时,$\mathrm{Ent}(D)$越小,其最小值为0。此时必有$p_i=1, p_{\backslash i}=0, i=1, 2, \dots, \vert\mathcal{Y}\vert$。 44 | 45 | ## 11.2 过滤式选择 46 | 47 | "过滤式方法先对数据集进行特征选择, 然后再训练学习器, 48 | 特征选择过程与后续学习 器无关。这相当于先用特征选择过程对初始特征进行 49 | '过滤', 再用过滤后的特征来训练模 型。", 这是本节开篇第一段原话, 50 | 之所以重写于此, 是因为这段话里包含了 "过滤"的概念, 51 | 该概念并非仅针对特征选择, 那些所有先对数据集进行某些预处理, 52 | 然后基于预处理结果再 训练学习器的方法 (预处理过程独立于训练学习器过程) 53 | 均可以称之为 "过滤式算法"。特 别地, 本节介绍的 Relief 54 | 方法只是过滤式特征选择方法的其中一种而已。 55 | 56 | 从式(11.3)可以看出, Relief 方法本质上基于 57 | "空间上相近的样本具有相近的类别标记" 假设。Relief 58 | 基于样本与同类和异类的最近邻之间的距离来计算相关统计量 $\delta^j$, 59 | 越是满足前 提假设, 原则上样本与同类最近邻之间的距离 60 | $\operatorname{diff}\left(x_i^j, x_{i, \mathrm{nh}}^j\right)^2$ 会越小, 61 | 样本与异类最近邻之 间的距离 62 | $\operatorname{diff}\left(x_i^j, x_{i, \mathrm{~nm}}^j\right)^2$ 63 | 会越大,因此相关统计量 $\delta^j$ 越大,对应属性的分类能力就越强。 64 | 65 | 对于能处理多分类问题的扩展变量 Relief-F, 由于有多个异类, 66 | 因此对所有异类最近邻 进行加权平均, 67 | 各异类的权重为其在数据集中所占的比例。 68 | 69 | ### 11.2.1 包裹式选择 70 | 71 | "与过滤式特征选择不考虑后续学习器不同, 72 | 包裹式特征选择直接把最终将要使用的学 73 | 习器的性能作为特征子集的评价准则。换言之, 74 | 包裹式特征选择的目的就是为给定学习器选 择最有利于其性能、"量身定做' 75 | 的特征子集。", 这是本节开篇第一段原话, 之所以重写于 此, 76 | 是因为这段话里包含了 "包裹" 的概念, 该概念并非仅针对特征选择, 77 | 那些所有基于学 习器的性能作为评价准则对数据集进行预处理的方法 78 | (预处理过程依赖训练所得学习器的 测试性能)均可以称之为 79 | "包裹式算法"。特别地, 本节介绍的 LVW 方法只是包裹式特征 80 | 选择方法的其中一种而已。 81 | 82 | 图 $11.1$ 中, 第 1 行 $E=\infty$ 表示初始化学习器误差为无穷大, 以至于第 83 | 1 轮迭代第 9 行 的条件就一定为真; 第 2 行 $d=|A|$ 中的 $|A|$ 表示特征集 84 | $A$ 的包含的特征个数; 第 9 行 $E^{\prime}0} \\ 316 | {-1,} & {x^{i}<0} 317 | \end{array}\right. 318 | $$ 319 | 320 | 321 | 322 | 323 | 称为符号函数[1],对于$x^i=0$的特殊情况,由于$\vert x^i \vert$在$x^i=0$点出不光滑,所以其不可导,需单独讨论。令$\frac{d g\left(x^{i}\right)}{d x^{i}}=0$有 324 | 325 | 326 | $$ 327 | x^{i}=z^{i}-\frac{\lambda}{L} \operatorname{sign}\left(x^{i}\right) 328 | $$ 329 | 330 | 331 | 332 | 333 | 此式的解即为优化目标$g(x^i)$的极值点,因为等式两端均含有未知变量$x^i$,故分情况讨论。 334 | 335 | (1)当$z^i>\frac{\lambda}{L}$时:a. 假设$x^i<0$,则$\operatorname{sign}(x^i)=-1$,那么有$x^i=z^i+\frac{\lambda}{L}>0$与假设矛盾;b. 假设$x^i>0$,则$\operatorname{sign}(x^i)=1$,那么有$x^i=z^i-\frac{\lambda}{L}>0$和假设相符和,下面来检验$x^i=z^i-\frac{\lambda}{L}$是否是使函数$g(x^i)$的取得最小值。当$x^i>0$时, 336 | 337 | $$ 338 | \frac{d g\left(x^{i}\right)}{d x^{i}}=L\left(x^{i}-z^{i}\right)+\lambda 339 | $$ 340 | 在定义域内连续可导,则$g(x^i)$的二阶导数 341 | 342 | 343 | $$ 344 | \frac{d^2 g\left(x^{i}\right)}{{d x^{i}}^2}=L 345 | $$ 346 | 347 | 348 | 由于$L$是Lipschitz常数恒大于0,因为$x^i=z^i-\frac{\lambda}{L}$是函数$g(x^i)$的最小值。 349 | 350 | (2)当$z^i<-\frac{\lambda}{L}$时:a. 假设$x^i>0$,则$\operatorname{sign}(x^i)=1$,那么有$x^i=z^i-\frac{\lambda}{L}<0$与假设矛盾;b. 假设$x^i<0$,则$\operatorname{sign}(x^i)=-1$,那么有$x^i=z^i+\frac{\lambda}{L}<0$与假设相符,由上述二阶导数恒大于0可知,$x^i=z^i+\frac{\lambda}{L}$是$g(x^i)$的最小值。 351 | 352 | (3)当$-\frac{\lambda}{L} \leqslant z^i \leqslant \frac{\lambda}{L}$时:a. 假设$x^i>0$,则$\operatorname{sign}(x^i)=1$,那么有$x^i=z^i-\frac{\lambda}{L}\leqslant 0$与假设矛盾;b. 假设$x^i<0$,则$\operatorname{sign}(x^i)=-1$,那么有$x^i=z^i+\frac{\lambda}{L}\geqslant 0$与假设矛盾。 353 | 354 | (4)最后讨论$x^i=0$的情况,此时$g(x^i)=\frac{L}{2}\left({z^i}\right)^2$。当$\vert z^i\vert>\frac{\lambda}{L}$时,由上述推导可知$g(x^i)$的最小值在$x^i=z^i-\frac{\lambda}{L}$处取得,因为 355 | 356 | $$ 357 | \begin{aligned} 358 | g(x^i)\vert_{x^i=0}-g(x^i)\vert_{x^i=z^i-\frac{\lambda}{L}} 359 | &=\frac{L}{2}\left({z^i}\right)^2 - \left(\lambda z^i-\frac{\lambda^2}{2L}\right)\\ 360 | &=\frac{L}{2}\left(z^i-\frac{\lambda}{L}\right)^2\\ 361 | &>0 362 | \end{aligned} 363 | $$ 364 | 365 | 因此当$\vert z^i\vert>\frac{\lambda}{L}$时,$x^i=0$不会是函数$g(x^i)$的最小值。当$-\frac{\lambda}{L} \leqslant z^i \leqslant \frac{\lambda}{L}$时,对于任何$\Delta x\neq 0$有 366 | 367 | $$ 368 | \begin{aligned} 369 | g(\Delta x) &=\frac{L}{2}\left(\Delta x-z^{i}\right)^{2}+\lambda|\Delta x| \\ 370 | &=\frac{L}{2}\left((\Delta x)^{2}-2 \Delta x \cdot z^{i}+\frac{2 \lambda}{L}|\Delta x|\right)+\frac{L}{2}\left(z^{i}\right)^{2} \\ 371 | &\ge\frac{L}{2}\left((\Delta x)^{2}-2 \Delta x \cdot z^{i}+\frac{2 \lambda}{L}\Delta x\right)+\frac{L}{2}\left(z^{i}\right)^{2}\\ 372 | &\ge\frac{L}{2}\left(\Delta x\right)^2+\frac{L}{2}\left(z^{i}\right)^{2}\\ 373 | &>g(x^i)\vert_{x^i=0} 374 | \end{aligned} 375 | $$ 376 | 377 | 因此$x^i=0$是$g(x^i)$的最小值点。 378 | 379 | 综上所述,11.14成立。 380 | 381 | 该式称为软阈值(Soft Thresholding)函数,很常见,建议掌握。另外,常见的变形是式(11.13)中的$L=1$或$L=2$时的形式,其解直接代入式(11.14)即可。与软阈值函数相对的是硬阈值函数,是将式(11.13)中的1范数替换为0范数的优化问题的闭式解。 382 | 383 | ## 11.4 稀疏表示与字典学习 384 | 385 | 稀疏表示与字典学习实际上是信号处理领域的概念。本节内容核心就是K-SVD算法。 386 | 387 | ### 11.4.1 式(11.15)的解释 388 | 389 | 这个式子表达的意思很容易理解,即希望样本$x_i$的稀疏表示$\boldsymbol{\alpha}_i$通过字典$\mathbf{B}$重构后和样本$x_i$的原始表示尽量相似,如果满足这个条件,那么稀疏表示$\boldsymbol{\alpha}_i$是比较好的。后面的1范数项是为了使表示更加稀疏。 390 | 391 | ### 11.4.2 式(11.16)的解释 392 | 393 | 为了优化11.15,我们采用变量交替优化的方式(有点类似EM算法),首先固定变量$\mathbf{B}$,则11.15求解的是$m$个样本相加的最小值,因为公式里没有样本之间的交互(即文中所述$\alpha_{i}^{u} \alpha_{i}^{v}(u \neq v)$这样的形式),因此可以对每个变量做分别的优化求出$\boldsymbol{\alpha}_i$,求解方法见式(11.13),式(11.14)。 394 | 395 | ### 11.4.3 式(11.17)的推导 396 | 397 | 这是优化11.15的第二步,固定住$\boldsymbol{\alpha}_i, i=1, 2,\dots,m$,此时式11.15的第二项为一个常数,优化11.15即优化$\min _{\mathbf{B}} \sum_{i=1}^{m}\left\|\boldsymbol{x}_{i}-\mathbf{B} \boldsymbol{\alpha}_{i}\right\|_{2}^{2}$。其写成矩阵相乘的形式为$\min _{\mathbf{B}}\|\mathbf{X}-\mathbf{B} \mathbf{A}\|_{2}^{2}$,将2范数扩展到$F$范数即得优化目标为$\min _{\mathbf{B}}\|\mathbf{X}-\mathbf{B} \mathbf{A}\|_{F}^{2}$。 398 | 399 | ### 11.4.4 式(11.18)的推导 400 | 401 | 这个公式难点在于推导$\mathbf{B}\mathbf{A}=\sum_{j=1}^k\boldsymbol{b}_j\boldsymbol{\alpha}^j$。大致的思路是$\boldsymbol{b}_{j} \boldsymbol{\alpha}^{j}$会生成和矩阵$\mathbf{B}\mathbf{A}$同样维度的矩阵,这个矩阵对应位置的元素是$\mathbf{B}\mathbf{A}$中对应位置元素的一个分量,这样的分量矩阵一共有$k$个,把所有分量矩阵加起来就得到了最终结果。推导过程如下: 402 | 403 | 404 | $$ 405 | \begin{aligned} 406 | \boldsymbol B\boldsymbol A 407 | & =\begin{bmatrix} 408 | b_{1}^{1} &b_{2}^{1} & \cdot & \cdot & \cdot & b_{k}^{1}\\ 409 | b_{1}^{2} &b_{2}^{2} & \cdot & \cdot & \cdot & b_{k}^{2}\\ 410 | \cdot & \cdot & \cdot & & & \cdot \\ 411 | \cdot & \cdot & & \cdot & &\cdot \\ 412 | \cdot & \cdot & & & \cdot & \cdot \\ 413 | b_{1}^{d}& b_{2}^{d} & \cdot & \cdot &\cdot & b_{k}^{d} 414 | \end{bmatrix}_{d\times k}\cdot 415 | \begin{bmatrix} 416 | \alpha_{1}^{1} &\alpha_{2}^{1} & \cdot & \cdot & \cdot & \alpha_{m}^{1}\\ 417 | \alpha_{1}^{2} &\alpha_{2}^{2} & \cdot & \cdot & \cdot & \alpha_{m}^{2}\\ 418 | \cdot & \cdot & \cdot & & & \cdot \\ 419 | \cdot & \cdot & & \cdot & &\cdot \\ 420 | \cdot & \cdot & & & \cdot & \cdot \\ 421 | \alpha_{1}^{k}& \alpha_{2}^{k} & \cdot & \cdot &\cdot & \alpha_{m}^{k} 422 | \end{bmatrix}_{k\times m} \\ 423 | & =\begin{bmatrix} 424 | \sum_{j=1}^{k}b_{j}^{1}\alpha _{1}^{j} &\sum_{j=1}^{k}b_{j}^{1}\alpha _{2}^{j} & \cdot & \cdot & \cdot & \sum_{j=1}^{k}b_{j}^{1}\alpha _{m}^{j}\\ 425 | \sum_{j=1}^{k}b_{j}^{2}\alpha _{1}^{j} &\sum_{j=1}^{k}b_{j}^{2}\alpha _{2}^{j} & \cdot & \cdot & \cdot & \sum_{j=1}^{k}b_{j}^{2}\alpha _{m}^{j}\\ 426 | \cdot & \cdot & \cdot & & & \cdot \\ 427 | \cdot & \cdot & & \cdot & &\cdot \\ 428 | \cdot & \cdot & & & \cdot & \cdot \\ 429 | \sum_{j=1}^{k}b_{j}^{d}\alpha _{1}^{j}& \sum_{j=1}^{k}b_{j}^{d}\alpha _{2}^{j} & \cdot & \cdot &\cdot & \sum_{j=1}^{k}b_{j}^{d}\alpha _{m}^{j} 430 | \end{bmatrix}_{d\times m} & 431 | \end{aligned} 432 | $$ 433 | 434 | 435 | 436 | 437 | 438 | 439 | $$ 440 | \begin{aligned} 441 | \boldsymbol b_{\boldsymbol j}\boldsymbol \alpha ^{\boldsymbol j} 442 | & =\begin{bmatrix} 443 | b_{j}^{1}\\ b_{j}^{2} 444 | \\ \cdot 445 | \\ \cdot 446 | \\ \cdot 447 | \\ b_{j}^{d} 448 | \end{bmatrix}\cdot 449 | \begin{bmatrix} 450 | \alpha _{1}^{j}& \alpha _{2}^{j} & \cdot & \cdot & \cdot & \alpha _{m}^{j} 451 | \end{bmatrix}\\ 452 | & =\begin{bmatrix} 453 | b_{j}^{1}\alpha _{1}^{j} &b_{j}^{1}\alpha _{2}^{j} & \cdot & \cdot & \cdot & b_{j}^{1}\alpha _{m}^{j}\\ 454 | b_{j}^{2}\alpha _{1}^{j} &b_{j}^{2}\alpha _{2}^{j} & \cdot & \cdot & \cdot & b_{j}^{2}\alpha _{m}^{j}\\ 455 | \cdot & \cdot & \cdot & & & \cdot \\ 456 | \cdot & \cdot & & \cdot & &\cdot \\ 457 | \cdot & \cdot & & & \cdot & \cdot \\ 458 | b_{j}^{d}\alpha _{1}^{j}& b_{j}^{d}\alpha _{2}^{j} & \cdot & \cdot &\cdot & b_{j}^{d}\alpha _{m}^{j} 459 | \end{bmatrix}_{d\times m} & 460 | \end{aligned} 461 | $$ 462 | 463 | 464 | 465 | 466 | 求和可得: 467 | 468 | $$ 469 | \begin{aligned} 470 | \sum_{j=1}^{k}\boldsymbol b_{\boldsymbol j}\boldsymbol \alpha ^{\boldsymbol j} 471 | & = \sum_{j=1}^{k}\left (\begin{bmatrix} 472 | b_{j}^{1}\\ b_{j}^{2} 473 | \\ \cdot 474 | \\ \cdot 475 | \\ \cdot 476 | \\ b_{j}^{d} 477 | \end{bmatrix}\cdot 478 | \begin{bmatrix} 479 | \alpha _{1}^{j}& \alpha _{2}^{j} & \cdot & \cdot & \cdot & \alpha _{m}^{j} 480 | \end{bmatrix} \right )\\ 481 | & =\begin{bmatrix} 482 | \sum_{j=1}^{k}b_{j}^{1}\alpha _{1}^{j} &\sum_{j=1}^{k}b_{j}^{1}\alpha _{2}^{j} & \cdot & \cdot & \cdot & \sum_{j=1}^{k}b_{j}^{1}\alpha _{m}^{j}\\ 483 | \sum_{j=1}^{k}b_{j}^{2}\alpha _{1}^{j} &\sum_{j=1}^{k}b_{j}^{2}\alpha _{2}^{j} & \cdot & \cdot & \cdot & \sum_{j=1}^{k}b_{j}^{2}\alpha _{m}^{j}\\ 484 | \cdot & \cdot & \cdot & & & \cdot \\ 485 | \cdot & \cdot & & \cdot & &\cdot \\ 486 | \cdot & \cdot & & & \cdot & \cdot \\ 487 | \sum_{j=1}^{k}b_{j}^{d}\alpha _{1}^{j}& \sum_{j=1}^{k}b_{j}^{d}\alpha _{2}^{j} & \cdot & \cdot &\cdot & \sum_{j=1}^{k}b_{j}^{d}\alpha _{m}^{j} 488 | \end{bmatrix}_{d\times m} & 489 | \end{aligned} 490 | $$ 491 | 492 | 493 | 得证。 494 | 495 | 将矩阵$\mathbf{B}$分解成矩阵列$\boldsymbol{b}_j,j=1,2,\dots,k$带来一个好处,即和11.16的原理相同,矩阵列与列之间无关,因此可以分别优化各个列,即将$\min\limits_\mathbf{B}\Vert\dots\mathbf{B}\dots\Vert^2_F$转化成了$\min\limits_{b_i}\Vert\dots\boldsymbol{b}_i\dots\Vert^2_F$,得到第三行的等式之后,再利用文中介绍的K-SVD算法求解即可。 496 | 497 | ## 11.5 K-SVD算法 498 | 499 | 本节前半部分铺垫概念,后半部分核心就是K-SVD。作为字典学习的最经典的算法,K-SVD[2]自2006年发表以来已逾万次引用。理解K-SVD的基础是SVD,即奇异值分解,参见"西瓜书"附录A.3。 500 | 501 | 对于任意实矩阵 $\mathbf{A} \in \mathbb{R}^{m \times n}$, 都可分解为 502 | $\mathbf{A}=\mathbf{U} \boldsymbol{\Sigma} \mathbf{V}^{\top}$, 其中 503 | $\mathbf{U} \in \mathbb{R}^{m \times m}, \mathbf{V} \in \mathbb{R}^{n \times n}$, 504 | 分别为 $m$ 阶和 $n$ 阶正交矩阵 (复数域时称为酉矩阵), 即 505 | $\mathbf{U}^{\top} \mathbf{U}=\mathbf{I}, \mathbf{V}^{\top} \mathbf{V}=\mathbf{I}$ 506 | (逆矩阵等于 自身的转置), 507 | $\boldsymbol{\Sigma} \in \mathbb{R}^{m \times n}$, 且除 508 | $(\boldsymbol{\Sigma})_{i i}=\sigma_i$ 之外其它位置的元素均为零, 509 | $\sigma_i$ 称为奇异值, 可以证明, 矩阵 $\mathrm{A}$ 510 | 的秩等于非零奇异值的个数。 511 | 512 | 正如西瓜书附录 A.3 所述, K-SVD 分解中主要使用 SVD 513 | 解决低秩矩阵近似问题。之所 以称为 K-SVD, 原文献中专门有说明: 514 | 515 | We shall call this algorithm \"K-SVD\" to parallel the name 516 | $\mathrm{K}$-means. While K-means applies K computations of means to 517 | update the codebook, K-SVD obtains the updated dictionary by K SVD 518 | computations, each determining one column. 519 | 520 | 具体来说, 就是原文献中的字典共有 $\mathrm{K}$ 个原子 (列), 因此需要迭代 521 | $\mathrm{K}$ 次,这类似于 $\mathrm{K}$均值算法欲将数据聚成 $\mathrm{K}$ 522 | 个簇, 需要计算 $\mathrm{K}$ 次均值。 523 | 524 | K-SVD算法伪代码详如图11-1所示, 其中符号与本节符号有差异。具体来说, 525 | 原文献中字典矩阵用 $\mathbf{D}$ 表示 (书中用 $\mathrm{B}$ ), 稀疏系数用 526 | $\mathbf{x}_i$ 表示 (书中用 $\boldsymbol{\alpha}_i$ ), 数据集用 527 | $\mathbf{Y}$ 表示 (书中用$\mathrm{X}$)。 528 | 529 | ![图11-1 K-SVD算法在论文中的描述](https://datawhale-business.oss-cn-hangzhou.aliyuncs.com/3659/dashboard/1729869698433/ksvd.svg) 530 | 531 | 在初始化字典矩阵D以后, K-SVD 算法迭代过程分两步: 第 1 步 Sparse Coding 532 | Stage 就是普通的已知字典矩阵 $\mathbf{D}$ 的稀疏表示问题, 533 | 可以使用很多现成的算法完成此步, 不再详述; K-SVD 的核心创新点在第 2 步 534 | Codebook Update Stage, 在该步骤中分 K 次分别更新字典矩 阵 $\mathbf{D}$ 535 | 中每一列, 更新第 $k$ 列 $\mathbf{d}_k$ 时其它各列都是固定的, 536 | 如原文献式(21)所示: 537 | 538 | $$ 539 | \begin{aligned} 540 | \|\mathbf{Y}-\mathbf{D X}\|_F^2 & =\left\|\mathbf{Y}-\sum_{j=1}^K \mathbf{d}_j \mathbf{x}_T^j\right\|_F^2 \\ 541 | & =\left\|\left(\mathbf{Y}-\sum_{j \neq k} \mathbf{d}_j \mathbf{x}_T^j\right)-\mathrm{d}_k \mathbf{x}_T^k\right\|_F^2 \\ 542 | & =\left\|\mathbf{E}_k-\mathbf{d}_k \mathrm{x}_T^k\right\|_F^2 . 543 | \end{aligned} 544 | $$ 545 | 546 | 547 | 548 | 549 | 注意, 矩阵 $\mathbf{d}_k \mathbf{x}_T^k$ 的秩为 1 (其中, 550 | $\mathbf{x}_T^k$ 表示稀疏系数矩阵 $\mathbf{X}$ 的第 $k$ 行, 以区别于其第 551 | $k$ 列 $\mathbf{x}_k$ ), 对比西瓜书附录 A.3 中的式(A.34), 552 | 这就是一个低秩矩阵近似问题, 即对于给定矩阵 $\mathbf{E}_k$, 求 其最优 1 553 | 秩近似矩阵 $\mathbf{d}_k \mathbf{x}_T^k$; 此时可对 $\mathbf{E}_k$ 进行 554 | SVD 分解, 类似于西瓜书附录式(A.35), 仅保 留最大的 1 个奇异值; 具体来说 555 | $\mathbf{E}_k=\mathbf{U} \Delta \mathbf{V}^{\top}$, 仅保留 $\Delta$ 556 | 中最大的奇异值 $\Delta(1,1)$, 则 557 | $\mathbf{d}_k \mathbf{x}_T^k=\mathbf{U}_1 \boldsymbol{\Delta}(1,1) \mathbf{V}_1^{\top}$, 558 | 其 中 $\mathbf{U}_1, \mathbf{V}_1$ 分 别 为 $\mathbf{U}, \mathbf{V}$ 的 559 | 第 1 列, 此时 $\mathbf{d}_k=\mathbf{U}_1$, 560 | $\mathbf{x}_T^k=\boldsymbol{\Delta}(1,1) \mathbf{V}_1^{\top}$ 561 | 。但这样更新会破坏第 1 步中得到的稀疏系数的稀疏性 ! 562 | 563 | 为了保证第 1 步中得到的稀疏系数的稀疏性, K-SVD 并不直接对 $\mathbf{E}_k$ 564 | 进行 SVD 分解, 而是根据 $\mathbf{x}_T^k$ 仅取出与 $\mathrm{x}_T^k$ 565 | 非零元素对应的部分列, 例如行向量 $\mathbf{x}_T^k$ 只有第 1、3、5、8、9 566 | 个元 素非零, 则仅取出 $\mathbf{E}_k$ 的第 1、3、5、8、9 列组成矩阵进行 567 | $\operatorname{SVD}$ 分解 568 | $\mathbf{E}_k^R=\mathbf{U} \Delta \mathrm{V}^{\top}$, 则 569 | 570 | 571 | $$ 572 | \tilde{\mathbf{d}}_k=\mathbf{U}_1, \quad \tilde{\mathbf{x}}_T^k=\boldsymbol{\Delta}(1,1) \mathbf{V}_1^{\top} 573 | $$ 574 | 575 | 576 | 577 | 578 | 即得到更新后的 $\tilde{\mathbf{d}}_k$ 和 $\tilde{\mathbf{x}}_T^k$ (注意, 579 | 此时的行向量 $\tilde{\mathbf{x}}_T^k$ 长度仅为原 $\mathbf{x}_T^k$ 580 | 非零元素个数, 需要按原 $\mathbf{x}_T^k$ 对其余位置填 0)。如此迭代 K 581 | 次即得更新后的字典矩阵 $\tilde{\mathbf{D}}$, 以供下一轮 Sparse Coding 582 | 使用。 $\mathrm{K}-\mathrm{SVD}$ 原文献中特意提到, 在 K 583 | 次迭代中要使用最新的稀疏系数 $\tilde{\mathbf{x}}_T^k$, 584 | 但并没有说是否要用 最新的 $\tilde{\mathbf{d}}_k$ (推测应该也要用最新的 585 | $\tilde{\mathbf{d}}_k$ )。 586 | 587 | ## 11.6 压缩感知 588 | 589 | 虽然压缩感知与稀疏表示关系密切, 但它是彻彻底底的信号处理领域的概念。 590 | "西瓜书"在本章有几个专业术语翻译与信号处理领域人士的习惯翻译略不一样:比如第 591 | 258 页的 Restricted Isometry Property (RIP)"西瓜书"翻译为 "限定等距性", 592 | 信号处理领域一般翻译为 "有限等距性质"; 第 259 页的 Basis Pursuit 593 | De-Noising、第 261 页 的 Basis Pursuit 和 Matching Pursuit 中的 594 | "Pursuit" "西瓜书"翻译为 "寻踪", 信号处理领域一般 翻译为 "追踪", 595 | 即基追踪降噪、基追踪、匹配追踪。 596 | 597 | ### 11.6.1 式(11.21)的解释 598 | 599 | 将式(11.21)进行变形 600 | 601 | 602 | $$ 603 | \left(1-\delta_k\right) \leqslant \frac{\left\|\mathbf{A}_k \boldsymbol{s}\right\|_2^2}{\|\boldsymbol{s}\|_2^2} \leqslant\left(1+\delta_k\right) 604 | $$ 605 | 606 | 607 | 608 | 注意不等式中间, 若 $s$ 为输入信号, 则分母 $\|\boldsymbol{s}\|_2^2$ 609 | 为输入信号的能量, 分子 $\left\|\mathrm{A}_k \boldsymbol{s}\right\|_2^2$ 610 | 为对应的 观测信号的能量, 即 RIP 611 | 要求观测信号与输入信号的能量之比在一定的范围之内; 例如当 $\delta_k$ 等于 612 | 0 时, 观测信号与输入信号的能量相等, 613 | 即实现了等距变换,相关文献可以参考[3]; 614 | RIP 放松了对矩阵A 的约 束 (而且 $\mathrm{A}$ 并非方阵), 因此称为 "有限" 615 | 等距性质。 616 | 617 | ### 11.6.2 式(11.25)的解释 618 | 619 | 该式即为核范数定义: 矩阵的核范数(迹范数)为矩阵的奇异值之和。 620 | 621 | 有关 "凸包" 的概念, 引用百度百科里的两句原话: 在二维欧几里得空间中, 622 | 凸包可想 象为一条刚好包著所有点的橡皮圈; 用不严谨的话来讲, 623 | 给定二维平面上的点集, 凸包就是将最外层的点连接起来构成的凸多边形, 624 | 它能包含点集中所有的点。 625 | 626 | 个人理解, 将 $\operatorname{rank}(\mathbf{X})$ 的 "凸包" 是 $\mathbf{X}$ 627 | 的核范数 $\|\mathbf{X}\|_*$ 这件事简单理解为 $\|\mathbf{X}\|_*$ 是 628 | $\operatorname{rank}(\mathbf{X})$ 的上限即可, 即 $\|\mathbf{X}\|_*$ 629 | 恒大于 $\operatorname{rank}(\mathbf{X})$, 类似于式(11.10)中的式子恒大于 630 | $f(\boldsymbol{x})$ 。 631 | 632 | ## 参考文献 633 | [1] Wikipedia contributors. Sign function, 2020. 634 | 635 | [2] Michal Aharon, Michael Elad, and Alfred Bruckstein. K-svd: An algorithm for designing overcomplete 636 | dictionaries for sparse representation. IEEE Transactions on signal processing, 54(11):4311–4322, 2006. 637 | 638 | [3] 杨孝春. 欧氏空间中的等距变换与等距映射. 四川工业学院学报, 1999. 639 | -------------------------------------------------------------------------------- /docs/chapter15/chapter15.md: -------------------------------------------------------------------------------- 1 | # 第15章 规则学习 2 | 3 | 规则学习是"符号主义学习"的代表性方法,用来从训练数据中学到一组能对未见示例进行判别的规则,形如"如果A或B,并且C的条件下,D满足"这样的形式。因为这种学习方法更加贴合人类从数据中学到经验的描述,具有非常良好的可解释性,是最早开始研究机器学习的技术之一。 4 | 5 | ## 15.1 剪枝优化 6 | 7 | ### 15.1.1 式(15.2)和式(15.3)的解释 8 | 9 | 似然率统计量LRS定义为: 10 | 11 | $$\mathrm{LRS}=2 \cdot\left(\hat{m}_{+} \log _{2} \frac{\left(\frac{\hat{m}_{+}}{\hat{m}_{+}+\hat{m}_{-}}\right)}{\left(\frac{m_{+}}{m_{+}+m_{-}}\right)}+\hat{m}_{-} \log _{2} \frac{\left(\frac{\hat{m}_{-}}{\hat{m}_{+}+\hat{m}_{-}}\right)}{\left(\frac{m_{-}}{m_{+}+m_{-}}\right)}\right)$$ 12 | 13 | 同时,根据对数函数的定义,我们可以对式(15.3)进行化简: 14 | 15 | $$\begin{aligned} 16 | \mathrm{F}_{-} \text {Gain }&=\hat{m}_{+} \times\left(\log _{2} \frac{\hat{m}_{+}}{\hat{m}_{+}+\hat{m}_{-}}-\log _{2} \frac{m_{+}}{m_{+}+m_{-}}\right)\\ 17 | &=\hat{m}_{+}\left(\log_{2}\frac{\frac{\hat{m}_{+}}{\hat{m}_{+}+\hat{m}_{-}}}{\frac{m_{+}}{m_{+}+m_{-}}}\right) 18 | \end{aligned}$$ 19 | 20 | 可以观察到F_Gain即为式(15.2)中LRS求和项中的第一项。这里"西瓜书"中做了详细的解释,FOIL仅考虑正例的信息量,由于关系数据中正例数旺旺远少于反例数,因此通常对正例应该赋予更多的关注。 21 | 22 | ## 15.2 归纳逻辑程序设计 23 | 24 | ### 15.2.1 式(15.6)的解释 25 | 26 | 定义析合范式的删除操作符为"$-$",表示在$A$和$B$的析合式中删除成分$B$,得到成分$A$。 27 | 28 | ### 15.2.2 式(15.7)的推导 29 | 30 | $C=A\vee B$,把$A=C_1 - \{L\}$和$L=C_2-\{\neg L\}$带入即得。 31 | 32 | ### 15.2.3 式(15.9)的推导 33 | 34 | 根据式(15.7) $C=\left(C_1-\{L\}\right) \vee\left(C_2-\{\neg L\}\right)$ 35 | 和析合范式的删除操作,等式两边同时删除析合项$C_2-\{\neg L\}$有: 36 | 37 | $$C - (C_1 - \{L\}) = C_2-\{\neg L\}$$ 38 | 39 | 再次运用析合范式删除操作符的逆定义,等式两边同时加上析合项$\{\neg L\}$有: 40 | 41 | $$C_2=\left(C-\left(C_1-\{L\}\right)\right) \vee\{\neg L\}$$ 42 | 43 | ### 15.2.4 式(15.10)的解释 44 | 45 | 该式是吸收(absorption)操作的定义。注意作者在文章中所用的符号定义,用 46 | $\frac{X}{Y}$ 表示 $X$ 蕴含 47 | $Y$,${X}$的子句或是${Y}$的归结项,或是$Y$中某个子句的等价项。所谓吸收,是指替换部分逻辑子句(大写字母),生成一个新的逻辑文字(小写字母)用于定义这些被替换的逻辑子句。在式(15.10)中,逻辑子句$A$被逻辑文字$q$替换。 48 | 49 | ### 15.2.5 式(15.11)的解释 50 | 51 | 该式是辨识(identification)操作的定义。辨识操作依据已知的逻辑文字,构造新的逻辑子句和文字的关系。在式(15.11)中,已知$p \leftarrow A \wedge B$和$p \leftarrow A \wedge q$,构造的新逻辑文字为$q \leftarrow B$。 52 | 53 | ### 15.2.6 式(15.12)的解释 54 | 55 | 该式是内构(intra-construction)操作的定义。内构操作找到关于同一逻辑文字中的共同逻辑子句部分,并且提取其中不同的部分作为新的逻辑文字。在式(15.12)中,逻辑文字$p \leftarrow A \wedge B$和$p \leftarrow A \wedge C$的共同部分为$p \leftarrow A \wedge q$,其中新逻辑文字$q \leftarrow B \quad q \leftarrow C$。 56 | 57 | ### 15.2.7 式(15.13)的解释 58 | 59 | 该式是互构(inter-construction)操作的定义。互构操作找到不同逻辑文字中的共同逻辑子句部分,并定义新的逻辑文字已描述这个共同的逻辑子句。在式(15.13)中,逻辑文字$p \leftarrow A \wedge B$ 60 | 和 61 | $q \leftarrow A \wedge C$的共同逻辑子句$A$提取出来,并用逻辑文字定义为$r \leftarrow A$。逻辑文字$p$和$q$的定义也用$r$做相应的替换得到$p \leftarrow r \wedge B$与$q \leftarrow r \wedge C$。 62 | 63 | ### 15.2.8 式(15.16)的推导 64 | 65 | $\theta_1$为作者笔误,由15.9 66 | 67 | $$\begin{aligned} 68 | C_{2}&=\left(C-\left(C_{1}-\{L_1\}\right)\right) \vee\{L_2\}\\ 69 | \end{aligned}$$ 70 | 71 | 因为 $L_2=(\neg L_1\theta_1)\theta_2^{-1}$,替换得证。 72 | -------------------------------------------------------------------------------- /docs/chapter16/chapter16.md: -------------------------------------------------------------------------------- 1 | # 第16章 强化学习 2 | 3 | 强化学习作为机器学习的子领域,其本身拥有一套完整的理论体系,以及诸多经典和最新前沿算法,"西瓜书"该章内容仅可作为综述查阅,若想深究建议查阅其他相关书籍(例如《Easy 4 | RL:强化学习教程》[1])进行系统性学习。 5 | 6 | ## 16.1 任务与奖赏 7 | 8 | 本节理解强化学习的定义和相关术语的含义即可。 9 | 10 | ## 16.2 K-摇臂赌博机 11 | 12 | ### 16.2.1 式(16.2)和式(16.3)的推导 13 | 14 | $$\begin{aligned} 15 | Q_{n}(k)&=\frac{1}{n}\sum_{i=1}^{n}v_{i}\\ 16 | &=\frac{1}{n}\left(\sum_{i=1}^{n-1}v_{i}+v_{n}\right)\\ 17 | &=\frac{1}{n}\left((n-1)\times Q_{n-1}(k)+v_{n}\right)\\ 18 | &=Q_{n-1}(k)+\frac{1}{n}\left(v_n-Q_{n-1}(k)\right) 19 | \end{aligned}$$ 20 | 21 | ### 16.2.2 式(16.4)的解释 22 | 23 | $$P(k)=\frac{e^{\frac{Q(k)}{\tau }}}{\sum_{i=1}^{K}e^{\frac{Q(i)}{\tau}}}\propto e^{\frac{Q(k)}{\tau }}\propto\frac{Q(k)}{\tau }\propto\frac{1}{\tau}$$ 24 | 25 | 如果$\tau$很大,所有动作几乎以等概率选择(探索);如果 26 | $\tau$很小,$Q$值大的动作更容易被选中(利用)。 27 | 28 | ## 16.3 有模型学习 29 | 30 | ### 16.3.1 式(16.7)的解释 31 | 32 | 因为 33 | 34 | $$\pi(x,a)=P(action=a|state=x)$$ 35 | 36 | 表示在状态$x$下选择动作$a$的概率,又因为动作事件之间两两互斥且和为动作空间,由全概率展开公式 37 | 38 | $$P(A)=\sum_{i=1}^{\infty}P(B_{i})P(A\mid B_{i})$$ 39 | 40 | 可得 41 | 42 | $$\begin{aligned} 43 | &\mathbb{E}_{\pi}[\frac{1}{T}r_{1}+\frac{T-1}{T}\frac{1}{T-1}\sum_{t=2}^{T}r_{t}\mid x_{0}=x]\\ 44 | &=\sum_{a\in A}\pi(x,a)\sum_{x{}'\in X}P_{x\rightarrow x{}'}^{a}(\frac{1}{T}R_{x\rightarrow x{}'}^{a}+\frac{T-1}{T}\mathbb{E}_{\pi}[\frac{1}{T-1}\sum_{t=1}^{T-1}r_{t}\mid x_{0}=x{}']) 45 | \end{aligned}$$ 46 | 47 | 其中 48 | 49 | $$r_{1}=\pi(x,a)P_{x\rightarrow x{}'}^{a}R_{x\rightarrow x{}'}^{a}$$ 50 | 51 | 最后一个等式用到了递归形式。 52 | 53 | Bellman等式定义了当前状态与未来状态之间的关系,表示当前状态的价值函数可以通过下个状态的价值函数来计算。 54 | 55 | ### 16.3.2 式(16.8)的推导 56 | 57 | $$\begin{aligned} 58 | V_{\gamma }^{\pi}(x)&=\mathbb{E}_{\pi}[\sum_{t=0}^{\infty }\gamma^{t}r_{t+1}\mid x_{0}=x]\\ 59 | &=\mathbb{E}_{\pi}[r_{1}+\sum_{t=1}^{\infty}\gamma^{t}r_{t+1}\mid x_{0}=x]\\ 60 | &=\mathbb{E}_{\pi}[r_{1}+\gamma\sum_{t=1}^{\infty}\gamma^{t-1}r_{t+1}\mid x_{0}=x]\\ 61 | &=\sum _{a\in A}\pi(x,a)\sum_{x{}'\in X}P_{x\rightarrow x{}'}^{a}(R_{x\rightarrow x{}'}^{a}+\gamma \mathbb{E}_{\pi}[\sum_{t=0}^{\infty }\gamma^{t}r_{t+1}\mid x_{0}=x{}'])\\ 62 | &=\sum _{a\in A}\pi(x,a)\sum_{x{}'\in X}P_{x\rightarrow x{}'}^{a}(R_{x\rightarrow x{}'}^{a}+\gamma V_{\gamma }^{\pi}(x{}')) 63 | \end{aligned}$$ 64 | 65 | ### 16.3.3 式(16.10)的推导 66 | 67 | 参见式(16.7)和式(16.8)的推导 68 | 69 | ### 16.3.4 式(16.14)的解释 70 | 71 | 为了获得最优的状态值函数$V$,这里取了两层最优,分别是采用最优策略$\pi^{*}$和选取使得状态动作值函数$Q$最大的动作$\max_{a\in A}$。 72 | 73 | ### 16.3.5 式(16.15)的解释 74 | 75 | 最优 Bellman等式表明:最佳策略下的一个状态的价值必须等于在这个状态下采取最好动作得到的累积奖赏值的期望。 76 | 77 | ### 16.3.6 式(16.16)的推导 78 | 79 | $$\begin{aligned} 80 | V^{\pi}(x) & \leqslant Q^{\pi}\left(x, \pi^{\prime}(x)\right) \\ 81 | &=\sum_{x^{\prime} \in X} P_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}\left(R_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}+\gamma V^{\pi}\left(x^{\prime}\right)\right) \\ 82 | & \leqslant \sum_{x^{\prime} \in X} P_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}\left(R_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}+\gamma Q^{\pi}\left(x^{\prime}, \pi^{\prime}\left(x^{\prime}\right)\right)\right) \\ 83 | &= \sum_{x^{\prime} \in X} P_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}\left(R_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}+ 84 | \sum_{x'^{\prime} \in X} P_{x' \rightarrow x^{''}}^{\pi^{\prime}(x')}\left(\gamma R_{x' \rightarrow x^{\prime \prime}}^{\pi^{\prime}(x')}+ 85 | \gamma^2 V^{\pi}\left(x^{\prime \prime}\right)\right)\right)\\ 86 | & \leqslant \sum_{x^{\prime} \in X} P_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}\left(R_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}+ \sum_{x'^{\prime} \in X} P_{x' \rightarrow x^{''}}^{\pi^{\prime}(x')} \left( \gamma R_{x' \rightarrow x^{\prime \prime}}^{\pi^{\prime}(x')} + 87 | \gamma^2 Q^{\pi}\left(x^{\prime \prime}, \pi^{\prime }\left(x^{\prime \prime}\right)\right)\right)\right) \\ 88 | &\leqslant \cdots \\ 89 | &\leqslant \sum_{x^{\prime} \in X} P_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}\left(R_{x \rightarrow x^{\prime}}^{\pi^{\prime}(x)}+\sum_{x'^{\prime} \in X} P_{x' \rightarrow x^{''}}^{\pi^{\prime}(x')}\left(\gamma R_{x' \rightarrow x^{\prime \prime}}^{\pi^{\prime}(x')}+\sum_{x'^{\prime} \in X} P_{x'' \rightarrow x^{'''}}^{\pi^{\prime}(x'')} \left(\gamma^2 R_{x'' \rightarrow x^{\prime \prime \prime}}^{\pi^{\prime}(x'')}+\cdots \right)\right)\right) \\ 90 | &= V^{\pi'}(x) 91 | \end{aligned}$$ 92 | 93 | 其中,使用了动作改变条件 94 | 95 | $$Q^{\pi}(x,\pi{}'(x))\geqslant V^{\pi}(x)$$ 96 | 97 | 以及状态-动作值函数 98 | 99 | $$Q^{\pi}(x{}',\pi{}'(x{}'))=\sum_{x{}'\in X}P_{x{}'\rightarrow x{}'}^{\pi{}'(x{}')}(R_{x{}'\rightarrow x{}'}^{\pi{}'(x{}')}+\gamma V^{\pi}(x{}'))$$ 100 | 101 | 于是,当前状态的最优值函数为 102 | 103 | $$V^{\ast}(x)=V^{\pi{}'}(x)\geqslant V^{\pi}(x)$$ 104 | 105 | ## 16.4 免模型学习 106 | 107 | ### 16.4.1 式(16.20)的解释 108 | 109 | 如果 $\epsilon_k=\frac{1}{k}$,并且其值随 $k$ 增大而主角趋于零,则$\epsilon-$ 贪心是在无限的探索中的极限贪心(Greedy in the Limit with Infinite Exploration,简称GLIE)。 110 | 111 | ### 16.4.2 式(16.23)的解释 112 | 113 | $\frac{p(x)}{q(x)}$称为重要性权重(Importance 114 | Weight),其用于修正两个分布的差异。 115 | 116 | ### 16.4.3 式(16.31)的推导 117 | 118 | 对比公式16.29 119 | 120 | $$Q_{t+1}^{\pi}(x,a)=Q_{t}^{\pi}(x,a)+\frac{1}{t+1}(r_{t+1}-Q_{t}^{\pi}(x,a))$$ 121 | 122 | 以及由 123 | 124 | $$\frac{1}{t+1}=\alpha$$ 125 | 126 | 可知,若下式成立,则公式16.31成立 127 | 128 | $$r_{t+1}=R_{x\rightarrow x{}'}^{a}+\gamma Q_{t}^{\pi}(x{}',a{}')$$ 129 | 130 | 而$r_{t+1}$表示$t+1$步的奖赏,即状态$x$变化到$x'$的奖赏加上前面$t$步奖赏总和$Q_{t}^{\pi}(x{}',a{}')$的$\gamma$折扣,因此这个式子成立。 131 | 132 | ## 16.5 值函数近似 133 | 134 | ### 16.5.1 式(16.33)的解释 135 | 136 | 古代汉语中"平方"称为"二乘",此处的最小二乘误差也就是均方误差。 137 | 138 | ### 16.5.2 式(16.34)的推导 139 | 140 | $$\begin{aligned} 141 | -\frac{\partial E_{\boldsymbol{\theta}}}{\partial \boldsymbol{\theta}} & = -\frac{\partial \mathbb{E}_{\boldsymbol{x} \sim \pi}\left[\left(V^\pi(\boldsymbol{x})-V_{\boldsymbol{\theta}}(\boldsymbol{x})\right)^2\right]}{\partial \boldsymbol{\theta}}\\ 142 | \end{aligned}$$ 143 | 144 | 将$V^\pi(\boldsymbol{x})-V_{\boldsymbol{\theta}}(\boldsymbol{x})$ 145 | 看成一个整体,根据链式法则(chain rule)可知 146 | 147 | $$-\frac{\partial \mathbb{E}_{\boldsymbol{x} \sim \pi}\left[\left(V^\pi(\boldsymbol{x})-V_{\boldsymbol{\theta}}(\boldsymbol{x})\right)^2\right]}{\partial \boldsymbol{\theta}}=\mathbb{E}_{\boldsymbol{x} \sim \pi}\left[2\left(V^\pi(\boldsymbol{x})-V_{\boldsymbol{\theta}}(\boldsymbol{x})\right) \frac{\partial V_{\boldsymbol{\theta}}(\boldsymbol{x})}{\partial \boldsymbol{\theta}}\right]$$ 148 | 149 | $V_{\boldsymbol{\theta}}(\boldsymbol{x})$ 150 | 是一个标量,$\boldsymbol{\theta}$ 151 | 是一个向量,$\frac{\partial V_{\boldsymbol{\theta}}(\boldsymbol{x})}{\partial \boldsymbol{\theta}}$ 152 | 属于矩阵微积分中的标量对向量求偏导,因此 153 | 154 | $$\begin{aligned} 155 | \frac{\partial V_{\boldsymbol{\theta}}(\boldsymbol{x})}{\partial \boldsymbol{\theta}}&= 156 | \frac{\partial \boldsymbol{\theta}^\mathrm{T}{\boldsymbol{x}}}{\partial \boldsymbol{\theta}} \\ 157 | & =\left[\frac{\partial \boldsymbol{\theta}^{\mathrm{T}} \boldsymbol{x}}{\partial \theta_1}, \frac{\partial \boldsymbol{\theta}^{\mathrm{T}} \boldsymbol{x}}{\partial \theta_2}, \cdots,\frac{\partial \boldsymbol{\theta}^{\mathrm{T}}\boldsymbol{x}}{\partial \theta_n}\right]^{\mathrm{T}} \\ 158 | & =\left[x_1, x_2, \cdots,x_m\right]^{\mathrm{T}} \\ 159 | & =\boldsymbol{x} 160 | \end{aligned}$$ 161 | 162 | 故 163 | 164 | $$\begin{aligned} 165 | -\frac{\partial E_{\boldsymbol{\theta}}}{\partial \boldsymbol{\theta}} & =\mathbb{E}_{\boldsymbol{x} \sim \pi}\left[2\left(V^\pi(\boldsymbol{x})-V_{\boldsymbol{\theta}}(\boldsymbol{x})\right) \frac{\partial V_{\boldsymbol{\theta}}(\boldsymbol{x})}{\partial \boldsymbol{\theta}}\right] \\ 166 | & =\mathbb{E}_{\boldsymbol{x} \sim \pi}\left[2\left(V^\pi(\boldsymbol{x})-V_{\boldsymbol{\theta}}(\boldsymbol{x})\right) \boldsymbol{x}\right] 167 | \end{aligned}$$ 168 | 169 | ## 参考文献 170 | [1] 王琦,杨毅远,江季. Easy RL:强化学习教程. 人民邮电出版社, 2022. 171 | -------------------------------------------------------------------------------- /docs/chapter2/chapter2.md: -------------------------------------------------------------------------------- 1 | ```{important} 2 | 参与组队学习的同学须知: 3 | 4 | 本章学习时间:1.5天 5 | 6 | 本章配套视频教程正在赶制中,先自行看书学习,第2章严格来说是在学完具体机器学习算法(第3章及其以后章节的内容)后再来学的,因此本章能看懂多少就看多少,只需看到2.3.2即可,【2.3.3-ROC与AUC】及其以后的暂时都可以跳过,等学完后面的算法再回来认真研读。 7 | ``` 8 | 9 | # 第2章 模型评估与选择 10 | 11 | 如"西瓜书"前言所述,本章仍属于机器学习基础知识,如果说第1章介绍了什么是机器学习及机器学习的相关数学符号,那么本章则进一步介绍机器学习的相关概念。具体来说,介绍内容正如本章名称"模型评估与选择"所述,讲述的是如何评估模型的优劣和选择最适合自己业务场景的模型。 12 | 13 | 由于"模型评估与选择"是在模型产出以后进行的下游工作,要想完全吸收本章内容需要读者对模型有一些基本的认知,因此零基础的读者直接看本章会很吃力,实属正常,在此建议零基础的读者可以简单泛读本章,仅看能看懂的部分即可,或者直接跳过本章从第3章开始看,直至看完第6章以后再回头来看本章便会轻松许多。 14 | 15 | ## 2.1 经验误差与过拟合 16 | 17 | 梳理本节的几个概念。 18 | 19 | **错误率**:$E=\frac{a}{m}$,其中$m$为样本个数,$a$为分类错误样本个数。 20 | 21 | **精度**:精度=1-错误率。 22 | 23 | **误差**:学习器的实际预测输出与样本的真实输出之间的差异。 24 | 25 | **经验误差**:学习器在训练集上的误差,又称为"训练误差"。 26 | 27 | **泛化误差**:学习器在新样本上的误差。 28 | 29 | 经验误差和泛化误差用于分类问题的定义式可参见"西瓜书"第12章的式(12.1)和式(12.2),接下来辨析一下以上几个概念。 30 | 31 | 错误率和精度很容易理解,而且很明显是针对分类问题的。误差的概念更适用于回归问题,但是,根据"西瓜书"第12章的式(12.1)和式(12.2)的定义可以看出,在分类问题中也会使用误差的概念,此时的"差异"指的是学习器的实际预测输出的类别与样本真实的类别是否一致,若一致则"差异"为0,若不一致则"差异"为1,训练误差是在训练集上差异的平均值,而泛化误差则是在新样本(训练集中未出现过的样本)上差异的平均值。 32 | 33 | **过拟合**是由于模型的学习能力相对于数据来说过于强大,反过来说,**欠拟合**是因为模型的学习能力相对于数据来说过于低下。暂且抛开"没有免费的午餐"定理不谈,例如对于"西瓜书"第1章图1.4中的训练样本(黑点)来说,用类似于抛物线的曲线A去拟合则较为合理,而比较崎岖的曲线B相对于训练样本来说学习能力过于强大,但若仅用一条直线去训练则相对于训练样本来说直线的学习能力过于低下。 34 | 35 | ## 2.2 评估方法 36 | 37 | 本节介绍了3种模型评估方法:留出法、交叉验证法、自助法。留出法由于操作简单,因此最常用;交叉验证法常用于对比同一算法的不同参数配置之间的效果,以及对比不同算法之间的效果;自助法常用于集成学习(详见"西瓜书"第8章的8.2节和8.3节)产生基分类器。留出法和自助法简单易懂,在此不再赘述,下面举例说明交叉验证法的常用方式。 38 | 39 | **对比同一算法的不同参数配置之间的效果**:假设现有数据集$D$,且有一个被评估认为适合用于数据集$D$的算法$\mathfrak{L}$,该算法有可配置的参数,假设备选的参数配置方案有两套:方案$a$,方案$b$。下面通过交叉验证法为算法$\mathfrak{L}$筛选出在数据集$D$上效果最好的参数配置方案。以3折交叉验证为例,首先按照"西瓜书"中所说的方法,通过分层采样将数据集$D$划分为3个大小相似的互斥子集:$D_{1},D_{2},D_{3}$,然后分别用其中1个子集作为测试集,其他子集作为训练集,这样就可获得3组训练集和测试集: 40 | 41 | 训练集1:$D_{1}\cup D_{2}$,测试集1:$D_{3}$ 42 | 43 | 训练集2:$D_{1}\cup D_{3}$,测试集2:$D_{2}$ 44 | 45 | 训练集3:$D_{2}\cup D_{3}$,测试集3:$D_{1}$ 46 | 47 | 接下来用算法$\mathfrak{L}$搭配方案$a$在训练集1上进行训练,训练结束后将训练得到的模型在测试集1上进行测试,得到测试结果1,依此方法再分别通过训练集2和测试集2、训练集3和测试集3得到测试结果2和测试结果3,最后将3次测试结果求平均即可得到算法$\mathfrak{L}$搭配方案$a$在数据集$D$上的最终效果,记为$Score_{a}$。同理,按照以上方法也可得到算法$\mathfrak{L}$搭配方案$b$在数据集$D$上的最终效果$Score_{b}$,最后通过比较$Score_{a}$和$Score_{b}$之间的优劣来确定算法$\mathfrak{L}$在数据集$D$上效果最好的参数配置方案。 48 | 49 | **对比不同算法之间的效果**:同上述"对比同一算法的不同参数配置之间的效果"中所讲的方法一样,只需将其中的"算法$\mathfrak{L}$搭配方案$a$"和"算法$\mathfrak{L}$搭配方案$b$"分别换成需要对比的算法$\alpha$和算法$\beta$即可。 50 | 51 | 从以上的举例可以看出,交叉验证法本质上是在进行多次留出法,且每次都换不同的子集做测试集,最终让所有样本均至少做1次测试样本。这样做的理由其实很简单,因为一般的留出法只会划分出1组训练集和测试集,仅依靠1组训练集和测试集去对比不同算法之间的效果显然不够置信,偶然性太强,因此要想基于固定的数据集产生多组不同的训练集和测试集,则只有进行多次划分,每次采用不同的子集作为测试集,也即为交叉验证法。 52 | 53 | ### 2.2.1 算法参数(超参数)与模型参数 54 | 55 | 算法参数是指算法本身的一些参数(也称超参数),例如$k$近邻的近邻个数$k$、支持向量机的参数$C$(详见"西瓜书"第6章式(6.29))。算法配置好相应参数后进行训练,训练结束会得到一个模型,例如支持向量机最终会得到$\boldsymbol{w}$和$b$的具体数值(此处不考虑核函数),这就是模型参数,模型配置好相应模型参数后即可对新样本做预测。 56 | 57 | ### 2.2.2 验证集 58 | 59 | 带有参数的算法一般需要从候选参数配置方案中选择相对于当前数据集的最优参数配置方案,例如支持向量机的参数$C$,一般采用的是前面讲到的交叉验证法,但是交叉验证法操作起来较为复杂,实际中更多采用的是:先用留出法将数据集划分出训练集和测试集,然后再对训练集采用留出法划分出训练集和新的测试集,称新的测试集为验证集,接着基于验证集的测试结果来调参选出最优参数配置方案,最后将验证集合并进训练集(训练集数据量够的话也可不合并),用选出的最优参数配置在合并后的训练集上重新训练,再用测试集来评估训练得到的模型的性能。 60 | 61 | ## 2.3 性能度量 62 | 63 | 本节性能度量指标较多,但是一般常用的只有错误率、精度、查准率、查全率、F1、ROC和AUC。 64 | 65 | ### 2.3.1 式(2.2)到式(2.7)的解释 66 | 67 | 这几个公式简单易懂,几乎不需要额外解释,但是需要补充说明的是式(2.2)、式(2.4)和式(2.5)假设了数据分布为均匀分布,即每个样本出现的概率相同,而式(2.3)、式(2.6)和式(2.7)则为更一般的表达式。此外,在无特别说明的情况下,2.3节所有公式中的"样例集$D$"均默认为非训练集(测试集、验证集或其他未用于训练的样例集)。 68 | 69 | ### 2.3.2 式(2.8)和式(2.9)的解释 70 | 71 | 查准率$P$:被学习器预测为**正例**的样例中有多大比例是**真正例**。 72 | 73 | 查全率$R$:所有**正例**当中有多大比例被学习器预测为**正例**。 74 | 75 | ### 2.3.3 图2.3的解释 76 | 77 | P-R曲线的画法与ROC曲线的画法类似,也是通过依次改变模型阈值,然后计算出查准率和查全率并画出相应坐标点,具体参见"式(2.20)的推导"部分的讲解。这里需要说明的是,"西瓜书"中的图2.3仅仅是示意图,除了图左侧提到的"现实任务中的P-R曲线常是非单调、不平滑的,在很多局部有上下波动"以外,通常不会取到$(1,0)$点。当取到$(1,0)$点时,就会将所有样本均判为正例,此时$FN=0$,根据式(2.9)可算得查全率为1,但是此时$TP+FP$为样本总数,根据式(2.8)可算得查准率此时为正例在全体样本中的占比,显然在现实任务中正例的占比通常不为0,因此P-R曲线在现实任务中通常不会取到$(1,0)$点。 78 | 79 | ### 2.3.4 式(2.10)的推导 80 | 81 | 将式(2.8)和式(2.9)代入式(2.10),得 82 | 83 | $$\begin{aligned} 84 | F1 &=\frac{2 \times P \times R}{P+R}=\frac{2 \times \frac{TP}{TP+FP} \times \frac{TP}{TP+FN}}{\frac{TP}{TP+FP}+\frac{TP}{TP+FN}} \\ 85 | &=\frac{2 \times TP \times TP}{TP(TP+FN)+T P(TP+FP)} \\ 86 | &=\frac{2 \times TP}{(TP+FN)+(TP+FP)}\\ 87 | &=\frac{2 \times TP}{(TP+FN+FP+TN)+TP-TN}\\ 88 | &=\frac{2 \times TP}{\text{样例总数}+TP-TN}\\ 89 | \end{aligned}$$ 90 | 91 | 若现有数据集$D=\left\{\left(\boldsymbol{x}_{i}, y_{i}\right) \mid 1 \leqslant i \leqslant m\right\}$,其中标记$y_{i}\in\{0,1\}$(1表示正例,0表示反例),假设模型$f(\boldsymbol{x})$对$\boldsymbol{x}_{i}$的预测结果为$h_i\in\{0,1\}$,则模型$f(\boldsymbol{x})$在数据集$D$上的$F1$为 92 | 93 | $$F1=\frac{2 \sum_{i=1}^{m} y_{i} h_{i}}{\sum_{i=1}^{m} y_{i}+\sum_{i=1}^{m} h_{i}}$$ 94 | 95 | 不难看出上式的本质为 96 | 97 | $$F1=\frac{2 \times TP}{(TP+FN)+(TP+FP)}$$ 98 | 99 | ### 2.3.5 式(2.11)的解释 100 | 101 | "西瓜书"在式(2.11)左侧提到$F_{\beta}$本质是加权调和平均,且和常用的算数平均相比,其更重视较小值,在此举例说明。例如a同学有两门课的成绩分别为100分和60分,b同学相应的成绩为80分和80分,此时若计算a同学和b同学的算数平均分则均为80分,无法判断两位同学成绩的优劣,但是若计算加权调和平均,当$\beta=1$时,a同学的加权调和平均为$\frac{2\times 100 \times 60}{100+60}=75$,b同学的加权调和平均为$\frac{2\times 80 \times 80}{80+80}=80$,此时b同学的平均成绩更优,原因是a同学由于偏科导致其中一门成绩过低,而调和平均更重视较小值,所以a同学的偏科便被凸显出来。 102 | 103 | 式(2.11)下方有提到"$\beta>1$时查全率有更大影响;$\beta<1$时查准率有更大影响",下面解释其原因。将式(2.11)恒等变形为如下形式 104 | 105 | $$F_{\beta}=\frac{1}{\frac{1}{1+\beta^{2}}\cdot\frac{1}{P}+\frac{\beta^{2}}{1+\beta^{2}}\cdot\frac{1}{R}}$$ 106 | 107 | 从上式可以看出,当$\beta>1$时$\frac{\beta^{2}}{1+\beta^{2}}>\frac{1}{1+\beta^{2}}$,所以$\frac{1}{R}$的权重比$\frac{1}{P}$的权重高,因此查全率$R$对$F_{\beta}$的影响更大,反之查准率$P$对$F_{\beta}$的影响更大。 108 | 109 | ### 2.3.6 式(2.12)到式(2.17)的解释 110 | 111 | 式(2.12)的$\text{macro-}P$和式(2.13)的$\text{macro-}R$是基于各个二分类问题的$P$和$R$计算而得的;式(2.15)的$\text{micro-}P$和式(2.16)的$\text{micro-}R$是基于各个二分类问题的$TP$、$FP$、$TN$、$FN$计算而得的;"宏"可以认为是只关注宏观而不看具体细节,而"微"可以认为是要从具体细节做起,因为相比于$P$和$R$指标来说,$TP$、$FP$、$TN$、$FN$更微观,毕竟$P$和$R$是基于$TP$、$FP$、$TN$、$FN$计算而得。 112 | 113 | 从"宏"和"微"的计算方式可以看出,"宏"没有考虑每个类别下的的样本数量,所以平等看待每个类别,因此会受到高$P$和高$R$类别的影响,而"微"则考虑到了每个类别的样本数量,因为样本数量多的类相应的$TP$、$FP$、$TN$、$FN$也会占比更多,所以在各类别样本数量极度不平衡的情况下,数量较多的类别会主导最终结果。 114 | 115 | 式(2.14)的$\text{macro-}F1$是将$\text{macro-}P$和$\text{macro-}R$代入式(2.10)所得;式(2.17)的$\text{micro-}F1$是将$\text{micro-}P$和$\text{micro-}R$代入式(2.10)所得。值得一提的是,以上只是$\text{macro-}F1$和$\text{micro-}F1$的常用计算方式之一,如若在查阅资料的过程中看到其他的计算方式也属正常。 116 | 117 | ### 2.3.7 式(2.18)和式(2.19)的解释 118 | 119 | 式(2.18)定义了真正例率TPR。先解释公式中出现的真正例和假反例,真正例即实际为正例预测结果也为正例,假反例即实际为正例但预测结果为反例,式(2.18)分子为真正例,分母为真正例和假反例之和(即实际的正例个数),因此式(2.18)的含义是所有**正例**当中有多大比例被预测为**正例**(即查全率Recall)。 120 | 121 | 式(2.19)定义了假正例率FPR。先解释式子中出现的假正例和真反例,假正例即实际为反例但预测结果为正例,真反例即实际为反例预测结果也为反例,式(2.19)分子为假正例,分母为真反例和假正例之和(即实际的反例个数),因此式(2.19)的含义是所有**反例**当中有多大比例被预测为**正例**。 122 | 123 | 除了真正例率TPR和假正例率FPR,还有真反例率TNR和假反例率FNR: 124 | 125 | $$\begin{aligned} 126 | \mathrm{TNR}=\frac{TN}{FP+TN} \\ 127 | \mathrm{FNR}=\frac{FN}{TP+FN} 128 | \end{aligned}$$ 129 | 130 | ### 2.3.8 式(2.20)的推导 131 | 132 | 在推导式(2.20)之前,需要先弄清楚$\text{ROC}$曲线的具体绘制过程。下面我们就举个例子,按照"西瓜书"图2.4下方给出的绘制方法来讲解一下$\text{ROC}$曲线的具体绘制过程。 133 | 134 | 假设我们已经训练得到一个学习器$f(\boldsymbol{s})$,现在用该学习器来对8个测试样本(4个正例,4个反例,即$m^+=m^-=4$)进行预测,预测结果为 **(此处用$\boldsymbol{s}$表示样本,以和坐标$(x,y)$作出区分)**: 135 | 136 | $$\begin{aligned} 137 | &(\boldsymbol{s}_1,0.77,+),(\boldsymbol{s}_2,0.62,-),(\boldsymbol{s}_3,0.58,+),(\boldsymbol{s}_4,0.47,+),\\ 138 | &(\boldsymbol{s}_5,0.47,-),(\boldsymbol{s}_6,0.33,-),(\boldsymbol{s}_7,0.23,+),(\boldsymbol{s}_8,0.15,-) 139 | \end{aligned}$$ 140 | 141 | 其中,$+$和$-$分别表示样本为正例和为反例,数字表示学习器$f$预测该样本为正例的概率,例如对于反例$\boldsymbol{s}_2$来说,当前学习器$f(\boldsymbol{s})$预测它是正例的概率为$0.62$。 142 | 143 | 根据"西瓜书"上给出的绘制方法,首先需要对所有测试样本按照学习器给出的预测结果进行排序 **(上面给出的预测结果已经按照预测值从大到小排序)** ,接着将分类阈值设为一个不可能取到的超大值,例如设为1。显然,此时所有样本预测为正例的概率都一定小于分类阈值,那么预测为正例的样本个数为0,相应的真正例率和假正例率也都为0,所以我们可以在坐标$(0,0)$处标记一个点。接下来需要把分类阈值从大到小依次设为每个 144 | 样本的预测值,也就是依次设为0.77, 0.62, 0.58, 0.47, 0.33, 145 | 0.23,0.15,然后分别计算真正例率和假正例率,再在相应的坐标上标记点,最后再将各个点用直线连接, 146 | 即可得到$\text{ROC}$曲线。需要注意的是,在统计预测结果时,预测值等于分类阈值的样本也被算作预测为正例。例如,当分类阈值为$0.77$时,测试样本 147 | $\boldsymbol{s}_{1}$被预测为正例,由于它的真实标记也是正例,所以此时$\boldsymbol{s}_{1}$是一个真正例。为了便于绘图,我们将$x$轴(假正例率轴)的"步长"定为$\frac{1}{m^-}$,$y$轴(真正例率轴)的"步长"定为$\frac{1}{m^+}$。根据真正例率和假正例率的定义可知,每次变动分类阈值时,若新增$i$个假正例,那么相应的$x$轴坐标也就增加$\frac{i}{m^-}$;若新增$j$个真正例,那么相应的$y$轴坐标也就增加$\frac{j}{m^+}$。按照以上讲述的绘制流程,最终我们可以绘制出如图2-1所示的$\text{ROC}$曲线。 148 | 149 | ![图2-1 ROC曲线示意](https://datawhale-business.oss-cn-hangzhou.aliyuncs.com/06419b28-ca3b-4719-a6df-60f81dc9d44b-roc.svg) 150 | 151 | 在这里,为了能在解释式(2.21)时复用此图,我们没有写上具体的数值,转而用其数学符号代替。其中绿色线段表示在分类阈值变动的过程中只新增了真正例,红色线段表示只新增了假正例,蓝色线段表示既新增了真正例也新增了假正例。根据$\text{AUC}$值的定义可知,此时的$\text{AUC}$值其实就是所有红色线段和蓝色线段与$x$轴围成的面积之和。观察图2-1可知,红色线段与$x$轴围成的图形恒为矩形,蓝色线段与$x$轴围成的图形恒为梯形。由于梯形面积式既能算梯形面积,也能算矩形面积,所以无论是红色线段还是蓝色线段,其与$x$轴围成的面积都能用梯形公式来计算: 152 | 153 | $$\frac{1}{2}\cdot(x_{i+1} - x_{i})\cdot(y_{i} + y_{i+1})$$ 154 | 155 | 其中,$(x_{i+1} - x_i)$为"高",$y_i$为"上底",$y_{i+1}$为"下底"。那么对所有红色线段和蓝色线段与$x$轴围成的面积进行求和,则有 156 | 157 | $$\sum_{i=1}^{m-1}\left[\frac{1}{2}\cdot(x_{i+1} - x_{i})\cdot(y_{i} + y_{i+1})\right]$$ 158 | 159 | 此即为$\text{AUC}$。 160 | 161 | 通过以上$\text{ROC}$曲线的绘制流程可以看出,$\text{ROC}$曲线上每一个点都表示学习器$f(s)$在特定阈值下构成的一个二分类器,越好的二分类器其假正例率(反例被预测错误的概率,横轴)越小,真正例率(正例被预测正确的概率,纵轴)越大,所以这个点越靠左上角(即点$(0,1)$)越好。因此,越好的学习器,其$\text{ROC}$曲线上的点越靠左上角,相应的$\text{ROC}$曲线下的面积也越大,即AUC也越大。 162 | 163 | ### 2.3.9 式(2.21)和式(2.22)的推导 164 | 165 | 下面针对"西瓜书"上所说的"$\ell_{rank}$对应的是ROC曲线之上的面积"进行推导。按照我们上述对式(2.20)的推导思路,$\ell_{rank}$可以看作是所有绿色线段和蓝色线段与$y$轴围成的面积之和,但从式(2.21)中很难一眼看出其面积的具体计算方式,因此我们进行恒等变形如下: 166 | 167 | $$\begin{aligned} 168 | \ell_{rank}&=\frac{1}{m^+m^-}\sum_{\boldsymbol{x}^+ \in D^+}\sum_{\boldsymbol{x}^- \in D^-}\left(\mathbb{I}\left(f(\boldsymbol{x}^+) p_0 377 | \end{aligned}$$ 378 | 379 | 由二项分布本身的特性可知:$p$越小,$X$取到较小值的概率越大。因此,对于上述假设,一个直观上合理的检验为 380 | 381 | $$\varphi:\text{当}X>C\text{时拒绝}H_0,\text{否则就接受}H_0\text{。}$$ 382 | 383 | 其中,$C$表示事件最大发生次数。此检验对应的功效函数为 384 | 385 | $$\begin{aligned} 386 | \beta_{\varphi}(p)&=P(X>C)\\ 387 | &=1-P(X\leqslant C) \\ 388 | &=1-\sum_{i=0}^{C}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p^{i} (1-p)^{m-i} \\ 389 | &=\sum_{i=C+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p^{i} (1-p)^{m-i} \\ 390 | \end{aligned}$$ 391 | 392 | 由于"$p$越小,$X$取到较小值的概率越大"可以等价表示为:$P(X\leqslant C)$是关于$p$的减函数,所以$\beta_{\varphi}(p)=P(X>C)=1-P(X\leqslant C)$是关于$p$的增函数,那么当$p\leqslant p_0$时,$\beta_{\varphi}(p_0)$即为$\beta_{\varphi}(p)$的上确界。 **(更为严格的数学证明参见参考文献[1]中第2章习题7)** 又根据参考文献[1]中5.1.3的定义1.2可知,在给定检验水平$\alpha$时,要想使得检验$\varphi$达到水平$\alpha$,则必须保证$\beta_{\varphi}(p)\leqslant\alpha$,因此可以通过如下方程解得使检验$\varphi$达到水平$\alpha$的整数$C$: 393 | 394 | $$\alpha =\sup \left\{\beta_{\varphi}(p)\right\}$$ 395 | 396 | 显然,当$p\leqslant p_0$时有 397 | 398 | $$\begin{aligned} 399 | \alpha &=\sup \left\{\beta_{\varphi}(p)\right\} \\ 400 | &=\beta_{\varphi}(p_0) \\ 401 | &=\sum_{i=C+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i} (1-p_0)^{m-i} 402 | \end{aligned}$$ 403 | 404 | 对于此方程,通常不一定正好解得一个使得方程成立的整数$C$,较常见的情况是存在这样一个$\overline{C}$使得 405 | 406 | $$\begin{aligned} 407 | \sum_{i=\overline{C}+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i} (1-p_0)^{m-i}<\alpha \\ 408 | \sum_{i=\overline{C}}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i} (1-p_0)^{m-i}>\alpha 409 | \end{aligned}$$ 410 | 411 | 此时,$C$只能取$\overline{C}$或者$\overline{C}+1$。若$C$取$\overline{C}$, 412 | 则相当于升高了检验水平$\alpha$;若$C$取$\overline{C}+1$则相当于降低了检验水平$\alpha$。具体如何取舍需要结合实际情况,一般的做法是使$\alpha$尽可能小,因此倾向于令$C$取$\overline{C}+1$。 413 | 414 | 下面考虑如何求解$\overline{C}$。易证$\beta_{\varphi}(p_0)$是关于$C$的减函数,再结合上述关于$\overline{C}$的两个不等式易推得 415 | 416 | $$\overline{C}=\min C\quad\text { s.t. } \sum_{i=C+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i}(1-p_0)^{m-i}<\alpha$$ 417 | 418 | 由"西瓜书"中的上下文可知,对$\epsilon\leqslant\epsilon_0$进行假设检验,等价于"二项分布参数$p$的假设检验"中所述的对$p\leqslant p_0$进行假设检验,所以在"西瓜书"中求解最大错误率$\overline{\epsilon}$等价于在"二项分布参数$p$的假设检验"中求解事件最大发生频率$\frac{\overline{C}}{m}$。由上述"二项分布参数$p$的假设检验"中的推导可知 419 | 420 | $$\overline{C}=\min C\quad\text { s.t. } \sum_{i=C+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i}(1-p_0)^{m-i}<\alpha$$ 421 | 422 | 所以 423 | 424 | $$\frac{\overline{C}}{m}=\min \frac{C}{m}\quad\text { s.t. } \sum_{i=C+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i}(1-p_0)^{m-i}<\alpha$$ 425 | 426 | 将上式中的$\frac{\overline{C}}{m},\frac{C}{m},p_0$等价替换为$\overline{\epsilon},\epsilon,\epsilon_0$可得 427 | 428 | $$\overline{\epsilon}=\min \epsilon\quad\text { s.t. } \sum_{i=\epsilon\times m+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) \epsilon_0^{i}(1-\epsilon_0)^{m-i}<\alpha$$ 429 | 430 | ## 2.5 偏差与方差 431 | 432 | ### 2.5.1 式(2.37)到式(2.42)的推导 433 | 434 | 首先,梳理一下"西瓜书"中的符号,书中称$\boldsymbol{x}$为测试样本,但是书中又提到"令$y_{D}$为$\boldsymbol{x}$在数据集中的标记",那么$\boldsymbol{x}$究竟是测试集中的样本还是训练集中的样本呢?这里暂且理解为$\boldsymbol{x}$为从训练集中抽取出来用于测试的样本。此外,"西瓜书"中左侧边注中提到"有可能出现噪声使得$y_{D}\neq y$",其中所说的"噪声"通常是指人工标注数据时带来的误差,例如标注"身高"时,由于测量工具的精度等问题,测出来的数值必然与真实的"身高"之间存在一定误差,此即为"噪声"。 435 | 436 | 为了进一步解释式(2.37)、(2.38)和(2.39),在这里设有$n$个训练集$D_{1},...,D_{n}$,这$n$个训练集都是以独立同分布的方式从样本空间中采样而得,并且恰好都包含测试样本$\boldsymbol{x}$,该样本在这$n$个训练集的标记分别为$y_{D_{1}},...,y_{D_{n}}$。书中已明确,此处以回归任务为例,也即$y_{D},y,f(\boldsymbol{x} ; D)$均为实值。 437 | 438 | 式(2.37)可理解为: 439 | 440 | $$\bar{f}(\boldsymbol{x})=\mathbb{E}_{D}[f(\boldsymbol{x} ; D)]=\frac{1}{n}\left(f\left(\boldsymbol{x} ; D_{1}\right)+\ldots+f\left(\boldsymbol{x} ; D_{n}\right)\right)$$ 441 | 442 | 式(2.38)可理解为: 443 | 444 | $$\begin{aligned} 445 | \operatorname{var}(\boldsymbol{x}) &=\mathbb{E}_{D}\left[(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x}))^{2}\right] \\ 446 | &=\frac{1}{n}\left(\left(f\left(\boldsymbol{x} ; D_{1}\right)-\bar{f}(\boldsymbol{x})\right)^{2}+\ldots+\left(f\left(\boldsymbol{x} ; D_{n}\right)-\bar{f}(\boldsymbol{x})\right)^{2}\right) 447 | \end{aligned}$$ 448 | 449 | 式(2.39)可理解为: 450 | 451 | $$\varepsilon^{2}=\mathbb{E}_{D}\left[\left(y_{D}-y\right)^{2}\right]=\frac{1}{n}\left(\left(y_{D_{1}}-y\right)^{2}+\ldots+\left(y_{D_{n}}-y\right)^{2}\right)$$ 452 | 453 | 最后,推导一下式(2.41)和式(2.42),由于推导完式(2.41)自然就会得到式(2.42),因此下面仅推导式(2.41)即可。 454 | 455 | $$\begin{aligned} 456 | E(f ; D)=& \mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-y_{D}\right)^{2}\right] &\textcircled{1}\\ 457 | =& \mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})+\bar{f}(\boldsymbol{x})-y_{D}\right)^{2}\right] &\textcircled{2}\\ 458 | =& \mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)^{2}\right]+\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y_{D}\right)^{2}\right]+ \\ &\mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\left(\bar{f}(\boldsymbol{x})-y_{D}\right)\right] &\textcircled{3}\\ 459 | =& \mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)^{2}\right]+\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y_{D}\right)^{2}\right] &\textcircled{4}\\ 460 | =& \mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)^{2}\right]+\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y+y-y_{D}\right)^{2}\right] &\textcircled{5}\\ 461 | =& \mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)^{2}\right]+\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y\right)^{2}\right]+\mathbb{E}_{D}\left[\left(y-y_{D}\right)^{2}\right]+ \\ &2 \mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y\right)\left(y-y_{D}\right)\right]&\textcircled{6}\\ 462 | =& \mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)^{2}\right]+\left(\bar{f}(\boldsymbol{x})-y\right)^{2}+\mathbb{E}_{D}\left[\left(y_{D}-y\right)^{2}\right] &\textcircled{7} 463 | \end{aligned}$$ 464 | 465 | 上式即为式(2.41),下面给出每一步的推导过程: 466 | 467 | $\textcircled{1}\to\textcircled{2}$:减一个$\bar{f}(\boldsymbol{x})$再加一个$\bar{f}(\boldsymbol{x})$,属于简单的恒等变形。 468 | 469 | $\textcircled{2}\to\textcircled{3}$:首先将中括号内的式子展开,有 470 | 471 | $$\mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)^{2}+\left(\bar{f}(\boldsymbol{x})-y_{D}\right)^{2}+2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\left(\bar{f}(\boldsymbol{x})-y_{D}\right)\right]$$ 472 | 473 | 然后根据期望的运算性质$\mathbb{E}[X+Y]=\mathbb{E}[X]+\mathbb{E}[Y]$可将上式化为 474 | 475 | $$\mathbb{E}_{D}\left[\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)^{2}\right]+\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y_{D}\right)^{2}\right] +\mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\left(\bar{f}(\boldsymbol{x})-y_{D}\right)\right]$$ 476 | 477 | $\textcircled{3}\to\textcircled{4}$:再次利用期望的运算性质将$\textcircled{3}$的最后一项展开,有 478 | 479 | $$\mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\left(\bar{f}(\boldsymbol{x})-y_{D}\right)\right] = \mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\cdot\bar{f}(\boldsymbol{x})\right] - \mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\cdot y_{D}\right]$$ 480 | 481 | 首先计算展开后得到的第1项,有 482 | 483 | $$\mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\cdot\bar{f}(\boldsymbol{x})\right] = \mathbb{E}_{D}\left[2f(\boldsymbol{x} ; D)\cdot\bar{f}(\boldsymbol{x})-2\bar{f}(\boldsymbol{x})\cdot\bar{f}(\boldsymbol{x})\right]$$ 484 | 485 | 由于$\bar{f}(\boldsymbol{x})$是常量,所以由期望的运算性质:$\mathbb{E}[AX+B]=A\mathbb{E}[X]+B$(其中$A,B$均为常量)可得 486 | 487 | $$\mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\cdot\bar{f}(\boldsymbol{x})\right] = 2\bar{f}(\boldsymbol{x})\cdot\mathbb{E}_{D}\left[f(\boldsymbol{x} ; D)\right]-2\bar{f}(\boldsymbol{x})\cdot\bar{f}(\boldsymbol{x})$$ 488 | 489 | 由式(2.37)可知$\mathbb{E}_{D}\left[f(\boldsymbol{x} ; D)\right]=\bar{f}(\boldsymbol{x})$,所以 490 | 491 | $$\mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\cdot\bar{f}(\boldsymbol{x})\right] = 2\bar{f}(\boldsymbol{x})\cdot\bar{f}(\boldsymbol{x})-2\bar{f}(\boldsymbol{x})\cdot\bar{f}(\boldsymbol{x})=0$$ 492 | 接着计算展开后得到的第2项 493 | 494 | $$ 495 | \mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\cdot y_{D}\right]=2\mathbb{E}_{D}\left[f(\boldsymbol{x} ; D)\cdot y_{D}\right]-2\bar{f}(\boldsymbol{x})\cdot \mathbb{E}_{D}\left[y_{D}\right] 496 | $$ 497 | 498 | 由于噪声和$f$无关,所以$f(\boldsymbol{x} ; D)$和$y_D$是两个相互独立的随机变量。根据期望的运算性质$\mathbb{E}[XY]=\mathbb{E}[X]\mathbb{E}[Y]$(其中$X$和$Y$为相互独立的随机变量)可得 499 | 500 | $$\begin{aligned} 501 | \mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\cdot y_{D}\right]&=2\mathbb{E}_{D}\left[f(\boldsymbol{x} ; D)\cdot y_{D}\right]-2\bar{f}(\boldsymbol{x})\cdot \mathbb{E}_{D}\left[y_{D}\right]\\ 502 | &=2\mathbb{E}_{D}\left[f(\boldsymbol{x} ; D)\right]\cdot \mathbb{E}_{D}\left[y_{D}\right]-2\bar{f}(\boldsymbol{x})\cdot \mathbb{E}_{D}\left[y_{D}\right]\\ 503 | &=2\bar{f}(\boldsymbol{x})\cdot \mathbb{E}_{D}\left[y_{D}\right]-2\bar{f}(\boldsymbol{x})\cdot \mathbb{E}_{D}\left[y_{D}\right]\\ 504 | &= 0 505 | \end{aligned}$$ 506 | 507 | 所以 508 | 509 | $$\begin{aligned} \mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\left(\bar{f}(\boldsymbol{x})-y_{D}\right)\right] &= \mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\cdot\bar{f}(\boldsymbol{x})\right] - \mathbb{E}_{D}\left[2\left(f(\boldsymbol{x} ; D)-\bar{f}(\boldsymbol{x})\right)\cdot y_{D}\right] \\ 510 | &= 0+0 \\ 511 | &=0 512 | \end{aligned}$$ 513 | 514 | $\textcircled{4}\to\textcircled{5}$:同$\textcircled{1}\to\textcircled{2}$一样,减一个$y$再加一个$y$,属于简单的恒等变形。 515 | 516 | $\textcircled{5}\to\textcircled{6}$:同$\textcircled{2}\to\textcircled{3}$一样,将最后一项利用期望的运算性质进行展开。 517 | 518 | $\textcircled{6}\to\textcircled{7}$:因为$\bar{f}(\boldsymbol{x})$和$y$均为常量,根据期望的运算性质,$\textcircled{6}$中的第2项可化为 519 | 520 | $$\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y\right)^{2}\right]=\left(\bar{f}(\boldsymbol{x})-y\right)^{2}$$ 521 | 522 | 同理,$\textcircled{6}$中的最后一项可化为 523 | 524 | $$2\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y\right)\left(y-y_{D}\right)\right]=2\left(\bar{f}(\boldsymbol{x})-y\right)\mathbb{E}_{D}\left[\left(y-y_{D}\right)\right]$$ 525 | 526 | 由于此时假定噪声的期望为0,即$\mathbb{E}_{D}\left[\left(y-y_{D}\right)\right]=0$,所以 527 | 528 | $$2\mathbb{E}_{D}\left[\left(\bar{f}(\boldsymbol{x})-y\right)\left(y-y_{D}\right)\right]=2\left(\bar{f}(\boldsymbol{x})-y\right)\cdot 0=0$$ 529 | 530 | ## 参考文献 531 | [1] 陈希孺. 概率论与数理统计. 中国科学技术大学出版社, 2009. 532 | -------------------------------------------------------------------------------- /docs/chapter2/chapter2_FR.md: -------------------------------------------------------------------------------- 1 | ## 2.20 2 | $$\text{AUC}=\frac{1}{2}\sum_{i=1}^{m-1}(x_{i+1} - x_i)\cdot(y_i + y_{i+1})$$ 3 | [Analyse]:Avant d'expliquer la formule $\text{AUC}$, Nous devons d'abord comprendre le processus pour dessiner la courbe $\text{ROC}$. On expliquera la processus pour dessiner la courbe $\text{ROC}$ selon la méthode de dessin donnée en bas de la figure 2.4 du Watermelon-Book. Supposons que nous ayons formé un apprenant $f(s)$, on ttilise maintenant cette apprenant pour tester nos 8 échantillons de test (4 cas positive et 4 negative, donc $m^+=m^-=4$) afin de procéder la prodiction, supposons le résultat de la prédiction est 4 | $$(s_1,0.77,+),(s_2,0.62,-),(s_3,0.58,+),(s_4,0.47,+),(s_5,0.47,-),(s_6,0.33,-),(s_7,0.23,+),(s_8,0.15,-)$$ 5 | dedans, $+$和$-$ représente respectivement comme exemples positifs et exemples négatifs, le numéro dedans signifie la probabilité de l'échantillion étant positive dans l'apprenant $f(s)$. Par exemple, pour le contre-exemple $s_2$, l'apprenant actuel $f(s)$ prédit que la probabilité qu'il s'agisse d'un exemple positif est de 0,62$. Selon la méthode de dessin indiquée dans le livre Watermelon, tous les échantillons de test doivent être triés en fonction des résultats de prédiction donnés par l'apprenant dans un premier temps (Le résultats dessus sont triés de grande valeur à petite). Ensuite, on règle le seuil de classification à une valeur maximale impossible à obtenir. Il est évidemment, à ce stade, la probabilité que tous les échantillons soient positifs doit être inférieure au seuil de classification, et le nombre d’échantillons prédits positifs est de 0. Les probabilités correspondants de vrais et de faux positifs sont également de 0, donc à ce stade, nous pouvons atteindre un point aux coordonnées $(0,0)$. Ensuite, nous devons définir le seuil de classification à la valeur prédite pour chaque échantillon, c’est-à-dire le définir à son tour $0.77、0.62、0.58、0.47、0.33、0.23、0.15$. Ensuite, chaque fois que les probabilités de vrais et de faux positifs sont calculés, un point est dessiné sur les coordonnées correspondantes. Enfin, on peut obtenir le $\text{ROC}$ curve en enchaînant les points en ligne droite. Il est à noter que lorsque des prévisions statistiques sont faites, les échantillons dont les valeurs de prévision sont égales aux seuils de classification sont également comptés comme des prédictions positives. Par exemple, le seuil de classification est égale à $0.77$, l'échantillon $s_1$ est prédit étant une prédiction positive. Parce que son vrai marque est aussi un exemple positif, $s_1$ est un vrai exemple positif. Pour faciliter le dessin, on défine le pas de l'axe de $x$(l'axe de taux de faux positif) est égale à $\frac{1}{m^-}$, le pas de l'axe $y$ (l'axe de taux positif réel) est égale à $\frac{1}{m^+}$. Dans ce cas, Selon la définition des taux de vrais (TPR) et de faux positifs (FPR), Chaque fois que l'on modifie le seuil de classification, si on ajoute $i$ des faux positif, les coordonnées de l'axe $x$ augement $\frac{i}{m^-}$. De la même façon, si $j$ vrai positif est ajouté, les coordonnées de l'axe $y$ augement également $\frac{j}{m^+}$. Suivez le processus de dessin décrit ci-dessus, finalement, nous pouvons dessiner le diagramme suivant $\text{ROC}$ 6 |
7 | Ici, nous n’écrivons pas de valeurs spécifiques afin de pouvoir réutiliser ce graphique lors de l’analyse des formules (2.21), et le remplacer par ses symboles mathématiques. Lorsque le segment vert indique que seul l’exemple réel a été ajouté dans le processus de classification des changements de seuil, le segment rouge indique que seul l’exemple de faux positif a été ajouté et le segment bleu indique que le cas réel et l’exemple de faux positif ont été ajoutés. Selon la définition de $\text{AUC}$, la valeur de $\text{AUC}$ est en fait la somme de toutes les zones entourées de segments rouges et bleus et de l’axe $x$. Comme vous pouvez le voir sur l’image ci-dessus, le graphique entouré du segment rouge et de l’axe $x$ est rectangulaire, et les graphiques entourés du segment bleu et de l’axe $x$ sont rectangulaires. Cependant, étant donné que la formule de l’aire trapézoïdale peut compter à la fois l’aire trapézoïdale et la zone rectangulaire, la zone entourée de l’axe $x$ peut être calculée en utilisant à la fois les segments rouge et bleu, c’est-à-dire la formule 8 | $$\frac{1}{2}\cdot(x_{i+1} - x_i)\cdot(y_i + y_{i+1})$$ 9 | Il se trouve que $(x_{i+1} - x_i)$ dénote la hauteur, $y_i$ est l'échelle haut, et $y_{i+1}$ est l'échelle de bas. Dans ce cas, 10 | $$\sum_{i=1}^{m-1}\left[\frac{1}{2}\cdot(x_{i+1} - x_i)\cdot(y_i + y_{i+1})\right]$$ 11 | Cela représente une somme des zones entourant tous les segments rouges et bleus et l’axe $x$, c'est à dire $\text{AUC}$ 12 | 13 | ## 2.21 14 | $$\ell_{rank}=\frac{1}{m^+m^-}\sum_{\boldsymbol{x}^+ \in D^+}\sum_{\boldsymbol{x}^- \in D^-}\left(\mathbb{I}\left(f(\boldsymbol{x}^+)[1] 93 | La probabilité de l'évenement est $p$, $p$ est inconnue, on lance $m$ tests distincts, on observe si l’événement s’est produit, le nombre de fois que l’événement se produit est enregistré à $X$, alor que $X$ obéit à la distribution binaire $B(m,p)$. Les hypothèses suivantes sont maintenant testées par rapport à $X$ : 94 | $$\begin{aligned} 95 | H_0:p\leq p_0\\ 96 | H_1:p > p_0 97 | \end{aligned}$$ 98 | Les caractéristiques de la distribution binaire montre que: plus le $p$ est élevé, plus la probabilité que le $X $ obtienne une valeur petite est grande.Cependant, pour les hypothèses ci-dessus, un test intuitivement raisonnable est: 99 | $$\varphi:\text{Quand}X\leq C\text{acceptons}H_0,\text{or, on refuse}H_0$$ 100 | ici, $C\in N$ désigne le nombre maximals de l'évènement. La fonction de l'éfficacité correspondante pour ce test est 101 | $$\begin{aligned} 102 | \beta_{\varphi}(p)&=P(X>C)\\ 103 | &=1-P(X\leq C) \\ 104 | &=1-\sum_{i=0}^{C}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p^{i} (1-p)^{m-i} \\ 105 | &=\sum_{i=C+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p^{i} (1-p)^{m-i} \\ 106 | \end{aligned}$$ 107 | Parce que « plus le $p$ est petit, plus la probabilité que $X$ obtienne une valeur plus petite » peut être exprimée de manière équivalente comme : $P(X\leq C)$ est une function décroissante de $p$.(Preuve mathématique plus rigoureuse, voir chapitre 2 Exercice 7 dans Références 1), donc $\beta_{\varphi}(p)=P(X>C)=1-P(X\leq C)$ est une function croissante de $p$, dans ce cas, $p\leq p_0$,$\beta_{\varphi}(p_0)$ est la limites réelles de $\beta_{\varphi}(p)$. En outre, selon la définition 1.2 de 5.1.3 dans Références [1],Le niveau de test de $\alpha$ est le niveau minimum possible par défaut. Donc, au niveau de test donné de $\alpha$, le niveau de test $\alpha$ peut être satisfait en résolvant l’équation suivante: 108 | $$\alpha =\sup \left\{\beta_{\varphi}(p)\right\}$$ 109 | Apparament, quand $p\leq p_0$: 110 | $$\begin{aligned} 111 | \alpha &=\sup \left\{\beta_{\varphi}(p)\right\} \\ 112 | &=\beta_{\varphi}(p_0) \\ 113 | &=\sum_{i=C+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i} (1-p_0)^{m-i} 114 | \end{aligned}$$ 115 | Pour cette équation, il n’est généralement pas possible de résoudre un entier de $C$ pour rendre l’équation valide, un scénario plus courant est l’existence d’un tel $\overline{C}$ 116 | $$\begin{aligned} 117 | \sum_{i=\overline{C}+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i} (1-p_0)^{m-i}<\alpha \\ 118 | \sum_{i=\overline{C}}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i} (1-p_0)^{m-i}>\alpha 119 | \end{aligned}$$ 120 | Dans ce cas, $C$ est n'égale qu'à $\overline{C}$ ou $\overline{C}+1$, si on défine $C$ comme $\overline{C}$, équivaut à augmenter le niveau de test $\alpha$,si $C$ serait $\overline{C}+1$; il est équivaut à dimunuer le niveau de test $\alpha$. Des compromis spécifiques doivent être combinés avec la situation réelle, mais on défine $C$ étant $\overline{C}+1$, généralement pour réduire la probabilité de faire le premier type d’erreur. Voici comment résoudre $\overline{C}$: il est facile à prouver $\beta_{\varphi}(p_0)$ est une function décroissant de $C$, Alors combinons les deux inégalités faciles qui précède à propos de $\overline{C}$, on obtiendrait 121 | $$\overline{C}=\min C\quad\text { s.t. } \sum_{i=C+1}^{m}\left(\begin{array}{c}{m} \\ {i}\end{array}\right) p_0^{i}(1-p_0)^{m-i}<\alpha$$ 122 | 123 | ## Référence 124 | [1]陈希孺编著.概率论与数理统计[M].中国科学技术大学出版社,2009. 125 | -------------------------------------------------------------------------------- /docs/chapter2/resources/images/roc.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/docs/chapter2/resources/images/roc.pdf -------------------------------------------------------------------------------- /docs/chapter2/resources/images/roc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/docs/chapter2/resources/images/roc.png -------------------------------------------------------------------------------- /docs/chapter2/resources/images/roc.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/docs/chapter2/resources/images/roc.pptx -------------------------------------------------------------------------------- /docs/chapter4/chapter4.md: -------------------------------------------------------------------------------- 1 | ```{important} 2 | 参与组队学习的同学须知: 3 | 4 | 本章学习时间:3天 5 | 6 | 本章配套视频教程:https://www.bilibili.com/video/BV1Mh411e7VU?p=7 7 | ``` 8 | 9 | # 第4章 决策树 10 | 11 | 本章的决策树算法背后没有复杂的数学推导,其更符合人类日常思维方式,理解起来也更为直观,其引入的数学工具也仅是为了让该算法在计算上可行,同时"西瓜书"在本章列举了大量例子,因此本章的算法会更为通俗易懂。 12 | 13 | ## 4.1 基本流程 14 | 15 | 作为本章的开篇,首先要明白决策树在做什么。正如"西瓜书"中图4.1所示的决策过程,决策树就是不断根据某属性进行划分的过程(每次决策时都是在上次决策结果的基础之上进行),即"if......elif......else......"的决策过程,最终得出一套有效的判断逻辑,便是学到的模型。但是,划分到什么时候就停止划分呢?这就是图4.2中的3个"**return**"代表的递归返回,下面解释图4.2中的3个递归返回。 16 | 17 | 首先,应该明白决策树的基本思想是根据某种原则(即图4.2第8行)每次选择一个属性作为划分依据,然后按属性的取值将数据集中的样本进行划分,例如将所有触感为"硬滑"的西瓜的分到一起,将所有触感为"软粘"的西瓜分到一起,划分完得到若干子集,接着再对各个子集按照以上流程重新选择某个属性继续递归划分,然而在划分的过程中通常会遇到以下几种特殊情况。 18 | 19 | (1)若递归划分过程中某个子集中已经只含有某一类的样本(例如只含好瓜),那么此时划分的目的已经达到了,无需再进行递归划分,此即为递归返回的情形(1),最极端的情况就是初始数据集中的样本全是某一类的样本,那么此时决策树算法到此终止,建议尝试其他算法; 20 | 21 | (2)递归划分时每次选择一个属性作为划分依据,并且该属性通常不能重复使用(仅针对离散属性),原因是划分后产生的各个子集在该属性上的取值相同。例如本次根据触感对西瓜样本进行划分,那么后面对划分出的子集(及子集的子集......)再次进行递归划分时不能再使用"触感",图4.2第14行的$A \backslash\{a_*\}$表示的便是从候选属性集合$A$中将当前正在使用的属性$a_*$排除。由于样本的属性个数是有限的,因此划分次数通常不超过属性个数。若所有属性均已被用作过划分依据,即$A=\varnothing$,此时子集中仍含有不同类样本(例如仍然同时含有好瓜和坏瓜),但是因已无属性可用作划分依据,此时只能少数服从多数,以此子集中样本数最多的类为标记。由于无法继续划分的直接原因是各个子集中的样本在各个属性上的取值都相同,所以即使$A\neq\varnothing$,但是当子集中的样本在属性集合$A$上取值都相同时,等价视为$A=\varnothing$,此即为递归返回的情形(2); 22 | 23 | (3)根据某个属性进行划分时,若该属性多个属性值中的某个属性值不包含任何样本(例如未收集到),例如对当前子集以"纹理"属性来划分,"纹理"共有3种取值:清晰、稍糊、模糊,但发现当前子集中并无样本"纹理"属性取值为模糊,此时对于取值为清晰的子集和取值为稍糊的子集继续递归,而对于取值为模糊的分支,因为无样本落入,将其标记为叶结点,其类别标记为训练集$D$中样本最多的类,即把全体样本的分布作为当前结点的先验分布。其实就是一种盲猜,既然是盲猜,那么合理的做法就是根据已有数据用频率近似概率的思想假设出现频率最高的便是概率最大的。注意,此分支必须保留,因为测试时,可能会有样本落入该分支。此即为递归返回的情形(3)。 24 | 25 | ## 4.2 划分选择 26 | 27 | 本节介绍的三种划分选择方法,即信息增益、增益率、基尼指数分别对应著名的ID3、C4.5和CART三种决策树算法。 28 | 29 | ### 4.2.1 式(4.1)的解释 30 | 31 | 该式为信息论中的信息熵定义式,以下先证明$0\leqslant\operatorname{Ent}(D)\leqslant\log_{2}|\mathcal{Y}|$,然后解释其最大值和最小值所表示的含义。 32 | 33 | 已知集合$D$的信息熵的定义为 34 | 35 | $$ 36 | \operatorname{Ent}(D)=-\sum_{k=1}^{|\mathcal{Y}|} p_{k} \log_{2} p_{k} 37 | $$ 38 | 39 | 40 | 其中,$|\mathcal{Y}|$表示样本类别总数,$p_k$表示第$k$类样本所占的比例,有$0\leqslant p_k \leqslant 1,\sum_{k=1}^{n}p_k=1$。若令$|\mathcal{Y}|=n,p_k=x_k$,那么信息熵$\operatorname{Ent}(D)$就可以看作一个$n$元实值函数,即 41 | 42 | $$ 43 | \operatorname{Ent}(D)=f(x_1,\cdots,x_n)=-\sum_{k=1}^{n} x_{k} \log_{2} x_{k} 44 | $$ 45 | 46 | 47 | 其中$0 \leqslant x_k \leqslant 1,\sum_{k=1}^{n}x_k=1$。 48 | 49 | 下面考虑求该多元函数的最值. 首先我们先来求最大值,如果不考虑约束$0 50 | \leqslant x_k \leqslant 51 | 1$而仅考虑$\sum_{k=1}^{n}x_k=1$,则对$f(x_1,\cdots,x_n)$求最大值等价于如下最小化问题: 52 | 53 | $$ 54 | \begin{array}{ll}{ 55 | \operatorname{min}} & {\sum\limits_{k=1}^{n} x_{k} \log_{2} x_{k} }\\ 56 | {\text { {\rm s.t.} }} & {\sum\limits_{k=1}^{n}x_k=1} 57 | \end{array} 58 | $$ 59 | 60 | 61 | 显然,在$0 \leqslant x_k \leqslant 1$时,此问题为凸优化问题。对于凸优化问题来说,使其拉格朗日函数的一阶偏导数等于0的点即最优解。根据拉格朗日乘子法可知,该优化问题的拉格朗日函数为 62 | 63 | $$ 64 | L(x_1,\cdots,x_n,\lambda)=\sum_{k=1}^{n} x_{k} \log _{2} x_{k}+ 65 | \lambda\left(\sum_{k=1}^{n}x_k-1\right) 66 | $$ 67 | 68 | 69 | 其中,$\lambda$为拉格朗日乘子。对$L(x_1,\cdots,x_n,\lambda)$分别关于$x_1,\cdots,x_n,\lambda$求一阶偏导数,并令偏导数等于0可得 70 | 71 | $$ 72 | \begin{aligned} 73 | \dfrac{\partial L(x_1,\cdots,x_n,\lambda)}{\partial 74 | x_1}&=\dfrac{\partial }{\partial x_1} \left[\sum_{k=1}^{n} x_{k} 75 | \log _{2} x_{k}+\lambda 76 | \left(\sum_{k=1}^{n}x_k-1\right)\right]=0\\ 77 | &=\log _{2} x_{1}+x_1\cdot \dfrac{1}{x_1\ln2}+\lambda=0 \\ 78 | &=\log _{2} x_{1}+\dfrac{1}{\ln2}+\lambda=0 \\ 79 | &\Rightarrow \lambda=-\log _{2} x_{1}-\dfrac{1}{\ln2}\\ 80 | \end{aligned} 81 | $$ 82 | 83 | 84 | $$ 85 | \begin{aligned} 86 | \dfrac{\partial L(x_1,\cdots,x_n,\lambda)}{\partial x_2}&=\dfrac{\partial }{\partial x_2}\left[\sum_{k=1}^{n} x_{k} \log _{2} x_{k}+\lambda\left(\sum_{k=1}^{n}x_k-1\right)\right]=0\\ 87 | &\Rightarrow \lambda=-\log _{2} x_{2}-\dfrac{1}{\ln2}\\ 88 | \cdots\\ 89 | \dfrac{\partial L(x_1,\cdots,x_n,\lambda)}{\partial x_n}&=\dfrac{\partial }{\partial x_n}\left[\sum_{k=1}^{n} x_{k} \log _{2} x_{k}+\lambda\left(\sum_{k=1}^{n}x_k-1\right)\right]=0\\ 90 | &\Rightarrow \lambda=-\log _{2} x_{n}-\dfrac{1}{\ln2};\\ 91 | \dfrac{\partial L(x_1,\cdots,x_n,\lambda)}{\partial \lambda}&=\dfrac{\partial }{\partial \lambda}\left[\sum_{k=1}^{n} x_{k} \log _{2} x_{k}+\lambda\left(\sum_{k=1}^{n}x_k-1\right)\right]=0\\ 92 | &\Rightarrow \sum_{k=1}^{n}x_k=1\\ 93 | \end{aligned} 94 | $$ 95 | 96 | 整理一下可得 97 | 98 | $$ 99 | \left\{ \begin{array}{lr} 100 | \lambda=-\log _{2} x_{1}-\frac{1}{\ln2}=-\log _{2} x_{2}-\frac{1}{\ln2}=\cdots=-\log _{2} x_{n}-\frac{1}{\ln2} \\ 101 | \sum\limits_{k=1}^{n}x_k=1 102 | \end{array}\right. 103 | $$ 104 | 105 | 由以上两个方程可以解得 106 | 107 | $$ 108 | x_1=x_2=\cdots=x_n=\dfrac{1}{n} 109 | $$ 110 | 111 | 又因为$x_k$还需满足约束$0 \leqslant x_k \leqslant 1$,显然$0\leqslant\frac{1}{n}\leqslant 112 | 1$,所以$x_1=x_2=\cdots=x_n=\frac{1}{n}$是满足所有约束的最优解,即当前最小化问题的最小值点,同时也是$f(x_1,\cdots,x_n)$的最大值点。将$x_1=x_2=\cdots=x_n=\frac{1}{n}$代入$f(x_1,\cdots,x_n)$中可得 113 | 114 | $$ 115 | f\left(\dfrac{1}{n},\cdots,\dfrac{1}{n}\right) 116 | =-\sum_{k=1}^{n} \dfrac{1}{n} \log _{2} 117 | \dfrac{1}{n}=-n\cdot\dfrac{1}{n} \log _{2} \dfrac{1}{n}=\log _{2} 118 | n 119 | $$ 120 | 121 | 122 | 所以$f(x_1,\cdots,x_n)$在满足约束$0 \leqslant x_k \leqslant 1,\sum_{k=1}^{n}x_k=1$时的最大值为$\log _{2} n$。 123 | 124 | 下面求最小值。如果不考虑约束$\sum_{k=1}^{n}x_k=1$而仅考虑$0 \leqslant x_k \leqslant 1$,则$f(x_1,\cdots,x_n)$可以看作$n$个互不相关的一元函数的和,即 125 | 126 | $$ 127 | f(x_1,\cdots,x_n)=\sum_{k=1}^{n} g(x_k) 128 | $$ 129 | 130 | 131 | 其中,$g(x_k)=-x_{k} \log _{2} x_{k},0 \leqslant x_k \leqslant 1$。那么当$g(x_1),g(x_2),\cdots,g(x_n)$分别取到其最小值时,$f(x_1,\cdots,x_n)$也就取到了最小值,所以接下来考虑分别求$g(x_1),g(x_2),\cdots,g(x_n)$各自的最小值。 132 | 133 | 由于$g(x_1),g(x_2),\cdots,g(x_n)$的定义域和函数表达式均相同,所以只需求出$g(x_1)$的最小值也就求出了$g(x_2),\cdots,g(x_n)$的最小值。下面考虑求$g(x_1)$的最小值,首先对$g(x_1)$关于$x_1$求一阶和二阶导数,有 134 | 135 | $$ 136 | g^{\prime}(x_1)=\dfrac{{\rm d}(-x_{1} \log _{2} x_{1})} 137 | {{\rm d} x_1}=-\log _{2} x_{1}-x_1\cdot \dfrac{1}{x_1\ln2}=-\log 138 | _{2} x_{1}-\dfrac{1}{\ln2} 139 | $$ 140 | 141 | 142 | 143 | $$ 144 | g^{\prime\prime}(x_1)=\dfrac{{\rm d}\left(g^{\prime}(x_1)\right)} 145 | {{\rm d} x_1}=\dfrac{{\rm d}\left(-\log _{2} 146 | x_{1}-\dfrac{1}{\ln2}\right)}{{\rm d} 147 | x_1}=-\dfrac{1}{x_{1}\ln2} 148 | $$ 149 | 150 | 显然,当$0 \leqslant x_k \leqslant 151 | 1$时$g^{\prime\prime}(x_1)=-\frac{1}{x_{1}\ln2}$恒小于0,所以$g(x_1)$是一个在其定义域范围内开口 152 | 向下的凹函数,那么其最小值必然在边界取。分别取$x_1=0$和$x_1=1$,代入$g(x_1)$可得 153 | 154 | $$ 155 | g(0)=-0\log _{2} 0=0 156 | $$ 157 | 158 | 159 | $$ 160 | g(1)=-1\log _{2} 1=0 161 | $$ 162 | 163 | 164 | **(计算信息熵时约定:若$x=0$,则$x\log_2 x=0$)** 165 | 所以,$g(x_1)$的最小值为0,同理可得$g(x_2),\cdots,g(x_n)$的最小值也都为0, 166 | 即$f(x_1,\cdots, x_n)$的最小值为0。但是,此时仅考虑约束$0 \leqslant x_k \leqslant 1$,而未考虑$\sum_{k=1}^{n}x_k=1$。若考虑约束$\sum_{k=1}^{n}x_k=1$,那么$f(x_1,\cdots,x_n)$的最小值一定大于等于0。如果令某个$x_k=1$,那么根据约束$\sum_{k=1}^{n}x_k=1$可知$x_1=x_2=\cdots=x_{k-1}=x_{k+1}=\cdots=x_n=0$,将其代入$f(x_1,\cdots,x_n)$可得 167 | 168 | $$ 169 | \begin{aligned} 170 | &f(0,0,\cdots,0,1,0,\cdots,0)\\ 171 | =&-0 \log _{2}0-0 \log _{2}0-\cdots-0 \log _{2}0-1 \log _{2}1-0 172 | \log _{2}0-\cdots-0 \log _{2}0=0 173 | \end{aligned} 174 | $$ 175 | 176 | 177 | 所以$x_k=1,x_1=x_2=\cdots=x_{k-1}=x_{k+1}=\cdots=x_n=0$一定是$f(x_1,\cdots,x_n)$在满足约束$\sum_{k=1}^{n}x_k=1$和$0\leqslant x_k \leqslant 1$的条件下的最小值点,此时$f$取到最小值0。 178 | 179 | 综上可知,当$f(x_1,\cdots,x_n)$取到最大值时:$x_1=x_2=\cdots=x_n=\frac{1}{n}$,此时样本集合纯度最低;当$f(x_1,\cdots,x_n)$取到最小值时:$x_k=1,x_1=x_2=\cdots=x_{k-1}=x_{k+1}=\cdots=x_n=0$,此时样本集合纯度最高。 180 | 181 | ### 4.2.2 式(4.2)的解释 182 | 183 | 此为信息增益的定义式。在信息论中信息增益也称为"互信息",表示已知一个随机变量的信息后另一个随机变量的不确定性减少的程度。 184 | 185 | 下面给出互信息的定义,在此之前,还需要先解释一下什么是"条件熵"。条件熵表示的是在已知一个随机变量的条件下,另一个随机变量的不确定性。具体地,假设有随机变量$X$和$Y$,且它们服从以下联合概率分布 186 | 187 | $$ 188 | P(X = x_{i},Y = y_{j}) = p_{ij},\quad i = 1,2,\cdots,n,\quad j = 1,2,\cdots,m 189 | $$ 190 | 191 | 192 | 那么在已知$X$的条件下,随机变量$Y$的条件熵为 193 | 194 | $$ 195 | \operatorname{Ent}(Y|X) = \sum_{i=1}^np_i \operatorname{Ent}(Y|X = x_i) 196 | $$ 197 | 198 | 199 | 其中,$p_i = P(X = x_i) ,i =1,2,\cdots,n$。互信息定义为信息熵和条件熵的差,它表示的是已知一个随机变量的信息后使得另一个随机变量的不确定性减少的程度。具体地,假设有随机变量$X$和$Y$,那么在已知$X$的信息后,$Y$的不确定性减少的程度为 200 | 201 | $$ 202 | \operatorname{I}(Y;X) = \operatorname{Ent}(Y) - \operatorname{Ent}(Y|X) 203 | $$ 204 | 205 | 206 | 此即互信息的数学定义。 207 | 208 | 所以式(4.2)可以理解为,在已知属性$a$的取值后,样本类别这个随机变量的不确定性减小的程度。若根据某个属性计算得到的信息增益越大,则说明在知道其取值后样本集的不确定性减小的程度越大,即"西瓜书"上所说的"纯度提升"越大。 209 | 210 | ### 4.2.3 式(4.4)的解释 211 | 212 | 为了理解该式的"固有值"的概念,可以将式(4.4)与式(4.1)对比理解。式(4.1)可重写为 213 | 214 | $$ 215 | \operatorname{Ent}(D)=-\sum_{k=1}^{|\mathcal{Y}|} p_k \log _2 p_k=-\sum_{k=1}^{|\mathcal{Y}|} \frac{\left|D^k\right|}{|D|} \log _2 \frac{\left|D^k\right|}{|D|} 216 | $$ 217 | 218 | 219 | 其中$\frac{\left|D^k\right|}{|D|}=p_k$,为第$k$类样本所占的比例。与式(4.4)的表达式作一下对比 220 | 221 | $$ 222 | \operatorname{IV}(a)=-\sum_{v=1}^V \frac{\left|D^v\right|}{|D|} \log _2 \frac{\left|D^v\right|}{|D|} 223 | $$ 224 | 225 | 226 | 其中$\frac{\left|D^v\right|}{|D|}=p_v$,为属性$a$取值为$a^v$的样本所占的比例。即式(4.1)是按样本的类别标记计算的信息熵,而式(4.4)是按样本属性的取值计算的信息熵。 227 | 228 | ### 4.2.4 式(4.5)的推导 229 | 230 | 假设数据集$D$中的样例标记种类共有三类,每类样本所占比例分别为$p_1$、$p_2$、$p_3$。现从数据集中随机抽取两个样本,两个样本类别标记正好一致的概率为 231 | 232 | $$ 233 | p_1 p_1+p_2 p_2+p_3 p_3=\sum_{k=1}^{|\mathcal{Y}|=3} p_k^2 234 | $$ 235 | 236 | 两个样本类别标记不一致的概率为(即"基尼值") 237 | 238 | $$ 239 | \operatorname{Gini}(D)=p_1 p_2+p_1 p_3+p_2 p_1+p_2 p_3+p_3 p_1+p_3 p_2=\sum_{k=1}^{|\mathcal{Y}|=3} \sum_{k^{\prime} \neq k} p_k p_{k^{\prime}} 240 | $$ 241 | 242 | 易证以上两式之和等于1,证明过程如下 243 | 244 | $$ 245 | \begin{aligned} 246 | &\sum_{k=1}^{|\mathcal{Y}|=3} p_k^2+\sum_{k=1}^{|\mathcal{Y}|=3} \sum_{k^{\prime} \neq k} p_k p_{k^{\prime}}\\ 247 | =&\left(p_1 p_1+p_2 p_2+p_3 p_3\right)+\left(p_1 p_2+p_1 p_3+p_2 p_1+p_2 p_3+p_3 p_1+p_3 p_2\right) \\ 248 | =&\left(p_1 p_1+p_1 p_2+p_1 p_3\right)+\left(p_2 p_1+p_2 p_2+p_2 p_3\right)+\left(p_3 p_1+p_3 p_2+p_3 p_3\right) \\ 249 | =&p_1\left(p_1+p_2+p_3\right)+p_2\left(p_1+p_2+p_3\right)+p_3\left(p_1+p_2+p_3\right) \\ 250 | =&p_1+p_2+p_3=1 251 | \end{aligned} 252 | $$ 253 | 254 | 所以可进一步推得式(4.5) 255 | 256 | $$ 257 | \operatorname{Gini}(D)=\sum_{k=1}^{|\mathcal{Y}|} \sum_{k^{\prime} \neq k} p_k p_{k^{\prime}}=1-\sum_{k=1}^{\mid \mathcal{Y |}} p_k^2 258 | $$ 259 | 260 | 261 | 从数据集中$D$任取两个样本,类别标记一致的概率越大表示其纯度越高(即大部分样本属于同一类),类别标记不一致的概率(即基尼值)越大表示纯度越低。 262 | 263 | ### 4.2.5 式(4.6)的解释 264 | 265 | 此为数据集$D$中属性$a$的基尼指数的定义,表示在属性$a$的取值已知的条件下,数据集$D$按照属性$a$的所有可能取值划分后的纯度。不过在构造CART决策树时并不会严格按照此式来选择最优划分属性,主要是因为CART决策树是一棵二叉树,如果用上式去选出最优划分属性,无法进一步选出最优划分属性的最优划分点。常用的CART决策树的构造算法如下[1]: 266 | 267 | (1)考虑每个属性$a$的每个可能取值$v$,将数据集$D$分为$a=v$和$a\neq 268 | v$两部分来计算基尼指数,即 269 | 270 | $$ 271 | \operatorname{Gini\_index}(D,a) = \frac{|D^{a=v}|}{|D|}\operatorname{Gini}(D^{a=v})+\frac{|D^{a\neq v}|}{|D|}\operatorname{Gini}(D^{a\neq v}) 272 | $$ 273 | 274 | 275 | 276 | (2)选择基尼指数最小的属性及其对应取值作为最优划分属性和最优划分点; 277 | 278 | (3)重复以上两步,直至满足停止条件。 279 | 280 | 下面以"西瓜书"中表4.2中西瓜数据集2.0为例来构造CART决策树,其中第一个最优划分属性和最优划分点的计算过程如下:以属性"色泽"为例,它有3个可能的取值:$\{\text{青绿}$,$\text{乌黑}$,$\text{浅白}\}$, 281 | 若使用该属性的属性值是否等于"青绿"对数据集$D$进行划分,则可得到2个子集,分别记为$D^1(\text{色泽}=\text{青绿}),D^2(\text{色泽}\not=\text{青绿})$。子集$D^1$包含编号$\{1,4,6,10,13,17\}$共6个样例,其中正例占$p_1=\frac{3}{6}$,反例占$p_2=\frac{3}{6}$;子集$D^2$包含编号$\{2,3,5,7,8,9,11,12,14,15,16\}$共11个样例,其中正例占$p_1=\frac{5}{11}$,反例占$p_2=\frac{6}{11}$,根据式(4.5)可计算出用"色泽=青绿"划分之后得到基尼指数为 282 | 283 | $$ 284 | \begin{aligned} 285 | &\operatorname{Gini\_index}(D,\text{色泽}=\text{青绿}) \\ 286 | =&\frac{6}{17}\times\left(1-\left(\frac{3}{6}\right)^2-\left(\frac{3}{6}\right)^2\right)+\frac{11}{17}\times\left(1-\left(\frac{5}{11}\right)^2-\left(\frac{6}{11}\right)^2\right) 287 | = 0.497 288 | \end{aligned} 289 | $$ 290 | 291 | 类似地,可以计算出不同属性取不同值的基尼指数如下: 292 | 293 | $$ 294 | \operatorname{Gini\_index}(D,\text{色泽}=\text{乌黑})=0.456 295 | $$ 296 | 297 | $$ 298 | \operatorname{Gini\_index}(D,\text{色泽}=\text{浅白})=0.426 299 | $$ 300 | 301 | $$ 302 | \operatorname{Gini\_index}(D,\text{根蒂}=\text{蜷缩})=0.456 303 | $$ 304 | 305 | $$ 306 | \operatorname{Gini\_index}(D,\text{根蒂}=\text{稍蜷})=0.496 307 | $$ 308 | 309 | $$ 310 | \operatorname{Gini\_index}(D,\text{根蒂}=\text{硬挺})=0.439 311 | $$ 312 | 313 | $$ 314 | \operatorname{Gini\_index}(D,\text{敲声}=\text{浊响})=0.450 315 | $$ 316 | 317 | $$ 318 | \operatorname{Gini\_index}(D,\text{敲声}=\text{沉闷})=0.494 319 | $$ 320 | 321 | $$ 322 | \operatorname{Gini\_index}(D,\text{敲声}=\text{清脆})=0.439 323 | $$ 324 | 325 | $$ 326 | \operatorname{Gini\_index}(D,\text{纹理}=\text{清晰})=0.286 327 | $$ 328 | 329 | $$ 330 | \operatorname{Gini\_index}(D,\text{纹理}=\text{稍稀})=0.437 331 | $$ 332 | 333 | $$ 334 | \operatorname{Gini\_index}(D,\text{纹理}=\text{模糊})=0.403 335 | $$ 336 | 337 | $$ 338 | \operatorname{Gini\_index}(D,\text{脐部}=\text{凹陷})=0.415 339 | $$ 340 | 341 | $$ 342 | \operatorname{Gini\_index}(D,\text{脐部}=\text{稍凹})=0.497 343 | $$ 344 | 345 | $$ 346 | \operatorname{Gini\_index}(D,\text{脐部}=\text{平坦})=0.362 347 | $$ 348 | 349 | $$ 350 | \operatorname{Gini\_index}(D,\text{触感}=\text{硬挺})=0.494 351 | $$ 352 | 353 | $$ 354 | \operatorname{Gini\_index}(D,\text{触感}=\text{软粘})=0.494 355 | $$ 356 | 357 | 358 | 特别地,对于属性"触感",由于它的可取值个数为2,所以其实只需计算其中一个取值的基尼指数即可。 359 | 360 | 根据上面的计算结果可知,$\operatorname{Gini\_index}(D,\text{纹理}=\text{清晰}) = 0.286$最小,所以选择属性"纹理"为最优划分属性并生成根节点,接着以"纹理=清晰"为最优划分点生成$D^1(\text{纹理}=\text{清晰})$、$D^2(\text{纹理}\not=\text{清晰})$两个子节点,对两个子节点分别重复上述步骤继续生成下一层子节点,直至满足停止条件。 361 | 362 | 以上便是CART决策树的构建过程,从构建过程可以看出,CART决策树最终构造出来的是一棵二叉树。CART除了决策树能处理分类问题以外,回归树还可以处理回归问题,下面给出CART回归树的构造算法。 363 | 364 | 假设给定数据集 365 | 366 | $$ 367 | D = \{(\boldsymbol{x}_1,y_1),(\boldsymbol{x}_2,y_2),\cdots,(\boldsymbol{x}_N,y_N)\} 368 | $$ 369 | 370 | 371 | 其中$\boldsymbol{x}\in \mathbb{R}^d$为$d$维特征向量,$y\in\mathbb{R}$是连续型随机变量。这是一个标准的回归问题的数据集,若把每个属性视为坐标空间中的一个坐标轴,则$d$个属性就构成了一个$d$维的特征空间,而每个$d$维特征向量$\boldsymbol{x}$就对应了$d$维的特征空间中的一个数据点。CART回归树的目标是将特征空间划分成若干个子空间,每个子空间都有一个固定的输出值,也就是凡是落在同一个子空间内的数据点$\boldsymbol{x}_i$, 372 | 它们所对应的输出值$y_i$恒相等,且都为该子空间的输出值。 373 | 374 | 那么如何划分出若干个子空间呢?这里采用一种启发式的方法。 375 | 376 | (1) 任意选择一个属性$a$,遍历其所有可能取值,根据下式找出属性$a$最优划分点$v^*$: 377 | 378 | $$ 379 | v^* = \arg\min_{v}\left[\min_{c_1}\sum_{\boldsymbol {x}_i\in{R_1(a,v)}}{(y_i - c_1)}^2 + \min_{c_2}\sum_{\boldsymbol {x}_i\in{R_2(a,v)}}{(y_i - c_2)}^2 \right] 380 | $$ 381 | 其中,$R_1(a,v)=\{\boldsymbol {x}|\boldsymbol {x}\in D^{a\leqslant v}\},R_2(a,v)=\{\boldsymbol {x}|\boldsymbol {x}\in D^{a > v}\}$,$c_1$和$c_2$分别为集合$R_1(a,v)$和$R_2(a,v)$中的样本$\boldsymbol{x}_i$对应的输出值$y_i$的均值,即 382 | 383 | $$ 384 | c_1=\operatorname{ave}(y_i | \boldsymbol{x}\in R_1(a,v))=\frac{1}{|R_1(a,v)|}\sum_{\boldsymbol {x}_i\in{R_1(a,v)}}y_i 385 | $$ 386 | 387 | $$ 388 | c_2=\operatorname{ave}(y_i | \boldsymbol {x}\in R_2(a,v))=\frac{1}{|R_2(a,v)|}\sum_{\boldsymbol {x}_i\in{R_2(a,v)}}y_i 389 | $$ 390 | 391 | (2) 遍历所有属性,找到最优划分属性 $a^*$ ,然后根据 $a^*$ 的最优划分点 $v^*$ 将特征空间划分为两个子空间,接着对每个子空间重复上述步骤,直至满足停止条件.这样就生成了一棵CART回归树,假设最终将特征空间划分为$M$个子空间$R_1,R_2,\cdots,R_M$,那么CART回归树的模型式可以表示为 392 | 393 | $$ 394 | f(\boldsymbol {x}) = \sum_{m=1}^{M}c_m\mathbb{I}(\boldsymbol {x}\in{R_m}) 395 | $$ 396 | 397 | 同理,其中的$c_m$表示的也是集合$R_m$中的样本$\boldsymbol{x}_i$对应的输出值$y_i$的均值。此式直观上的理解就是,对于一个给定的样本$\boldsymbol{x}_i$,首先判断其属于哪个子空间,然后将其所属的子空间对应的输出值作为该样本的预测值$y_i$。 398 | 399 | ## 4.3 剪枝处理 400 | 401 | 本节内容通俗易懂,跟着"西瓜书"中的例子动手演算即可,无需做过多解释。以下仅结合图4.5继续讨论一下图4.2中的递归返回条件。图4.5与图4.4均是基于信息增益生成的决策树,不同在于图4.4基于表4.1,而图4.5基于表4.2的训练集。 402 | 403 | 结点包含训练集"脐部"为稍凹的样本(编号6、7、15、17),当根据"根蒂"再次进行划分时不含有"根蒂"为硬挺的样本(递归返回情形(3)),而恰巧四个样本(编号6、7、15、17)含两个好瓜和两个坏瓜,因此叶结点硬挺的类别随机从类别好瓜和坏瓜中选择其一。 404 | 405 | 结点包含训练集"脐部"为稍凹且"根蒂"为稍蜷的样本(编号6、7、15),当根据"色泽"再次进行划分时不含有"色泽"为浅白的样本(递归返回情形(3)),因此叶结点浅白类别标记为好瓜(编号6、7、15样本中,前两个为好瓜,最后一个为坏瓜)。 406 | 407 | 结点包含训练集"脐部"为稍凹、"根蒂"为稍蜷、"色泽"为乌黑的样本(编号7、15),当根据"纹理"再次进行划分时不含有"纹理"为模糊的样本(递归返回情形(3)),而恰巧两个样本(编号7、15)含好瓜和坏瓜各一个,因此叶结点模糊的类别随机从类别好瓜和坏瓜中选择其一。 408 | 409 | 图4.5两次随机选择均选为好瓜,实际上表示了一种归纳偏好(参见第1章1.4节)。 410 | 411 | ## 4.4 连续与缺失值 412 | 413 | 连续与缺失值的预处理均属于特征工程的范畴。 414 | 415 | 有些分类器只能使用离散属性,当遇到连续属性时则需要特殊处理,有兴趣可以通过关键词"连续属性离散化"或者"Discretization"查阅更多处理方法。结合第11章11.2节至11.4节分别介绍的"过滤式"算法、"包裹式"算法、"嵌入式"算法的概念,若先使用某个离散化算法对连续属性离散化后再调用C4.5决策树生成算法,则是一种过滤式算法,若如4.4.1节所述,则应该属于嵌入式算法,因为并没有以学习器的预测结果准确率为评价标准,而是与决策树生成过程融为一体,因此不应该划入包裹式算法。 416 | 417 | 类似地,有些分类器不能使用含有缺失值的样本,需要进行预处理。常用的缺失值填充方法是:对于连续属性,采用该属性的均值进行填充;对于离散属性,采用属性值个数最多的样本进行填充。这实际上假设了数据集中的样本是基于独立同分布采样得到的。 418 | 特别地,一般缺失值仅指样本的属性值有缺失,若类别标记有缺失,一般会直接抛弃该样本。当然,也可以尝试根据第11章11.6节的式(11.24),在低秩假设下对数据集缺失值进行填充。 419 | 420 | ### 4.4.1 式(4.7)的解释 421 | 422 | 此式所表达的思想很简单,就是以每两个相邻取值的中点作为划分点。下面以"西瓜书"中表4.3中西瓜数据集3.0为例来说明此式的用法。对于"密度"这个连续属性,已观测到的可能取值为$\{0.243,0.245,0.343,0.360,0.403,0.437,0.481,0.556,0.593,0.608,0.634,0.639,0.657,0.666,0.697,0.719,0.774\}$共17个值,根据式(4.7)可知,此时$i$依次取1到16,那么"密度"这个属性的候选划分点集合为 423 | 424 | $$ 425 | \begin{aligned} 426 | T_{a} = \{&\frac{0.243+0.245}{2},\frac{0.245+0.343}{2},\frac{0.343+0.360}{2}, \frac{0.360+0.403}{2},\frac{0.403+0.437}{2},\frac{0.437+0.481}{2},\\ 427 | &\frac{0.481+0.556}{2},\frac{0.556+0.593}{2},\frac{0.593+0.608}{2},\frac{0.608+0.634}{2},\frac{0.634+0.639}{2},\frac{0.639+0.657}{2},\\ 428 | &\frac{0.657+0.666}{2},\frac{0.666+0.697}{2}, 429 | \frac{0.697+0.719}{2},\frac{0.719+0.774}{2}\} 430 | \end{aligned} 431 | $$ 432 | 433 | 434 | 435 | ### 4.4.2 式(4.8)的解释 436 | 437 | 此式是式(4.2)用于离散化后的连续属性的版本,其中$T_a$由式(4.7)计算得来,$\lambda\in\{-,+\}$表示属性$a$的取值分别小于等于和大于候选划分点$t$时的情形,即当$\lambda=-$时有$D^{\lambda}_t=D^{a\leqslant t}_t$,当$\lambda=+$时有$D^{\lambda}_t=D^{a> t}_t$。 438 | 439 | ### 4.4.3 式(4.12)的解释 440 | 441 | 该式括号内与式(4.2)基本一样,区别在于式(4.2)中的$\frac{\left|D^v\right|}{|D|}$改为式(4.11)的$\tilde{r}_v$,在根据式(4.1)计算信息熵时第$k$类样本所占的比例改为式(4.10)的$\tilde{p}_k$;所有计算结束后再乘以式(4.9)的$\rho$。 442 | 443 | 有关式(4.9) (4.10) 444 | (4.11)中的权重$w_{\boldsymbol{x}}$,初始化为1。以图4.9为例,在根据"纹理"进行划分时,除编号为8、10的两个样本在此属性缺失之外,其余样本根据自身在该属性上的取值分别划入稍糊、清晰、模糊三个子集,而编号为8、10的两个样本则要按比例同时划入三个子集。具体来说,稍糊子集包含样本7、9、13、14、17共5个样本,清晰子集包含样本1、2、3、4、5、6、15共7个样本,模糊子集包含样本10、11、16共3个样本,总共15个在该属性不含缺失值的样本,而此时各样本的权重$w_{\boldsymbol{x}}$初始化为1,因此编号为8、10的两个样本分到稍糊、清晰、模糊三个子集的权重分别为$\frac{5}{15}$,$\frac{7}{15}$和$\frac{3}{15}$。 445 | 446 | ## 4.5 多变量决策树 447 | 448 | 本节内容也通俗易懂,以下仅对部分图做进一步解释说明。 449 | 450 | ### 4.5.1 图(4.10)的解释 451 | 452 | 只想用该图强调一下,离散属性不可以重复使用,但连续属性是可以重复使用的。 453 | 454 | ### 4.5.2 图(4.11)的解释 455 | 456 | 对照"西瓜书"中图4.10的决策树,下面给出图4.11中的划分边界产出过程。 457 | 458 | 在下图4-1中,斜纹阴影部分表示已确定标记为坏瓜的样本,点状阴影部分表示已确定标记为好瓜的样本,空白部分表示需要进一步划分的样本。 459 | 第一次划分条件是"含糖率$\leqslant0.126?$",满足此条件的样本直接被标记为坏瓜(如图4-1(a)斜纹阴影部分所示),而不满足此条件的样本还需要进一步划分(如图4-1(a)空白部分所示)。 460 | 461 | 在第一次划分的基础上对图4-1(a)空白部分继续进行划分,第二次划分条件是"密度$\leqslant0.381?$",满足此条件的样本直接被标记为坏瓜(如图4-1(b)新增斜纹阴影部分所示),而不满足此条件的样本还需要进一步划分(如图4-1(b)空白部分所示)。 462 | 463 | 在第二次划分的基础上对图4-1(b)空白部分继续进行划分,第三次划分条件是"含糖率$\leqslant0.205?$",不满足此条件的样本直接标记为好瓜(如图4-1(c)新增点状阴影部分所示),而满足此条件的样本还需进一步划分(如图4-1(c)空白部分所示)。 464 | 465 | 在第三次划分的基础上对图4-1(c)空白部分继续进行划分,第四次划分的条件是"密度$\leqslant0.560?$",满足此条件的样本直接标记为好瓜(如图4-1(d)新增点状阴影部分所示),而不满足此条件的样本直接标记为坏瓜(如图4-1(d)新增斜纹阴影部分所示)。 466 | 467 | 经过四次划分已无空白部分,表示决策树生成完毕,从图4-1(d)中可以清晰地看出好瓜与坏瓜的分类边界。 468 | 469 | 470 | ![图4-1 图4.11中的划分边界产出过程](https://datawhale-business.oss-cn-hangzhou.aliyuncs.com/dd2a06f4-216b-4b91-8cc7-6e14317f821b-4_11.svg) 471 | 472 | ## 参考文献 473 | [1] 李航. 统计学习方法. 清华大学出版社, 2012. 474 | -------------------------------------------------------------------------------- /docs/chapter4/resources/4_11.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/docs/chapter4/resources/4_11.pptx -------------------------------------------------------------------------------- /docs/chapter4/resources/4_11_a.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/docs/chapter4/resources/4_11_a.pdf -------------------------------------------------------------------------------- /docs/chapter4/resources/4_11_b.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/docs/chapter4/resources/4_11_b.pdf -------------------------------------------------------------------------------- /docs/chapter4/resources/4_11_c.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/docs/chapter4/resources/4_11_c.pdf -------------------------------------------------------------------------------- /docs/chapter4/resources/4_11_d.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/docs/chapter4/resources/4_11_d.pdf -------------------------------------------------------------------------------- /docs/chapter5/chapter5.md: -------------------------------------------------------------------------------- 1 | ```{important} 2 | 参与组队学习的同学须知: 3 | 4 | 本章学习时间:3天 5 | 6 | 本章配套视频教程:https://www.bilibili.com/video/BV1Mh411e7VU?p=8 7 | ``` 8 | 9 | # 第5章 神经网络 10 | 11 | 神经网络类算法可以堪称当今最主流的一类机器学习算法,其本质上和前几章讲到的线性回归、对数几率回归、决策树等算法一样均属于机器学习算法,也是被发明用来完成分类和回归等任务。不过由于神经网络类算法在如今超强算力的加持下效果表现极其出色,且从理论角度来说神经网络层堆叠得越深其效果越好,因此也单独称用深层神经网络类算法所做的机器学习为深度学习,属于机器学习的子集。 12 | 13 | ## 5.1 神经元模型 14 | 15 | 本节对神经元模型的介绍通俗易懂,在此不再赘述。 16 | 本节第2段提到"阈值"(threshold)的概念时,"西瓜书"左侧边注特意强调是"阈(yù)"而不是"阀(fá)",这是因为该字确实很容易认错,读者注意一下即可。 17 | 18 | 图5.1所示的M-P神经元模型,其中的"M-P"便是两位作者McCulloch和Pitts的首字母简写。 19 | 20 | ## 5.2 感知机与多层网络 21 | 22 | ### 5.2.1 式(5.1)和式(5.2)的推导 23 | 24 | 此式是感知机学习算法中的参数更新公式,下面依次给出感知机模型、学习策略和学习算法的具体介绍[1]: 25 | 26 | **感知机模型**:已知感知机由两层神经元组成,故感知机模型的公式可表示为 27 | 28 | 29 | $$ 30 | y=f\left(\sum\limits_{i=1}^{n}w_ix_i-\theta\right)=f(\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}-\theta) 31 | $$ 32 | 33 | 34 | 其中,$\boldsymbol{x}\in\mathbb{R}^n$,为样本的特征向量,是感知机模型的输入;$\boldsymbol{w},\theta$是感知机模型的参数,$\boldsymbol{w}\in\mathbb{R}^n$,为权重,$\theta$为阈值。假定$f$为阶跃函数,那么感知机模型的公式可进一步表示为 **(用$\varepsilon(\cdot)$代表阶跃函数)** 35 | 36 | 37 | $$ 38 | y=\varepsilon(\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}-\theta)=\left\{\begin{array}{rcl} 39 | 1,& {\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x} -\theta\geqslant 0};\\ 40 | 0,& {\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x} -\theta < 0}.\\ 41 | \end{array} \right. 42 | $$ 43 | 44 | 由于$n$维空间中的超平面方程为 45 | 46 | 47 | $$ 48 | w_1x_1+w_2x_2+\cdots+w_nx_n+b =\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x} +b=0 49 | $$ 50 | 51 | 52 | 所以此时感知机模型公式中的$\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}-\theta$可以看作是$n$维空间中的一个超平面,将$n$维空间划分为$\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}-\theta\geqslant 0$和$\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}-\theta<0$两个子空间,落在前一个子空间的样本对应的模型输出值为1,落在后一个子空间的样本对应的模型输出值为0,如此便实现了分类功能。 53 | 54 | **感知机学习策略**:给定一个数据集 55 | 56 | 57 | $$ 58 | T=\{(\boldsymbol{x}_1,y_1),(\boldsymbol{x}_2,y_2),\cdots,(\boldsymbol{x}_N,y_N)\} 59 | $$ 60 | 61 | 62 | 其中$\boldsymbol{x}_i\in\mathbb{R}^n,y_i\in\{0,1\},i=1,2,\cdots,N$。如果存在某个超平面 63 | 64 | 65 | $$ 66 | \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}+b=0 67 | $$ 68 | 69 | 70 | 能将数据集$T$中的正样本和负样本完全正确地划分到超平面两侧,即对所有$y_i=1$的样本$\boldsymbol{x}_i$有$\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b\geqslant0$,对所有$y_i=0$的样本$\boldsymbol{x}_i$有$\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}_i+b<0$,则称数据集$T$线性可分,否则称数据集$T$线性不可分。 71 | 72 | 现给定一个线性可分的数据集$T$,感知机的学习目标是求得能对数据集$T$中的正负样本完全正确划分的分离超平面 73 | 74 | 75 | $$ 76 | \boldsymbol{w}^{\mathrm{T}}\boldsymbol{x}-\theta=0 77 | $$ 78 | 79 | 80 | 假设此时误分类样本集合为$M\subseteq T$,对任意一个误分类样本$(\boldsymbol{x},y)\in M$来说,当$\boldsymbol{w}^\mathrm{T}\boldsymbol{x}-\theta\geqslant0$时,模型输出值为$\hat{y}=1$,样本真实标记为$y=0$;反之,当$\boldsymbol{w}^\mathrm{T}\boldsymbol{x}-\theta<0$时,模型输出值为$\hat{y}=0$,样本真实标记为$y=1$。综合两种情形可知,以下公式恒成立: 81 | 82 | 83 | $$ 84 | (\hat{y}-y)\left(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}-\theta\right)\geqslant0 85 | $$ 86 | 87 | 88 | 所以,给定数据集$T$,其损失函数可以定义为 89 | 90 | 91 | $$ 92 | L(\boldsymbol{w},\theta)=\sum_{\boldsymbol{x}\in M}(\hat{y}-y) 93 | \left(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}-\theta\right) 94 | $$ 95 | 96 | 97 | 显然,此损失函数是非负的。如果没有误分类点,则损失函数值为0。而且,误分类点越少,误分类点离超平面越近(超平面相关知识参见本书6.1.2节),损失函数值就越小。因此,给定数据集$T$,损失函数$L(\boldsymbol{w},\theta)$是关于$\boldsymbol{w},\theta$的连续可导函数。 98 | 99 | **感知机学习算法**:感知机模型的学习问题可以转化为求解损失函数的最优化问题,具体地,给定数据集 100 | 101 | 102 | $$ 103 | T=\{(\boldsymbol{x}_1,y_1),(\boldsymbol{x}_2,y_2),\cdots,(\boldsymbol{x}_N,y_N)\} 104 | $$ 105 | 106 | 107 | 其中$\boldsymbol{x}_i \in \mathbb{R}^n,y_i \in\{0,1\}$,求参数$\boldsymbol{w},\theta$,使其为极小化损失函数的解: 108 | 109 | 110 | $$ 111 | \min\limits_{\boldsymbol{w},\theta}L(\boldsymbol{w},\theta)=\min\limits_{\boldsymbol{w},\theta}\sum_{\boldsymbol{x_i}\in M}(\hat{y}_i-y_i)(\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i-\theta) 112 | $$ 113 | 114 | 115 | 其中$M\subseteq T$为误分类样本集合。若将阈值$\theta$看作一个固定输入为$-1$的"哑节点",即 116 | 117 | 118 | $$ 119 | -\theta=-1\cdot w_{n+1}=x_{n+1}\cdot w_{n+1} 120 | $$ 121 | 122 | 123 | 那么$\boldsymbol{w}^\mathrm{T}\boldsymbol{x}_i-\theta$可化简为 124 | 125 | 126 | $$ 127 | \begin{aligned} 128 | \boldsymbol{w}^\mathrm{T}\boldsymbol{x_i}-\theta&=\sum 129 | \limits_{j=1}^n w_jx_j+x_{n+1}\cdot w_{n+1}\\ 130 | &=\sum\limits_{j=1}^{n+1}w_jx_j\\ 131 | &=\boldsymbol{w}^{\mathrm{T}}\boldsymbol{x_i} 132 | \end{aligned} 133 | $$ 134 | 135 | 136 | 其中$\boldsymbol{x_i} \in \mathbb{R}^{n+1},\boldsymbol{w} \in 137 | \mathbb{R}^{n+1}$。根据该公式,可将要求解的极小化问题进一步简化为 138 | 139 | 140 | $$ 141 | \min\limits_{\boldsymbol{w}}L(\boldsymbol{w})=\min\limits_{\boldsymbol{w}}\sum_{\boldsymbol{x_i}\in M}(\hat{y}_i-y_i)\boldsymbol{w}^\mathrm{T}\boldsymbol{x_i} 142 | $$ 143 | 144 | 145 | 假设误分类样本集合$M$固定,那么可以求得损失函数$L(\boldsymbol{w})$的梯度 146 | 147 | 148 | $$ 149 | \nabla_{\boldsymbol{w}}L(\boldsymbol{w})=\sum_{\boldsymbol{x_i}\in M}(\hat{y}_i-y_i)\boldsymbol{x_i} 150 | $$ 151 | 152 | 153 | 感知机的学习算法具体采用的是随机梯度下降法,即在极小化过程中,不是一次使$M$中所有误分类点的梯度下降,而是一次随机选取一个误分类点并使其梯度下降。 154 | 所以权重$\boldsymbol{w}$的更新公式为 155 | 156 | 157 | $$ 158 | \boldsymbol w \leftarrow \boldsymbol w+\Delta \boldsymbol w 159 | $$ 160 | 161 | 162 | 163 | 164 | $$ 165 | \Delta \boldsymbol w=-\eta(\hat{y}_i-y_i)\boldsymbol x_i=\eta(y_i-\hat{y}_i)\boldsymbol x_i 166 | $$ 167 | 168 | 169 | 相应地,$\boldsymbol{w}$中的某个分量$w_i$的更新公式即式(5.2)。 170 | 171 | 实践中常用的求解方法是先随机初始化一个模型权重$\boldsymbol{w}_{0}$,此时将训练集中的样本一一代入模型便可确定误分类点集合$M$,然后从$M$中随机抽选取一个误分类点计算得到$\Delta \boldsymbol{w}$,接着按照上述权重更新公式计算得到新的权重$\boldsymbol{w}_{1}=\boldsymbol{w}_{0}+\Delta \boldsymbol{w}$,并重新确定误分类点集合,如此迭代直至误分类点集合为空,即训练样本中的样本均完全正确分类。显然,随机初始化的$\boldsymbol{w}_{0}$不同,每次选取的误分类点不同,最后都有可能导致求解出的模型不同,因此感知模型的解不唯一。 172 | 173 | ### 5.2.2 图5.5的解释 174 | 175 | 图5.5中$(0,0),(0,1),(1,0),(1,1)$这4个样本点实现"异或"计算的过程如下: 176 | 177 | 178 | $$ 179 | (x_1,x_2)\rightarrow h_1=\varepsilon(x_1-x_2-0.5),h_2=\varepsilon(x_2-x_1-0.5)\rightarrow y=\varepsilon(h_1+h_2-0.5) 180 | $$ 181 | 182 | 183 | 以$(0,1)$为例,首先求得$h_1=\varepsilon(0-1-0.5)=0,h_2=\varepsilon(1-0-0.5)=1$,然后求得$y=\varepsilon(0+1-0.5)=1$。 184 | 185 | ## 5.3 误差逆传播算法 186 | 187 | ### 5.3.1 式(5.10)的推导 188 | 189 | 参见式(5.12)的推导 190 | 191 | ### 5.3.2 式(5.12)的推导 192 | 193 | 因为 194 | 195 | $$ 196 | \Delta \theta_j = -\eta \cfrac{\partial E_k}{\partial \theta_j} 197 | $$ 198 | 199 | 200 | 又 201 | 202 | $$ 203 | \begin{aligned} 204 | \cfrac{\partial E_k}{\partial \theta_j} &= \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot\cfrac{\partial \hat{y}_j^k}{\partial \theta_j} \\ 205 | &= \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot\cfrac{\partial [f(\beta_j-\theta_j)]}{\partial \theta_j} \\ 206 | &=\cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot f^{\prime}(\beta_j-\theta_j) \times (-1) \\ 207 | &=\cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot f\left(\beta_{j}-\theta_{j}\right)\times\left[1-f\left(\beta_{j}-\theta_{j}\right)\right] \times (-1) \\ 208 | &=\cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot \hat{y}_j^k\left(1-\hat{y}_j^k\right) \times (-1) \\ 209 | &=\cfrac{\partial\left[ \cfrac{1}{2} \sum\limits_{j=1}^{l}\left(\hat{y}_{j}^{k}-y_{j}^{k}\right)^{2}\right]}{\partial \hat{y}_{j}^{k}} \cdot \hat{y}_j^k\left(1-\hat{y}_j^k\right) \times (-1) \\ 210 | &=\cfrac{1}{2}\times 2(\hat{y}_j^k-y_j^k)\times 1 \cdot\hat{y}_j^k\left(1-\hat{y}_j^k\right) \times (-1) \\ 211 | &=(y_j^k-\hat{y}_j^k)\hat{y}_j^k\left(1-\hat{y}_j^k\right) \\ 212 | &= g_j 213 | \end{aligned} 214 | $$ 215 | 216 | 所以 217 | 218 | 219 | $$ 220 | \Delta \theta_j = -\eta \cfrac{\partial E_k}{\partial \theta_j}=-\eta g_j 221 | $$ 222 | 223 | 224 | 225 | ### 5.3.3 式(5.13)的推导 226 | 227 | 因为 228 | 229 | $$ 230 | \Delta v_{ih} = -\eta \cfrac{\partial E_k}{\partial v_{ih}} 231 | $$ 232 | 233 | 又 234 | 235 | 236 | $$ 237 | \begin{aligned} 238 | \cfrac{\partial E_k}{\partial v_{ih}} &= \sum_{j=1}^{l} \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot \cfrac{\partial \hat{y}_j^k}{\partial \beta_j} \cdot \cfrac{\partial \beta_j}{\partial b_h} \cdot \cfrac{\partial b_h}{\partial \alpha_h} \cdot \cfrac{\partial \alpha_h}{\partial v_{ih}} \\ 239 | &= \sum_{j=1}^{l} \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot \cfrac{\partial \hat{y}_j^k}{\partial \beta_j} \cdot \cfrac{\partial \beta_j}{\partial b_h} \cdot \cfrac{\partial b_h}{\partial \alpha_h} \cdot x_i \\ 240 | &= \sum_{j=1}^{l} \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot \cfrac{\partial \hat{y}_j^k}{\partial \beta_j} \cdot \cfrac{\partial \beta_j}{\partial b_h} \cdot f^{\prime}(\alpha_h-\gamma_h) \cdot x_i \\ 241 | &= \sum_{j=1}^{l} \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot \cfrac{\partial \hat{y}_j^k}{\partial \beta_j} \cdot w_{hj} \cdot f^{\prime}(\alpha_h-\gamma_h) \cdot x_i \\ 242 | &= \sum_{j=1}^{l} (-g_j) \cdot w_{hj} \cdot f^{\prime}(\alpha_h-\gamma_h) \cdot x_i \\ 243 | &= -f^{\prime}(\alpha_h-\gamma_h) \cdot \sum_{j=1}^{l} g_j \cdot w_{hj} \cdot x_i\\ 244 | &= -b_h(1-b_h) \cdot \sum_{j=1}^{l} g_j \cdot w_{hj} \cdot x_i \\ 245 | &= -e_h \cdot x_i 246 | \end{aligned} 247 | $$ 248 | 249 | 所以 250 | 251 | 252 | $$ 253 | \Delta v_{ih} =-\eta \cfrac{\partial E_k}{\partial v_{ih}} =\eta e_h x_i 254 | $$ 255 | 256 | 257 | 258 | ### 5.3.4 式(5.14)的推导 259 | 260 | 因为 261 | 262 | $$ 263 | \Delta \gamma_h = -\eta \cfrac{\partial E_k}{\partial \gamma_h} 264 | $$ 265 | 266 | 267 | 又 268 | 269 | $$ 270 | \begin{aligned} 271 | \cfrac{\partial E_k}{\partial \gamma_h} &= \sum_{j=1}^{l} \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot \cfrac{\partial \hat{y}_j^k}{\partial \beta_j} \cdot \cfrac{\partial \beta_j}{\partial b_h} \cdot \cfrac{\partial b_h}{\partial \gamma_h} \\ 272 | &= \sum_{j=1}^{l} \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot \cfrac{\partial \hat{y}_j^k}{\partial \beta_j} \cdot \cfrac{\partial \beta_j}{\partial b_h} \cdot f^{\prime}(\alpha_h-\gamma_h) \cdot (-1) \\ 273 | &= -\sum_{j=1}^{l} \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot \cfrac{\partial \hat{y}_j^k}{\partial \beta_j} \cdot w_{hj} \cdot f^{\prime}(\alpha_h-\gamma_h)\\ 274 | &= -\sum_{j=1}^{l} \cfrac{\partial E_k}{\partial \hat{y}_j^k} \cdot \cfrac{\partial \hat{y}_j^k}{\partial \beta_j} \cdot w_{hj} \cdot b_h(1-b_h)\\ 275 | &= \sum_{j=1}^{l}g_j\cdot w_{hj} \cdot b_h(1-b_h)\\ 276 | &=e_h 277 | \end{aligned} 278 | $$ 279 | 280 | 所以 281 | 282 | 283 | $$ 284 | \Delta \gamma_h=-\eta\cfrac{\partial E_k}{\partial \gamma_h} = -\eta e_h 285 | $$ 286 | 287 | 288 | 289 | ### 5.3.5 式(5.15)的推导 290 | 291 | 参见式(5.13)的推导 292 | 293 | ## 5.4 全局最小与局部极小 294 | 295 | 由图5.10可以直观理解局部极小和全局最小的概念,其余概念如模拟退火、遗传算法、启发式等,则需要查阅专业资料系统化学习。 296 | 297 | ## 5.5 其他常见神经网络 298 | 299 | 本节所提到的神经网络其实如今已不太常见,更为常见的神经网络是下一节深度学习里提到的卷积神经网络、循环神经网络等。 300 | 301 | ### 5.5.1 式(5.18)的解释 302 | 303 | 从式(5.18)可以看出,对于样本$\boldsymbol{x}$来说,RBF网络的输出为$q$个$\rho(\boldsymbol{x},\boldsymbol{c}_{i})$的线性组合。若换个角度来看这个问题,将$q$个$\rho(\boldsymbol{x},\boldsymbol{c}_{i})$当作是将$d$维向量$\boldsymbol{x}$基于式(5.19)进行特征转换后所得的$q$维特征,即$\tilde{\boldsymbol{x}}=\left(\rho(\boldsymbol{x},\boldsymbol{c}_{1});\rho(\boldsymbol{x},\boldsymbol{c}_{2});...;\rho(\boldsymbol{x},\boldsymbol{c}_{q})\right)$,则式(5.18)求线性加权系数$w_{i}$相当于求解第3.2节的线性回归$f(\tilde{\boldsymbol{x}})=\boldsymbol{w}^{\mathrm{T}}\tilde{\boldsymbol{x}}+b$,对于仅有的差别$b$来说,当然可以在式(5.18)中补加一个$b$。因此,RBF网络在确定$q$个神经元中心$\boldsymbol{c}_{i}$之后,接下来要做的就是线性回归。 304 | 305 | ### 5.5.2 式(5.20)的解释 306 | 307 | Boltzmann机(Restricted Boltzmann 308 | Machine,简称RBM)本质上是一个引入了隐变量的无向图模型,其能量可理解为 309 | 310 | 311 | $$ 312 | E_{\rm graph}=E_{\rm edges}+E_{\rm nodes} 313 | $$ 314 | 315 | 316 | 其中,$E_{\rm graph}$表示图的能量,$E_{\rm edges}$表示图中边的能量,$E_{\rm nodes}$表示图中结点的能量。边能量由两连接结点的值及其权重的乘积确定,即$E_{{\rm edge}_{ij}}=-w_{ij}s_is_j$;结点能量由结点的值及其阈值的乘积确定,即$E_{{\rm node}_i}=-\theta_is_i$。图中边的能量为所有边能量之和为 317 | 318 | 319 | $$ 320 | E_{\rm edges}=\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}E_{{\rm edge}_{ij}}=-\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}w_{ij}s_is_j 321 | $$ 322 | 323 | 324 | 图中结点的能量为所有结点能量之和 325 | 326 | 327 | $$ 328 | E_{\rm nodes}=\sum_{i=1}^nE_{{\rm node}_i}=-\sum_{i=1}^n\theta_is_i 329 | $$ 330 | 331 | 332 | 故状态向量$\boldsymbol{s}$所对应的Boltzmann机能量 333 | 334 | 335 | $$ 336 | E_{\rm graph}=E_{\rm edges}+E_{\rm nodes}=-\sum_{i=1}^{n-1}\sum_{j=i+1}^{n}w_{ij}s_is_j-\sum_{i=1}^n\theta_is_i 337 | $$ 338 | 339 | 340 | 341 | ### 5.5.3 式(5.22)的解释 342 | 343 | 受限Boltzmann机仅保留显层与隐层之间的连接。显层状态向量$\boldsymbol{v}=(v_1;v_2;...;v_d)$,隐层状态向量$\boldsymbol{h}=(h_1;h_2;...;h_q)$。显层状态向量$\boldsymbol{v}$中的变量$v_i$仅与隐层状态向量$\boldsymbol{h}$有关,所以给定隐层状态向量$\boldsymbol{h}$,有$v_1,v_2,...,v_d$相互独立。 344 | 345 | ### 5.5.4 式(5.23)的解释 346 | 347 | 由式(5.22)的解释同理可得,给定显层状态向量$\boldsymbol{v}$,有$h_1,h_2,...,h_q$相互独立。 348 | 349 | ## 5.6 深度学习 350 | 351 | "西瓜书"在本节并未对如今深度学习领域的诸多经典神经网络作展开介绍,而是从更宏观的角度详细解释了应该如何理解深度学习。因此,本书也顺着"西瓜书"的思路对深度学习相关概念作进一步说明,对深度学习的经典神经网络感兴趣的读者可查阅其他相关书籍进行系统性学习。 352 | 353 | ### 5.6.1 什么是深度学习 354 | 355 | 深度学习就是很深层的神经网络,而神经网络属于机器学习算法的范畴,因此深度学习是机器学习的子集。 356 | 357 | ### 5.6.2 深度学习的起源 358 | 359 | 深度学习中的经典神经网络以及用于训练神经网络的BP算法其实在很早就已经被提出,例如卷积神经网络[2]是在1989提出,BP算法[3]是在1986年提出,但是在当时的计算机算力水平下,其他非神经网络类算法(例如当时红极一时的支持向量机算法)的效果优于神经网络类算法,因此神经网络类算法进入瓶颈期。随着计算机算力的不断提升,以及2012年Hinton和他的学生提出了AlexNet并在ImageNet评测中以明显优于第二名的成绩夺冠后,引起了学术界和工业界的广泛关注,紧接着三位深度学习之父LeCun、Bengio和Hinton在2015年正式提出深度学习的概念,自此深度学习开始成为机器学习的主流研究方向。 360 | 361 | ### 5.6.3 怎么理解特征学习 362 | 363 | 举例来说,用非深度学习算法做西瓜分类时,首先需要人工设计西瓜的各个特征,比如根蒂、色泽等,然后将其表示为数学向量,这些过程统称为"特征工程",完成特征工程后用算法分类即可,其分类效果很大程度上取决于特征工程做得是否够好。而对于深度学习算法来说,只需将西瓜的图片表示为数学向量输入,输出层设置为想要的分类结果即可(例如二分类通常设置为对数几率回归),之前的"特征工程"交由神经网络来自动完成,即让神经网络进行"特征学习",通过在输出层约束分类结果,神经网络会自动从西瓜的图片上提取出有助于西瓜分类的特征。 364 | 365 | 因此,如果分别用对数几率回归和卷积神经网络来做西瓜分类,其算法运行流程分别是"人工特征工程$\rightarrow$对数几率回归分类"和"卷积神经网络特征学习$\rightarrow$对数几率回归分类"。 366 | 367 | ## 参考文献 368 | [1] 李航. 统计学习方法. 清华大学出版社, 2012. 369 | 370 | [2] Yann LeCun, Bernhard Boser, John S Denker, Donnie Henderson, Richard E Howard, Wayne Hub- 371 | bard, and Lawrence D Jackel. Backpropagation applied to handwritten zip code recognition. Neural 372 | computation, 1(4):541–551, 1989. 373 | 374 | [3] David E Rumelhart, Geoffrey E Hinton, and Ronald J Williams. Learning representations by back- 375 | propagating errors. nature, 323(6088):533–536, 1986. 376 | -------------------------------------------------------------------------------- /docs/chapter9/chapter9.md: -------------------------------------------------------------------------------- 1 | ```{important} 2 | 参与组队学习的同学须知: 3 | 4 | 本章学习时间:3天 5 | 6 | 本章配套视频教程:https://www.bilibili.com/video/BV1Mh411e7VU?p=14 7 | ``` 8 | 9 | # 第9章 聚类 10 | 11 | 到目前为止,前面章节介绍的方法都是针对监督学习(supervised 12 | learning)的,本章介绍的聚类(clustering)和下一章介绍的降维属于无监督学习(unsupervised 13 | learning)。 14 | 15 | ## 9.1 聚类任务 16 | 17 | 单词"cluster"既是动词也是名词,作为名词时翻译为"簇",即聚类得到的子集;一般谈到"聚类"这个概念时对应其动名词形式"clustering"。 18 | 19 | ## 9.2 性能度量 20 | 21 | 本节给出了聚类性能度量的三种外部指标和两种内部指标,其中式(9.5) 22 | \~式(9.7)是基于式(9.1) 23 | \~式(9.4)导出的三种外部指标,而式(9.12)和式(9.13)是基于式(9.8) 24 | \~式(9.11)导出的两种内部指标。读本节内容需要心里清楚的一点:本节给出的指标仅是该领域的前辈们定义的指标,在个人研究过程中可以根据需要自己定义,说不定就会被业内同行广泛使用。 25 | 26 | ### 9.2.1 式(9.5)的解释 27 | 28 | 给定两个集合$A$和$B$,则Jaccard系数定义为如下公式 29 | 30 | 31 | $$ 32 | JC=\frac{|A\bigcap B|}{|A\bigcup B|}=\frac{|A\bigcap B|}{|A|+|B|-|A\bigcap B|} 33 | $$ 34 | 35 | 36 | Jaccard系数可以用来描述两个集合的相似程度。 37 | 推论:假设全集$U$共有$n$个元素,且$A\subseteq U$,$B\subseteq U$,则每一个元素的位置共有四种情况: 38 | 39 | 1. 元素同时在集合$A$和$B$中,这样的元素个数记为$M_{11}$; 40 | 41 | 2. 元素出现在集合$A$中,但没有出现在集合$B$中,这样的元素个数记为$M_{10}$; 42 | 43 | 3. 元素没有出现在集合$A$中,但出现在集合$B$中,这样的元素个数记为$M_{01}$; 44 | 45 | 4. 元素既没有出现在集合$A$中,也没有出现在集合$B$中,这样的元素个数记为$M_{00}$。 46 | 47 | 根据Jaccard系数的定义,此时的Jaccard系数为如下公式 48 | 49 | 50 | $$ 51 | \mathrm{JC}=\frac{M_{11}}{M_{11}+M_{10}+M_{01}} 52 | $$ 53 | 54 | 55 | 由于聚类属于无监督学习,事先并不知道聚类后样本所属类别的类别标记所代表的意义,即便参考模型的类别标记意义是已知的,我们也无法知道聚类后的类别标记与参考模型的类别标记是如何对应的,况且聚类后的类别总数与参考模型的类别总数还可能不一样,因此只用单个样本无法衡量聚类性能的好坏。 56 | 57 | 由于外部指标的基本思想就是以参考模型的类别划分为参照,因此如果某一个样本对中的两个样本在聚类结果中同属于一个类,在参考模型中也同属于一个类,或者这两个样本在聚类结果中不同属于一个类,在参考模型中也不同属于一个类,那么对于这两个样本来说这是一个好的聚类结果。 58 | 59 | 总的来说所有样本对中的两个样本共存在四种情况: 60 | 61 | 1. 样本对中的两个样本在聚类结果中属于同一个类,在参考模型中也属于同一个类; 62 | 63 | 2. 样本对中的两个样本在聚类结果中属于同一个类,在参考模型中不属于同一个类; 64 | 65 | 3. 样本对中的两个样本在聚类结果中不属于同一个类,在参考模型中属于同一个类; 66 | 67 | 4. 样本对中的两个样本在聚类结果中不属于同一个类,在参考模型中也不属于同一个类。 68 | 69 | 综上所述,即所有样本对存在着书中式(9.1) 70 | \~式(9.4)的四种情况,现在假设集合$A$中存放着两个样本都同属于聚类结果的同一个类的样本对,即$A=SS\bigcup SD$,集合$B$中存放着两个样本都同属于参考模型的同一个类的样本对,即$B=SS\bigcup DS$,那么根据Jaccard系数的定义有: 71 | 72 | 73 | $$ 74 | \mathrm{JC}=\frac{|A\bigcap B|}{|A\bigcup B|}=\frac{|SS|}{|SS\bigcup SD\bigcup DS|}=\frac{a}{a+b+c} 75 | $$ 76 | 77 | 78 | 也可直接将书中式(9.1) 79 | \~式(9.4)的四种情况类比推论,即$M_{11}=a$,$M_{10}=b$,$M_{01}=c$,所以 80 | 81 | 82 | $$ 83 | \mathrm{JC}=\frac{M_{11}}{M_{11}+M_{10}+M_{01}}=\frac{a}{a+b+c} 84 | $$ 85 | 86 | 87 | 88 | ### 9.2.2 式(9.6)的解释 89 | 90 | 其中$\frac{a}{a+b}$和$\frac{a}{a+c}$为Wallace提出的两个非对称指标,$a$代表两个样本在聚类结果和参考模型中均属于同一类的样本对的个数,$a+b$代表两个样本在聚类结果中属于同一类的样本对的个数,$a+c$代表两个样本在参考模型中属于同一类的样本对的个数,这两个非对称指标均可理解为样本对中的两个样本在聚类结果和参考模型中均属于同一类的概率。由于指标的非对称性,这两个概率值往往不一样,因此Fowlkes和Mallows提出利用几何平均数将这两个非对称指标转化为一个对称指标,即Fowlkes 91 | and Mallows Index, FMI。 92 | 93 | ### 9.2.3 式(9.7)的解释 94 | 95 | Rand Index定义如下: 96 | 97 | 98 | $$ 99 | \mathrm{RI}=\frac{a+d}{a+b+c+d}=\frac{a+d}{m(m-1)/2}=\frac{2(a+d)}{m(m-1)} 100 | $$ 101 | 102 | 103 | 由第一个等号可知RI肯定不大于1。之所以 $a+b+c+d=m(m-1) / 2$, 104 | 这是因为式(9.1) \~式(9.4)遍历 了所有 105 | $\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right)$ 组合对 $(i \neq j)$ : 106 | 其中 $i=1$ 时 $j$ 可以取 2 到 $m$ 共 $m-1$ 个值, $i=2$ 时 $j$ 可以取 3 107 | 到 $m$ 共 $m-2$ 个值, $\cdots \cdots, i=m-1$ 时 $j$ 仅可以取 $m$ 共 1 108 | 个值, 因此 $\left(\boldsymbol{x}_i, \boldsymbol{x}_j\right)$ 组合对的个 109 | 数为从 1 到 $m - 1$求和, 根据等差数列求和公式即得 $m(m-1) / 2$ 。 110 | 111 | 这个指标可以理解为两个样本都属于聚类结果和参考模型中的同一类的样本对的个数与两个样本都分别不属于聚类结果和参考模型中的同一类的样本对的个数的总和在所有样本对中出现的频率,可以简单理解为聚类结果与参考模型的一致性。 112 | 113 | ### 9.2.4 式(9.8)的解释 114 | 115 | 簇内距离的定义式:求和号左边是$(x_i, x_j)$组合个数的倒数,求和号右边是这些组合的距离和,所以两者相乘定义为平均距离。 116 | 117 | ### 9.2.5 式(9.12)的解释 118 | 119 | 式中, $k$ 表示聚类结果中簇的个数。该式的DBI值越小越好, 120 | 因为我们希望"物以类聚", 即同一簇的样本尽可能彼此相似, 121 | $\operatorname{avg}\left(C_i\right)$ 和 122 | $\operatorname{avg}\left(C_j\right)$ 越小越好; 我们希望不同簇的样本尽 123 | 可能不同, 即 $d_{\text {cen }}\left(C_i, C_j\right)$ 越大越好。 [勘误: 124 | 第 25 次印刷将分母 125 | $d_{\text {cen }}\left(\boldsymbol{\mu}_i, \boldsymbol{\mu}_j\right)$ 126 | 改为 127 | $d_{\text {cen }}\left(C_i, C_j\right)$]{style="background-color: lightgray"} 128 | 129 | ## 9.3 距离计算 130 | 131 | 距离计算在各种算法中都很常见,本节介绍的距离计算方式和"西瓜书"10.6节介绍的马氏距离基本囊括了一般的距离计算方法。另外可能还会碰到"西瓜书"10.5节的测地线距离。 132 | 133 | 本节有很多概念和名词很常见,比如本节开篇介绍的距离度量的四个基本性质、闵可夫斯基距离、欧氏距离、曼哈顿距离、切比雪夫距离、数值属性、离散属性、有序属性、无序属性、非度量距离等,注意对应的中文和英文。 134 | 135 | ### 9.3.1 式(9.21)的解释 136 | 137 | 该式符号较为抽象, 下面计算"西瓜书"第 76 页表4.1西瓜数据集2.0属性根蒂上 138 | "蜷缩" 和 "稍 蜷"两个离散值之间的距离。 139 | 140 | 此时, $u$ 为 "根蒂", $a$ 为属性根蒂上取值为 "蜷缩", $b$ 141 | 为属性根蒂上取值为 "稍蜷", 根据边注, 此时样本类别已知 (好瓜/坏瓜), 因此 142 | $k=2$ 。 143 | 144 | 从"西瓜书"表4.1中可知, 根蒂为蜷缩的样本共有 8 个 (编号 $1\sim 5$、编号 145 | 12、编号 $16\sim 17$), 即 $m_{u, a}=8$, 根蒂为稍蜷的样本共有 7 个 (编号 146 | $6 \sim 9$ 和编号 $13 \sim 15$), 即 $m_{u, b}=7$; 设 $i=1$ 对 应好瓜, 147 | $i=2$ 对应坏瓜, 好瓜中根蒂为蜷缩的样本共有 5 个(编号 $1 \sim 5$ ), 即 148 | $m_{u, a, 1}=5$, 好瓜中根蒂为稍蜷的样本共有 3 个 (编号 6 8), 即 149 | $m_{u, b, 1}=3$, 坏瓜中根蒂为蜷缩的样本 共有 3 个 (编号 12 和编号 150 | $16 \sim 17$ ), 即 $m_{u, a, 2}=3$, 坏瓜中根蒂为稍蜷的样本共有 4 个(编 151 | 号 9 和编号 $13 \sim 15)$, 即 $m_{u, b, 2}=4$, 因此 VDM 距离为 152 | 153 | 154 | $$ 155 | \begin{aligned} 156 | \operatorname{VDM}_p(a, b) & =\left|\frac{m_{u, a, 1}}{m_{u, a}}-\frac{m_{u, b, 1}}{m_{u, b}}\right|^p+\left|\frac{m_{u, a, 2}}{m_{u, a}}-\frac{m_{u, b, 2}}{m_{u, b}}\right|^p \\ 157 | & =\left|\frac{5}{8}-\frac{3}{7}\right|^p+\left|\frac{3}{8}-\frac{4}{7}\right|^p 158 | \end{aligned} 159 | $$ 160 | 161 | 162 | 163 | ## 9.4 原型聚类 164 | 165 | 本节介绍了三个原型聚类算法, 其中 $k$ 均值算法最为经典, 166 | 几乎成为聚类的代名词, 在 Matlab、scikit-learn等主流的科学计算包中均有 167 | kmeans 函数供调用。学习向量量化也是无监督聚类的一种方式, 168 | 在向量检索的引擎,比如facebook faiss中发挥重要的应用。 169 | 170 | 前两个聚类算法比较易懂, 下面主要推导第三个聚类算法:高斯混合聚类。 171 | 172 | ### 9.4.1 式(9.28)的解释 173 | 174 | 该式就是多元高斯分布概率密度函数的定义式: 175 | 176 | 177 | $$ 178 | p(\boldsymbol{x})=\frac{1}{(2 \pi)^{\frac{n}{2}}|\boldsymbol{\Sigma}|^{\frac{1}{2}}} e^{-\frac{1}{2}(\boldsymbol{x}-\boldsymbol{\mu})^{\top} \boldsymbol{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{\mu})} 179 | $$ 180 | 181 | 182 | 对应到我们常见的一元高斯分布概率密度函数的定义式: 183 | 184 | 185 | $$ 186 | p(x)=\frac{1}{\sqrt{2 \pi} \sigma} e^{-\frac{(x-\mu)^2}{2 \sigma^2}} 187 | $$ 188 | 189 | 190 | 其中 $\sqrt{2 \pi}=(2 \pi)^{\frac{1}{2}}$ 对应 191 | $(2 \pi)^{\frac{n}{2}}, \sigma$ 对应 192 | $|\boldsymbol{\Sigma}|^{\frac{1}{2}}$, 指数项中分母中的方差 $\sigma^2$ 193 | 对应协方差矩阵 $\boldsymbol{\Sigma}$, 194 | $\frac{(x-\mu)^2}{\sigma^2} \text { 对应 }(\boldsymbol{x}-\boldsymbol{\mu})^{\top} \boldsymbol{\Sigma}^{-1}(\boldsymbol{x}-\boldsymbol{\mu})$。 195 | 196 | 概率密度函数 $p(\boldsymbol{x})$ 是 $\boldsymbol{x}$ 197 | 的函数。其中对于某个特定的 $\boldsymbol{x}$ 来说, 函数值 198 | $p(\boldsymbol{x})$ 就是一个数, 若 $\boldsymbol{x}$ 的维度为 2 , 199 | 则可以将函数 $p(\boldsymbol{x})$ 的图像可视化, 200 | 是三维空间的一个曲面。类似于一元高 斯分布 $p(x)$ 与横轴 $p(x)=0$ 201 | 之间的面积等于 1 (即 $\int p(x) \mathrm{d} x=1$ ), $p(\boldsymbol{x})$ 202 | 曲面与平面 $p(\boldsymbol{x})=0$ 之间的体积等于 1 (即 203 | $\int p(\boldsymbol{x}) \mathrm{d} \boldsymbol{x}=1$ 。 204 | 205 | 注意, "西瓜书"中后面将 $p(\boldsymbol{x})$ 记为 206 | $p(\boldsymbol{x} \mid \boldsymbol{\mu}, \boldsymbol{\Sigma})$ 。 207 | 208 | ### 9.4.2 式(9.29)的解释 209 | 210 | 对于该式表达的高斯混合分布概率密度函数 211 | $p_{\mathcal{M}}(\boldsymbol{x})$, 与式 $(9.28)$ 中的 212 | $p(\boldsymbol{x})$ 不同的是, 它 由 $k$ 213 | 个不同的多元高斯分布加权而来。具体来说, $p(\boldsymbol{x})$ 仅由参数 214 | $\boldsymbol{\mu}, \boldsymbol{\Sigma}$ 确定, 而 215 | $p_{\mathcal{M}}(\boldsymbol{x})$ 由 $k$ 个 "混合系数" $\alpha_i$ 以及 216 | $k$ 组参数 $\boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i$ 确定。 217 | 218 | 在"西瓜书"中该式下方(P207 最后一段)中介绍了样本的生成过程, 实际也反应了 219 | "混合系数" $\alpha_i$ 的含义, 即 $\alpha_i$ 为选择第 $i$ 220 | 个混合成分的概率, 或者反过来说, $\alpha_i$ 为样本属于第 $i$ 个混合 221 | 成分的概率。重新描述一下样本生成过程, 根据先验分布 222 | $\alpha_1, \alpha_2, \ldots, \alpha_k$ 选择其中一个高斯 混合成分 (即第 223 | $i$ 个高斯混合成分被选到的概率为 $\alpha_i$ ), 假设选到了第 $i$ 224 | 个高斯混合成分, 其 参数为 $\boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i$; 225 | 然后根据概率密度函数 226 | $p\left(\boldsymbol{x} \mid \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right)$ 227 | (即将式(9.28) 中的 $\boldsymbol{\mu}, \boldsymbol{\Sigma}$ 替换为 228 | $\left.\boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right)$ 229 | 进行采样生成样本 $\boldsymbol{x}$ 。两个步骤的区别在于第 1 230 | 步选择高斯混合成分时是从 $k$ 个之中选其一 (相当于概率密度函数是离散的), 231 | 而第 2 步生成样本时是从 $\boldsymbol{x}$ 定义域中根据 232 | $p\left(\boldsymbol{x} \mid \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right.$ 233 | )选 择其中一个样本, 样本 $\boldsymbol{x}$ 被选中的概率即为 234 | $p\left(\boldsymbol{x} \mid \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right)$ 235 | 。即第 1 步对应于离散型随机变量, 第 2 步对应于连续型随机变量。 236 | 237 | ### 9.4.3 式(9.30)的解释 238 | 239 | 若由上述样本生成方式得到训练集 240 | $D=\left\{\boldsymbol{x}_1, \boldsymbol{x}_2, \ldots, \boldsymbol{x}_m\right\}$, 241 | 现在的问题是对于给定样 本 $\boldsymbol{x}_j$, 242 | 它是由哪个高斯混合成分生成的呢? 该问题即求后验概率 243 | $p_{\mathcal{M}}\left(z_j \mid \boldsymbol{x}_j\right)$, 其中 244 | $z_j \in\{1,2, \ldots, k\}$ 。下面对式(9.30)进行推导。 245 | 246 | 对于任意样本, 在不考虑样本本身之前 (即先验), 若瞎猜一下它由第 $i$ 247 | 个高斯混合成分 生成的概率 $P\left(z_j=i\right)$, 那么肯定按先验概率 248 | $\alpha_1, \alpha_2, \ldots, \alpha_k$ 进行猜测, 即 249 | $P\left(z_j=i\right)=\alpha_i$ 。 若考虑样本本身带来的信息 (即后验), 250 | 此时再猜一下它由第 $i$ 个高斯混合成分生成的概率 251 | $p_{\mathcal{M}}\left(z_j=i \mid \boldsymbol{x}_j\right)$, 252 | 根据贝叶斯公式, 后验概率 253 | $p_{\mathcal{M}}\left(z_j=i \mid \boldsymbol{x}_j\right)$ 可写为 254 | 255 | 256 | $$ 257 | p_{\mathcal{M}}\left(z_j=i \mid \boldsymbol{x}_j\right)=\frac{P\left(z_j=i\right) \cdot p_{\mathcal{M}}\left(\boldsymbol{x}_j \mid z_j=i\right)}{p_{\mathcal{M}}\left(\boldsymbol{x}_j\right)} 258 | $$ 259 | 260 | 261 | 分子第 1 项 $P\left(z_j=i\right)=\alpha_i$; 第 2 项即第 $i$ 262 | 个高斯混合成分生成样本 $\boldsymbol{x}_j$ 的概率 263 | $p\left(\boldsymbol{x}_j \mid \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right)$, 264 | 根据式(9.28)将 $\boldsymbol{x}, \boldsymbol{\mu}, \boldsymbol{\Sigma}$ 265 | 替换为 $\boldsymbol{x}_j, \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i$ 266 | 即得; 分母 $p_{\mathcal{M}}\left(\boldsymbol{x}_j\right)$ 即为将 267 | $\boldsymbol{x}_j$ 代入式(9.29)即得。 268 | 269 | 注意, "西瓜书"中后面将 270 | $p_{\mathcal{M}}\left(z_j=i \mid \boldsymbol{x}_j\right)$ 记为 271 | $\gamma_{j i}$, 其中 $1 \leq j \leq m, 1 \leq i \leq k$。 272 | 273 | ### 9.4.4 式(9.31)的解释 274 | 275 | 若将所有 $\gamma_{j i}$ 组成一个矩阵 $\Gamma$, 其中 $\gamma_{j i}$ 为第 276 | $j$ 行第例的元素, 矩阵 $\Gamma$ 大小为 $m \times k$, 即 277 | 278 | 279 | $$ 280 | \Gamma=\left[\begin{array}{cccc} 281 | \gamma_{11} & \gamma_{12} & \cdots & \gamma_{1 k} \\ 282 | \gamma_{21} & \gamma_{22} & \cdots & \gamma_{2 k} \\ 283 | \vdots & \vdots & \ddots & \vdots \\ 284 | \gamma_{m 1} & \gamma_{m 2} & \cdots & \gamma_{m k} 285 | \end{array}\right]_{m \times k} 286 | $$ 287 | 288 | 其中 $m$ 为训练集样本个数, $k$ 289 | 为高斯混合模型包含的混合模型个数。 可以看出, 式(9.31)就是找出矩阵 290 | $\Gamma$ 第 $j$ 行的所有 $k$ 个元素中最大的那个元素的位置。 291 | 292 | ### 9.4.5 式(9.32)的解释 293 | 294 | 对于训练集 295 | $D=\left\{\boldsymbol{x}_1, \boldsymbol{x}_2, \ldots, \boldsymbol{x}_m\right\}$, 296 | 现在要把 $m$ 个样本划分为 $k$ 个簇, 即认为训练集 $D$ 的样本是根据 $k$ 297 | 个不同的多元高斯分布加权而得的高斯混合模型生成的。 298 | 299 | 现在的问题是, $k$ 个不同的多元高斯分布的参数 300 | $\left\{\left(\boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right) \mid 1 \leqslant i \leqslant k\right\}$ 301 | 及它们各自的权 重 $\alpha_1, \alpha_2, \ldots, \alpha_k$ 不知道, $m$ 302 | 个样本归到底属于哪个簇也不知道, 该怎么办呢? 303 | 304 | 其实这跟 $k$ 均值算法类似, 开始时既不知道 $k$ 个簇的均值向量, 也不知道 305 | $m$ 个样本归到 底属于哪个簇, 最后我们采用了贪心策略, 306 | 通过迭代优化来近似求解式(9.24)。 307 | 308 | 本节的高斯混合聚类求解方法与 $k$ 均值算法, 只是具体问题具体解法不同, 309 | 从整体上来 说, 它们都应用了 $7.6$ 节的期望最大化算法(EM 算法)。 310 | 311 | 具体来说, 现假设已知式(9.30)的后验概率, 此时即可通过式(9.31)知道 $m$ 312 | 个样本归到底 属于哪个簇, 再来求解参数 313 | $\left\{\left(\alpha_i, \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right) \mid 1 \leqslant i \leqslant k\right\}$, 314 | 怎么求解呢? 对于每个样本 $\boldsymbol{x}_j$ 来说, 它出现的概率是 315 | $p_{\mathcal{M}}\left(\boldsymbol{x}_j\right)$, 既然现在训练集 $D$ 316 | 中确实出现了 $\boldsymbol{x}_j$, 我们当然希望待求解的参数 317 | $\left\{\left(\alpha_i, \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right) \mid 1 \leqslant i \leqslant k\right\}$ 318 | 能够使这种可能性 $p_{\mathcal{M}}\left(\boldsymbol{x}_j\right)$ 最大; 319 | 又因为我们假设 $m$ 个样本是独 立的, 因此它们恰好一起出现的概率就是 320 | $\prod_{j=1}^m p_{\mathcal{M}}\left(\boldsymbol{x}_j\right)$, 321 | 即所谓的似然函数; 一般来说, 连乘容易造成下溢 ( $m$ 个大于 0 小于 1 322 | 的数相乘, 当 $m$ 较大时, 乘积会非常非常小, 以致 323 | 于计算机无法表达这么小的数, 产生下溢), 所以常用对数似然替代, 324 | 即式(9.32)。 325 | 326 | ### 9.4.6 式(9.33)的推导 327 | 328 | 根据公式(9.28)可知: 329 | 330 | 331 | $$ 332 | p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)=\frac{1}{(2 \pi)^{\frac{n}{2}}\left|\boldsymbol{\Sigma}_{i}\right|^{\frac{1}{2}}} \exp \left(-\frac{1}{2}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)^{T} \boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)\right) 333 | $$ 334 | 335 | 336 | 又根据公式(9.32),由 337 | 338 | 339 | $$ 340 | \frac{\partial L L(D)}{\partial \boldsymbol{\mu}_{i}}=\frac{\partial L L(D)}{\partial p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)} \cdot \frac{\partial p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)}{\partial \boldsymbol{\mu}_{i}}=0 341 | $$ 342 | 343 | 344 | 其中: 345 | 346 | $$ 347 | \begin{aligned} 348 | \frac{\partial L L(D)}{\partial p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{i}, \mathbf{\Sigma}_{i}\right)} &=\frac{\partial \sum_{j=1}^{m} \ln \left(\sum_{l=1}^{k} \alpha_{l} \cdot p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{l}, \boldsymbol{\Sigma}_{l}\right)\right)}{\partial p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)} \\ 349 | &=\sum_{j=1}^{m} \frac{\partial \ln \left(\sum_{l=1}^{k} \alpha_{l} \cdot p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{l}, \boldsymbol{\Sigma}_{l}\right)\right)}{\partial p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)} \\ 350 | &=\sum_{j=1}^{m} \frac{\alpha_{i}}{\sum_{l=1}^{k} \alpha_{l} \cdot p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{l}, \boldsymbol{\Sigma}_{l}\right)} 351 | \end{aligned} 352 | $$ 353 | 354 | 355 | 356 | 357 | 358 | $$ 359 | \begin{aligned} 360 | \frac{\partial p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)}{\partial \boldsymbol{\mu}_{i}} &=\frac{\partial \frac{1}{(2 \pi)^{\frac{n}{2}}\left|\Sigma_{i}\right|^{\frac{1}{2}}} \exp\left({-\frac{1}{2}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)^{\top}\boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)}\right)}{\partial \boldsymbol{\mu}_{i}} \\ 361 | &=\frac{1}{(2 \pi)^{\frac{n}{2}}\left|\boldsymbol{\Sigma}_{i}\right|^{\frac{1}{2}}} \cdot \frac{\partial \exp\left({-\frac{1}{2}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)^{\top} \boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)}\right)}{\partial \boldsymbol{\mu}_{i}}\\ 362 | &=\frac{1}{(2 \pi)^{\frac{n}{2}}\left|\boldsymbol{\Sigma}_{i}\right|^{\frac{1}{2}}}\cdot \exp\left({-\frac{1}{2}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)^{\top} \boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)}\right) \cdot-\frac{1}{2} \frac{\partial\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)^{\top} \boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)}{\partial \boldsymbol{\mu}_{i}}\\ 363 | &=\frac{1}{(2 \pi)^{\frac{n}{2}}\left|\boldsymbol{\Sigma}_{i}\right|^{\frac{1}{2}}}\cdot \exp\left({-\frac{1}{2}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)^{\top} \boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)}\right) \cdot\boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)\\ 364 | &=p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right) \cdot \boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right) 365 | \end{aligned} 366 | $$ 367 | 368 | 369 | 其中,由矩阵求导的法则$\frac{\partial \mathbf{a}^{T} \mathbf{X} \mathbf{a}}{\partial \mathbf{a}}=2\mathbf{X} \mathbf{a}$可得: 370 | 371 | 372 | $$ 373 | \begin{aligned} 374 | -\frac{1}{2} \frac{\partial\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)^{\top} \boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)}{\partial \boldsymbol{\mu}_{i}} &=-\frac{1}{2} \cdot 2 \boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{\mu}_{i}-\boldsymbol{x}_{j}\right) \\ 375 | &=\boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right) 376 | \end{aligned} 377 | $$ 378 | 379 | 因此有: 380 | 381 | 382 | $$ 383 | \frac{\partial L L(D)}{\partial \boldsymbol{\mu}_{i}}=\sum_{j=1}^{m} \frac{\alpha_{i}}{\sum_{l=1}^{k} \alpha_{l} \cdot p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{l}, \mathbf{\Sigma}_{l}\right)} \cdot p\left(\boldsymbol{x}_{j} | \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right) \cdot \boldsymbol{\Sigma}_{i}^{-1}\left(\boldsymbol{x}_{j}-\boldsymbol{\mu}_{i}\right)=0 384 | $$ 385 | 386 | 387 | 388 | ### 9.4.7 式(9.34)的推导 389 | 390 | 由式(9.30) 391 | 392 | 393 | $$ 394 | \gamma_{j i}=p_{\mathcal{M}}\left(z_{j}=i | \mathbf{X}_{j}\right)=\frac{\alpha_{i} \cdot p\left(\mathbf{X}_{j} | \boldsymbol{\mu}_{i}, \boldsymbol{\Sigma}_{i}\right)}{\sum_{l=1}^{k} \alpha_{l} \cdot p\left(\mathbf{X}_{j} | \boldsymbol{\mu}_{l}, \boldsymbol{\Sigma}_{l}\right)} 395 | $$ 396 | 397 | 398 | 带入式(9.33) 399 | 400 | 401 | $$ 402 | \sum_{j=1}^{m} \gamma_{j i}\left(\mathbf{X}_{j}-\boldsymbol{\mu}_{i}\right)=0 403 | $$ 404 | 405 | 406 | 移项, 得 407 | 408 | 409 | $$ 410 | \sum_{j=1}^m \gamma_{j i} \boldsymbol{x}_j=\sum_{j=1}^m \gamma_{j i} \boldsymbol{\mu}_i=\boldsymbol{\mu}_i \cdot \sum_{j=1}^m \gamma_{j i} 411 | $$ 412 | 413 | 414 | 第二个等号是因为 $\mu_i$ 对于求和变量 $j$ 来说是常量, 415 | 因此可以提到求和号外面; 因此 416 | 417 | 418 | $$ 419 | \boldsymbol{\mu}_i=\frac{\sum_{j=1}^m \gamma_{j i} \boldsymbol{x}_j}{\sum_{j=1}^m \gamma_{j i}} 420 | $$ 421 | 422 | 423 | 424 | ### 9.4.8 式(9.35)的推导 425 | 426 | 根据公式(9.28)可知: 427 | 428 | 429 | $$ 430 | p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})=\cfrac{1}{(2\pi)^\frac{n}{2}\left| \boldsymbol\Sigma_{i}\right |^\frac{1}{2}}\exp\left({-\frac{1}{2}(\boldsymbol x_{j}-\boldsymbol\mu_{i})^T\boldsymbol\Sigma_{i}^{-1}(\boldsymbol x_{j}-\boldsymbol\mu_{i})}\right) 431 | $$ 432 | 433 | 434 | 又根据公式(9.32),由 435 | 436 | 437 | $$ 438 | \cfrac{\partial LL(D)}{\partial \boldsymbol\Sigma_{i}}=0 439 | $$ 440 | 441 | 可得 442 | 443 | 444 | $$ 445 | \begin{aligned} 446 | \cfrac {\partial LL(D)}{\partial\boldsymbol\Sigma_{i}}&=\cfrac {\partial}{\partial \boldsymbol\Sigma_{i}}\left[\sum_{j=1}^m\ln\Bigg(\sum_{i=1}^k \alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})\Bigg)\right] \\ 447 | &=\sum_{j=1}^m\frac{\partial}{\partial\boldsymbol\Sigma_{i}}\left[\ln\Bigg(\sum_{i=1}^k \alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})\Bigg)\right] \\ 448 | &=\sum_{j=1}^m\cfrac{\alpha_{i}\cdot \cfrac{\partial}{\partial\boldsymbol\Sigma_{i}}\left(p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})\right)}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})} \\ 449 | \end{aligned} 450 | $$ 451 | 452 | 其中 453 | 454 | $$ 455 | \begin{aligned} 456 | \cfrac{\partial}{\partial\boldsymbol\Sigma_{i}}\left(p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})\right)&=\cfrac{\partial}{\partial\boldsymbol\Sigma_{i}}\left[\cfrac{1}{(2\pi)^\frac{n}{2}\left| \boldsymbol\Sigma_{i}\right |^\frac{1}{2}}\exp\left({-\frac{1}{2}(\boldsymbol x_{j}-\boldsymbol\mu_{i})^T\boldsymbol\Sigma_{i}^{-1}(\boldsymbol x_{j}-\boldsymbol\mu_{i})}\right)\right] \\ 457 | &=\cfrac{\partial}{\partial\boldsymbol\Sigma_{i}}\left\{\exp\left[\ln\left(\cfrac{1}{(2\pi)^\frac{n}{2}\left| \boldsymbol\Sigma_{i}\right |^\frac{1}{2}}\exp\left({-\frac{1}{2}(\boldsymbol x_{j}-\boldsymbol\mu_{i})^T\boldsymbol\Sigma_{i}^{-1}(\boldsymbol x_{j}-\boldsymbol\mu_{i})}\right)\right)\right]\right\} \\ 458 | &=p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})\cdot\cfrac{\partial}{\partial\boldsymbol\Sigma_{i}}\left[\ln\left(\cfrac{1}{(2\pi)^\frac{n}{2}\left| \boldsymbol\Sigma_{i}\right |^\frac{1}{2}}\exp\left({-\frac{1}{2}(\boldsymbol x_{j}-\boldsymbol\mu_{i})^T\boldsymbol\Sigma_{i}^{-1}(\boldsymbol x_{j}-\boldsymbol\mu_{i})}\right)\right)\right]\\ 459 | &=p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})\cdot\cfrac{\partial}{\partial\boldsymbol\Sigma_{i}}\left[\ln\cfrac{1}{(2\pi)^{\frac{n}{2}}}-\cfrac{1}{2}\ln{|\boldsymbol{\Sigma}_i|}-\frac{1}{2}(\boldsymbol x_j-\boldsymbol\mu_i)^T\boldsymbol{\Sigma}_i^{-1}(\boldsymbol x_j-\boldsymbol\mu_i)\right]\\ 460 | &=p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})\cdot\left[-\cfrac{1}{2}\cfrac{\partial\left(\ln{|\boldsymbol{\Sigma}_i|}\right) }{\partial \boldsymbol{\Sigma}_i}-\cfrac{1}{2}\cfrac{\partial \left[(\boldsymbol x_j-\boldsymbol\mu_i)^T\boldsymbol{\Sigma}_i^{-1}(\boldsymbol x_j-\boldsymbol\mu_i)\right]}{\partial \boldsymbol{\Sigma}_i}\right]\\ 461 | \end{aligned} 462 | $$ 463 | 464 | 465 | 由矩阵微分公式$\cfrac{\partial |\mathbf{X}|}{\partial \mathbf{X}}=|\mathbf{X}|\cdot(\mathbf{X}^{-1})^{T},\cfrac{\partial \boldsymbol{a}^{T} \mathbf{X}^{-1} \mathbf{B}}{\partial \mathbf{X}}=-\mathbf{X}^{-T} \boldsymbol{a b}^{T} \mathbf{X}^{-T}$可得 466 | 467 | 468 | $$ 469 | \begin{aligned} 470 | \cfrac{\partial}{\partial\boldsymbol\Sigma_{i}}\left(p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})\right)&=p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})\cdot\left[-\cfrac{1}{2}\boldsymbol{\Sigma}_i^{-1}+\cfrac{1}{2}\boldsymbol{\Sigma}_i^{-1}(\boldsymbol x_j-\boldsymbol\mu_i)(\boldsymbol x_j-\boldsymbol\mu_i)^T\boldsymbol{\Sigma}_i^{-1}\right]\\ 471 | \end{aligned} 472 | $$ 473 | 474 | 475 | 将此式代回$\cfrac {\partial LL(D)}{\partial\boldsymbol\Sigma_{i}}$中可得 476 | 477 | 478 | $$ 479 | \cfrac {\partial LL(D)}{\partial\boldsymbol\Sigma_{i}}=\sum_{j=1}^m\cfrac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})}\cdot\left[-\cfrac{1}{2}\boldsymbol{\Sigma}_i^{-1}+\cfrac{1}{2}\boldsymbol{\Sigma}_i^{-1}(\boldsymbol x_j-\boldsymbol\mu_i)(\boldsymbol x_j-\boldsymbol\mu_i)^T\boldsymbol{\Sigma}_i^{-1}\right] 480 | $$ 481 | 482 | 483 | 又由公式(9.30)可知$\cfrac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})}=\gamma_{ji}$,所以上式可进一步化简为 484 | 485 | 486 | $$ 487 | \cfrac {\partial LL(D)}{\partial\boldsymbol\Sigma_{i}}=\sum_{j=1}^m\gamma_{ji}\cdot\left[-\cfrac{1}{2}\boldsymbol{\Sigma}_i^{-1}+\cfrac{1}{2}\boldsymbol{\Sigma}_i^{-1}(\boldsymbol x_j-\boldsymbol\mu_i)(\boldsymbol x_j-\boldsymbol\mu_i)^T\boldsymbol{\Sigma}_i^{-1}\right] 488 | $$ 489 | 490 | 491 | 令上式等于0可得 492 | 493 | 494 | $$ 495 | \cfrac {\partial LL(D)}{\partial\boldsymbol\Sigma_{i}}=\sum_{j=1}^m\gamma_{ji}\cdot\left[-\cfrac{1}{2}\boldsymbol{\Sigma}_i^{-1}+\cfrac{1}{2}\boldsymbol{\Sigma}_i^{-1}(\boldsymbol x_j-\boldsymbol\mu_i)(\boldsymbol x_j-\boldsymbol\mu_i)^T\boldsymbol{\Sigma}_i^{-1}\right]=0 496 | $$ 497 | 498 | 499 | 移项推导有: 500 | 501 | $$ 502 | \begin{aligned} 503 | \sum_{j=1}^m\gamma_{ji}\cdot\left[-\boldsymbol{I}+(\boldsymbol x_j-\boldsymbol\mu_i)(\boldsymbol x_j-\boldsymbol\mu_i)^T\boldsymbol{\Sigma}_i^{-1}\right]&=0\\ 504 | \sum_{j=1}^m\gamma_{ji}(\boldsymbol x_j-\boldsymbol\mu_i)(\boldsymbol x_j-\boldsymbol\mu_i)^T\boldsymbol{\Sigma}_i^{-1}&=\sum_{j=1}^m\gamma_{ji}\boldsymbol{I}\\ 505 | \sum_{j=1}^m\gamma_{ji}(\boldsymbol x_j-\boldsymbol\mu_i)(\boldsymbol x_j-\boldsymbol\mu_i)^T&=\sum_{j=1}^m\gamma_{ji}\boldsymbol{\Sigma}_i\\ 506 | \boldsymbol{\Sigma}_i^{-1}\cdot\sum_{j=1}^m\gamma_{ji}(\boldsymbol x_j-\boldsymbol\mu_i)(\boldsymbol x_j-\boldsymbol\mu_i)^T&=\sum_{j=1}^m\gamma_{ji}\\ 507 | \boldsymbol{\Sigma}_i&=\cfrac{\sum_{j=1}^m\gamma_{ji}(\boldsymbol x_j-\boldsymbol\mu_i)(\boldsymbol x_j-\boldsymbol\mu_i)^T}{\sum_{j=1}^m\gamma_{ji}} 508 | \end{aligned} 509 | $$ 510 | 511 | 此即为公式(9.35)。 512 | 513 | ### 9.4.9 式(9.36)的解释 514 | 515 | 该式即$LL(D)$添加了等式约束$\sum_{i=1}^k{\alpha_i=1}$的拉格朗日形式。 516 | 517 | ### 9.4.10 式(9.37)的推导 518 | 519 | 重写式(9.32)如下: 520 | 521 | 522 | $$ 523 | L L(D)=\sum_{j=1}^m \ln \left(\sum_{l=1}^k \alpha_l \cdot p\left(\boldsymbol{x}_j \mid \boldsymbol{\mu}_l, \boldsymbol{\Sigma}_l\right)\right) 524 | $$ 525 | 526 | 527 | 这里将第 2 个求和号的求和变量由式(9.32)的 $i$ 改为了 $l$, 这是为了避免对 528 | $\alpha_i$ 求导时与变量 $i$ 相 混淆。将式(9.36)中的两项分别对 $\alpha_i$ 529 | 求导, 得 530 | 531 | $$ 532 | \begin{aligned} 533 | \frac{\partial L L(D)}{\partial \alpha_i} & =\frac{\partial \sum_{j=1}^m \ln \left(\sum_{l=1}^k \alpha_l \cdot p\left(\boldsymbol{x}_j \mid \boldsymbol{\mu}_l, \boldsymbol{\Sigma}_l\right)\right)}{\partial \alpha_i} \\ 534 | & =\sum_{j=1}^m \frac{1}{\sum_{l=1}^k \alpha_l \cdot p\left(\boldsymbol{x}_j \mid \boldsymbol{\mu}_l, \boldsymbol{\Sigma}_l\right)} \cdot \frac{\partial \sum_{l=1}^k \alpha_l \cdot p\left(\boldsymbol{x}_j \mid \boldsymbol{\mu}_l, \boldsymbol{\Sigma}_l\right)}{\partial \alpha_i} \\ 535 | & =\sum_{j=1}^m \frac{1}{\sum_{l=1}^k \alpha_l \cdot p\left(\boldsymbol{x}_j \mid \boldsymbol{\mu}_l, \boldsymbol{\Sigma}_l\right)} \cdot p\left(\boldsymbol{x}_j \mid \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right) 536 | \end{aligned} 537 | $$ 538 | 539 | 540 | 541 | 542 | $$ 543 | \frac{\partial\left(\sum_{l=1}^k \alpha_l-1\right)}{\partial \alpha_i}=\frac{\partial\left(\alpha_1+\alpha_2+\ldots+\alpha_i+\ldots+\alpha_k-1\right)}{\partial \alpha_i}=1 544 | $$ 545 | 546 | 547 | 综合两项求导结果, 并令导数等于零即得式(9.37)。 548 | 549 | ### 9.4.11 式(9.38)的推导 550 | 551 | 注意, 在"西瓜书"第 14 次印刷中式(9.38)上方的一行话进行了勘误: 552 | "两边同乘以 $\alpha_i$, 对 所有混合成分求和可知 $\lambda=-m$ ", 将原来的 553 | "样本" 修改为 "混合成分"。 554 | 555 | 对公式(9.37)两边同时乘以$\alpha_{i}$可得 556 | 557 | $$ 558 | \begin{aligned} 559 | \sum_{j=1}^m\frac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})}+\lambda\alpha_{i}=0\\ 560 | \sum_{j=1}^m\frac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})}=-\lambda\alpha_{i} 561 | \end{aligned} 562 | $$ 563 | 564 | 两边对所有混合成分求和可得 565 | 566 | 567 | $$ 568 | \begin{aligned}\sum_{i=1}^k\sum_{j=1}^m\frac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})}&=-\lambda\sum_{i=1}^k\alpha_{i}\\ 569 | \sum_{j=1}^m\sum_{i=1}^k\frac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})}&=-\lambda\sum_{i=1}^k\alpha_{i} 570 | \end{aligned} 571 | $$ 572 | 573 | 因为 574 | 575 | 576 | $$ 577 | \sum_{i=1}^k\frac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\mathbf\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\mathbf\Sigma_{l})}=\frac{\sum_{i=1}^k\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\mathbf\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\mathbf\Sigma_{l})}=1 578 | $$ 579 | 580 | 581 | 且 $\sum_{i=1}^k\alpha_{i}=1$,所以有$m=-\lambda$,因此 582 | 583 | 584 | $$ 585 | \sum_{j=1}^m\frac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})}=-\lambda\alpha_{i}=m\alpha_{i} 586 | $$ 587 | 588 | 589 | 因此 590 | 591 | 592 | $$ 593 | \alpha_{i}=\cfrac{1}{m}\sum_{j=1}^m\frac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})} 594 | $$ 595 | 596 | 597 | 又由公式(9.30)可知$\cfrac{\alpha_{i}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{i},\boldsymbol\Sigma_{i})}{\sum_{l=1}^k\alpha_{l}\cdot p(\boldsymbol x_{j}|\boldsymbol\mu_{l},\boldsymbol\Sigma_{l})}=\gamma_{ji}$,所以上式可进一步化简为 598 | 599 | 600 | $$ 601 | \alpha_{i}=\cfrac{1}{m}\sum_{j=1}^m\gamma_{ji} 602 | $$ 603 | 604 | 此即为公式(9.38)。 605 | 606 | ### 9.4.12 图9.6的解释 607 | 608 | 第 1 行初始化参数, 本页接下来的例子是按如下策略初始化的: 混合系数 609 | $\alpha_i=\frac{1}{k}$; 任 选训练集中的 $k$ 个样本分别初始化 $k$ 610 | 个均值向量 $\boldsymbol{\mu}_i(1 \leqslant i \leqslant k)$; 611 | 使用对角元素为 $0.1$ 的对角阵 初始化 $k$ 个协方差矩阵 612 | $\boldsymbol{\Sigma}_i(1 \leqslant i \leqslant k)$ 。 613 | 614 | 第 3\~5 行根据式(9.30)计算共 $m \times k$ 个 $\gamma_{j i}$ 。 615 | 616 | 第 6\~10 行分别根据式(9.34)、式(9.35)、式(9.38)使用刚刚计算得到的 617 | $\gamma_{j i}$ 更新均值向量、 协方差矩阵、混合系数; 注意第 8 618 | 行计算协方差矩阵时使用的是第 7 行计算得到的均值向量, 这并没错, 619 | 因为协方差矩阵 $\boldsymbol{\Sigma}_i^{\prime}$ 与均值向量 620 | $\mu_i^{\prime}$ 是对应的, 而非 $\boldsymbol{\mu}_i$; 第 7 行的 621 | $\mu_i^{\prime}$ 在第 8 行使用 之后会在下一轮迭代中第 4 行计算 622 | $\gamma_{j i}$ 再次使用。 623 | 624 | 整体来说, 第 2 \~12 行就是一个 EM 算法的具体使用例子, 学习完 $7.6$ 节 EM 625 | 算法可能 根本无法理解其思想。此例中有两组变量, 分别是 $\gamma_{j i}$ 和 626 | $\left(\alpha_i, \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right)$, 627 | 它们之间相互影响, 但都是末知的, 因此 $\mathrm{EM}$ 算法就有了用武之地: 628 | 初始化其中一组变量 629 | $\left(\alpha_i, \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right)$, 630 | 然后计 算 $\gamma_{j i}$; 再根据 $\gamma_{j i}$ 631 | 根据最大似然推导出的公式更新 632 | $\left(\alpha_i, \boldsymbol{\mu}_i, \boldsymbol{\Sigma}_i\right)$, 633 | 反复迭代, 直到满足停止条件。 634 | 635 | ## 9.5 密度聚类 636 | 637 | 本节介绍的DBSCAN算法并不难懂,只是本节在最后举例时并没有说清楚密度聚类算法与前面原型聚类算法的区别,当然这也可能是作者有意为之,因为在"西瓜书"本章习题9.7题就提到了"凸聚类"的概念。具体来说,前面介绍的聚类算法只能产生"凸聚类",而本节介绍的DBSCAN则能产生"非凸聚类",其本质原因,个人感觉在于聚类时使用的距离度量,均值算法使用欧氏距离,而DBSCAN使用类似于测地线距离(只是类似,并不相同,测地线距离参见"西瓜书"10.5节),因此可以产生如图9-1所示的聚类结果(中间为典型的非凸聚类)。 638 | 639 | ![图9-1 DBSCAN聚类结果](https://datawhale-business.oss-cn-hangzhou.aliyuncs.com/1cc9980e-da9c-4efd-ac66-3a97aa81ae62-cluster.svg) 640 | 641 | 注意,虽然左图为 "凸聚类"(四个簇都有一个凸包),但 642 | 均值算法却无法产生此结果,因为最大的簇太大了,其外围样本与另三个小簇的中心之间的距离更近,因此中间最大的簇肯定会被 643 | 均值算法划分到不同的簇之中,这显然不是我们希望的结果。 644 | 645 | 密度聚类算法可以产生任意形状的簇,不需要事先指定聚类个数k,并且对噪声鲁棒。 646 | 647 | ### 9.5.1 密度直达、密度可达与密度相连 648 | 649 | $\boldsymbol{x}_j$ 由 $\boldsymbol{x}_i$ 密度直达, 该概念最易理解, 650 | 但要特别注意: 密度直达除了要求 $\boldsymbol{x}_j$ 位于 651 | $\boldsymbol{x}_i$ 的 $\epsilon-$ 领域的条件之外, 还额外要求 652 | $\boldsymbol{x}_i$ 是核心对象; $\epsilon$-领域满足对称性, 但 653 | $\boldsymbol{x}_j$ 不一定为核心对象, 因此密度直达关系通常不满足对称性。 654 | 655 | $\boldsymbol{x}_j$ 由 $\boldsymbol{x}_i$ 656 | 密度可达,该概念基于密度直达,因此样本序列 657 | $\boldsymbol{p}_1, \boldsymbol{p}_2, \ldots, \boldsymbol{p}_n$ 中除了 658 | $\boldsymbol{p}_n=\boldsymbol{x}_j$ 之外, 其余样本均为核心对象 (当然包括 659 | $\boldsymbol{p}_1=\boldsymbol{x}_i$ ), 所以同理, 一般不满足对称性。 660 | 661 | 以上两个概念中, 若 $\boldsymbol{x}_j$ 为核心对象, 已知 662 | $\boldsymbol{x}_j$ 由 $\boldsymbol{x}_i$ 密度直达/可达, 则 663 | $\boldsymbol{x}_i$ 由 $\boldsymbol{x}_j$ 密度直达/ 可达, 即满足对称性 664 | (也就是说, 核心对象之间的密度直达/可达满足对称性)。 665 | 666 | $\boldsymbol{x}_i$ 与 $\boldsymbol{x}_j$ 密度相连, 不要求 667 | $\boldsymbol{x}_i$ 与 $\boldsymbol{x}_j$ 为核心对象, 所以满足对称性。 668 | 669 | ### 9.5.2 图9.9的解释 670 | 671 | 在第 $1\sim 7$ 行中, 算法先根据给定的邻域参数 $(\epsilon, M i n P t s)$ 672 | 找出所有核心对象, 并存于集 合 $\Omega$ 之中; 第 4 行的 if 673 | 判断语句即在判别 $\boldsymbol{x}_j$ 是否为核心对象。 674 | 675 | 在第 $10\sim 24$ 行中, 以任一核心对象为出发点 (由第 12 行实现), 676 | 找出其密度可达的样本 生成聚类簇 (由第 $14\sim 21$ 行实现), 677 | 直到所有核心对象被访问过为止(由第 10 行和第 23 行 配合实现)。具体来说: 678 | 679 | 其中第 $14\sim 21$ 行 while 循环中的 if 判断语句(第 16 680 | 行)在第一次循环时一定为真(因 为 $Q$ 在第 12 行初始化为某核心对象), 681 | 此时会往队列 $Q$ 中加入 $\boldsymbol{q}$ 密度直达的样本 (已知 682 | $\boldsymbol{q}$ 为核 心对象, $\boldsymbol{q}$ 的 683 | $\epsilon$-领域中的样本即为 $\boldsymbol{q}$ 密度直达的), 684 | 队列遵循先进先出规则, 接下来的循环将 依次判别 $\boldsymbol{q}$ 的 685 | $\epsilon$-领域中的样本是否为核心对象 (第 16 行), 若为核心对象, 686 | 则将密度直达的 样本 ( $\epsilon$-领域中的样本) 加入 687 | Q。根据密度可达的概念, while 循环中的 if 判断语句(第 16 688 | 行)找出的核心对象之间一定是相互密度可达的, 非核心对象一定是密度相连的。 689 | 690 | 第 $14\sim 21$ 行 while 循环每跳出一次, 691 | 即生成一个聚类簇。每次生成聚类笶之前, 会记录 当前末访问过样本集合 (第 11 692 | 行 $\Gamma_{\mathrm{old}}=\Gamma$ ), 693 | 然后当前要生成的聚类簇每决定录取一个样 本后会将该样本从厂去除 (第 13 694 | 行和第 19 行), 因此第 14\~21 行 while 循环每跳出一次后, 695 | $\Gamma_{\text {old }}$ 与 $\Gamma$ 差别即为聚类簇的样本成员 (第 22 行), 696 | 并将该聚类簇中的核心对象从第 $1 \sim 7$ 行生 成的核心对象集合 $\Omega$ 697 | 中去除。 698 | 699 | 符号 " $\backslash$" 为集合求差, 例如集合 700 | $A=\{a, b, c, d, e, f\}, B=\{a, d, f, g, h\}$, 则 $A \backslash B$ 为 701 | $A \backslash B=\{b, c, e\}$, 即将 $A, B$ 所有相同元素从 $A$ 中去除。 702 | 703 | ## 9.6 层次聚类 704 | 705 | 本节主要介绍了层次聚类的代表算法 AGNES。 706 | 707 | 式(9.41) (9.43)介绍了三种距离计算方式, 708 | 这与"西瓜书"9.3节中介绍的距离不同之处在于, 此 三种距离计算面向集合之间, 709 | 而9.3节的距离则面向两点之间。正如"西瓜书"第 215 页左上边注所示, 710 | 集合间的距离计算常采用豪斯多夫距离(Hausdorff distance)。 711 | 712 | 算法 AGNES 很简单, 713 | 就是不断重复执行合并距离最近的两个聚类簇。"西瓜书"图9.11为具体实 现方法, 714 | 核心就是在合并两个聚类簇后更新距离矩阵(第 $11\sim 23$ 行), 715 | 之所以看起来复杂, 是因为该实现只更新原先距离矩阵中发生变化的行和列, 716 | 因此需要为此做一些调整。 717 | 718 | 在第 $1\sim 9$ 行, 719 | 算法先对仅含一个样本的初始聚类簇和相应的距离矩阵进行初始化。注意, 720 | 距离矩阵中, 第 $i$ 行为聚类簇 $C_i$ 到各聚类簇的距离, 第 $i$ 721 | 列为各聚类簇到聚类簇 $C_i$ 的距离, 由 第 7 行可知, 距离矩阵为对称矩阵, 722 | 即使用的集合间的距离计算方法满足对称性。 723 | 724 | 第 $18\sim 21$ 行更新距离矩阵 $M$ 的第 $i^*$ 行与第 $i^*$ 列, 725 | 因为此时的聚类簇 $C_{i^*}$ 已经合并了 $C_{j^*}$, 726 | 因此与其余聚类簇之间的距离都发生了变化, 需要更新。 727 | -------------------------------------------------------------------------------- /docs/errata.md: -------------------------------------------------------------------------------- 1 | # 纸质版勘误表 2 | 3 | 如何使用勘误?首先找到你的书的印次,接下来对着下表索引印次,该印次及其之后印次的勘误都是你书中所要注意的勘误,该印次前的所有勘误在当前印次均已修正。 4 | 5 | ## 第2版第6次印刷(2024.01) 6 | - 127页,“式(8.7)的推导”中的最后一句话“两边同除$\frac{1}{2}$”改为“两边同乘$\frac{1}{2}$”(感谢@Acumen7) 7 | - 181页,“式(10.14)的推导”中将式(10.14)化简成式(10.15)目标函数形式时,第⑥步中的$-\boldsymbol{x}_i^{\top}\mathbf{W}^{\top} \mathbf{x}_i$改为$-\boldsymbol{x}_i^{\top} \mathbf{W}\mathbf{W}^{\top} \mathbf{x}_i$(感谢@huishengye) 8 | - 195页,“式(10.31)的目标函数形式”中的$\operatorname{tr}\left(\mathbf{Z}\mathbf{M}\mathbf{Z}\mathbf{Z}^{\top}\right)$改为$\operatorname{tr}\left(\mathbf{Z}\mathbf{M}\mathbf{Z}^{\top}\right)$(感谢@CoderKingXY) 9 | - 86页,“样本内积$\boldsymbol{x}_i^{\mathrm{T}\boldsymbol{x}_j}$”改为“样本内积$\boldsymbol{x}_i^{\mathrm{T}}\boldsymbol{x}_j$”(感谢南瓜书读者交流群13的@.) 10 | - 97页、98页,将其中的“$\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{b}^{\phi} \boldsymbol{w}$”改为“$\boldsymbol{w}^{\mathrm{T}} \mathbf{S}_{w}^{\phi} \boldsymbol{w}$”(感谢南瓜书读者交流群6的@Sodas) 11 | 12 | ## 第2版第5次印刷(2023.11) 13 | - 98页,“6.6.5 核对率回归”中的第2个公式,其中的$\boldsymbol{x}_{i}$改为$\boldsymbol{z}_{i}$(感谢南瓜书读者交流群11的@[太阳]🌈) 14 | - 13页,“2.3.6 式(2.12)~式(2.17)的解释”中的最后一段,将“式(2.17)的$\text{macro-}F1$是将$\text{macro-}P$和$\text{macro-}R$代入式(2.10)所得”改为“式(2.17)的$\text{micro-}F1$是将$\text{micro-}P$和$\text{micro-}R$代入式(2.10)所得” 15 | - 46页,“3.4.1 式(3.32)的推导”中的第一段第一行,将“左下角”改为“右下角” 16 | - 52页,“3.6 类别不平衡问题”的开头第一句话,将“对于类别平衡问题”改为“对于类别不平衡问题” 17 | 18 | ## 第2版第4次印刷(2023.10) 19 | - 172页,$\|\mathbf{A}\|_F=\sum_{i=1}^m \sum_{j=1}^n\left|a_{i j}\right|^2$ 改为 $\|\mathbf{A}\|_F^{2}=\sum_{i=1}^m \sum_{j=1}^n\left|a_{i j}\right|^2$ (感谢@吴津宇) 20 | 21 | ## 第1版第12次印刷(2022.06) 22 | - 式(3.9)中$\hat{\boldsymbol{x}}_i=(x_{1};...;x_{d};1)\in\mathbb{R}^{(d+1)\times 1}$改为$\hat{\boldsymbol{x}}_i=(x_{i1};...;x_{id};1)\in\mathbb{R}^{(d+1)\times 1}$(感谢@Link2Truth) 23 | 24 | ## 第1版第10次印刷(2021.12) 25 | - 式(10.2)解释的最后一行,最后一个式子因为$1 + P^2\left(c^{*} | \boldsymbol{x}\right)\leqslant 2$改为$1 + P\left(c^{*} | \boldsymbol{x}\right)\leqslant 2$ 26 | 27 | ## 第1版第7次印刷(2021.10) 28 | - 92页,式(10.28),“$n$行1列的单位向量”改为“$n$行1列的元素值全为1的向量” 29 | - 95页,式(11.6),“...降低因$w$的分量过太而导致...”改为“...降低因$w$的分量过大而导致...”(感谢@李伟豪work hard) 30 | - 式(11.18),求和可得下面的公式中第一行关于$\boldsymbol{b}$的列向量有笔误,最新表述参见:https://datawhalechina.github.io/pumpkin-book/#/chapter11/chapter11?id=_1118 (感谢@李伟豪work hard) 31 | 32 | ## 第1版第6次印刷(2021.07) 33 | - 17页,式(3.37),最后解析$\lambda$的取值那部分不太严谨,最新表述参见:https://datawhalechina.github.io/pumpkin-book/#/chapter3/chapter3?id=_337 34 | 35 | ## 第1版第4次印刷(2021.05) 36 | - 17页,式(3.37),解析的倒数第二行“将其代入$\mathbf{S}_{b} \boldsymbol{w}=\lambda \mathbf{S}_{b} \boldsymbol{w}$”改为“将其代入$\mathbf{S}_{b} \boldsymbol{w}=\lambda \mathbf{S}_{w} \boldsymbol{w}$” 37 | - 80页,式(9.34),$\mu$ 都改为粗体$\boldsymbol{\mu}$,表示向量 (感谢交流3群@橙子) 38 | - 117页倒数第二行,式(12.42),解析中“$\Phi(Z)$ 表示经验误差和泛化误差的上确界”改为“$\Phi(Z)$表示泛化误差和经验误差的差的上确界” (感谢交流3群@橙子) 39 | - 145页,式(14.36),最后”即式(14.36)右侧的积分部分“上面的公式第二行$\Sigma_{z\ne j}$改为$\Sigma_{k\ne j}$ (感谢交流3群@橙子) 40 | -------------------------------------------------------------------------------- /docs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 南瓜书PumpkinBook 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 |
20 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /res/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/res/example.png -------------------------------------------------------------------------------- /res/nangua.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/res/nangua.jpg -------------------------------------------------------------------------------- /res/nangua_v2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/res/nangua_v2.jpg -------------------------------------------------------------------------------- /res/pumpkin.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/res/pumpkin.png -------------------------------------------------------------------------------- /res/qrcode.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/res/qrcode.jpeg -------------------------------------------------------------------------------- /res/xigua.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/res/xigua.jpg -------------------------------------------------------------------------------- /res/yanggao1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/res/yanggao1.jpg -------------------------------------------------------------------------------- /res/yanggao2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/datawhalechina/pumpkin-book/216c1bc49b4211a824cc31ae02cf4654f4d6c51d/res/yanggao2.jpg --------------------------------------------------------------------------------