0


HNU_AI_作业3--贝叶斯网络、不确定性的量化、决策树、人工神经网络、深度学习

参考:
HNU岳麓山大小姐-人工智能导论:清览作业
QCNH雨文-人工智能作业三
DONT_1.3概念基础——深度学习基本原理

1.贝叶斯网络

  1. 根据图所给出的贝叶斯网络,
  2. 其中:P(A)=0.5P(B|A)=1 P(BA)=0.5 P(C|A)=1 P(CA)=0.5
  3. P(D|BC)=1P(D|B, ¬C)=0.5P(DB,C)=0.5P(DB, ¬C)=0
  4. 试计算下列概率P(A|D)。

在这里插入图片描述
解:

  1. P
  2. (
  3. A
  4. D
  5. )
  6. =
  7. P
  8. (
  9. D
  10. A
  11. )
  12. P
  13. (
  14. A
  15. )
  16. P
  17. (
  18. D
  19. )
  20. P(A|D) = \frac {P(D|A)*P(A)} {P(D)}
  21. P(AD)=P(D)P(DA)∗P(A)​
  22. P
  23. (
  24. D
  25. A
  26. )
  27. P
  28. (
  29. A
  30. )
  31. =
  32. P
  33. (
  34. D
  35. B
  36. C
  37. )
  38. P
  39. (
  40. B
  41. A
  42. )
  43. P
  44. (
  45. C
  46. A
  47. )
  48. P
  49. (
  50. A
  51. )
  52. +
  53. P
  54. (
  55. D
  56. ¬
  57. B
  58. C
  59. )
  60. P
  61. (
  62. ¬
  63. B
  64. A
  65. )
  66. P
  67. (
  68. C
  69. A
  70. )
  71. P
  72. (
  73. A
  74. )
  75. +
  76. P
  77. (
  78. D
  79. B
  80. ¬
  81. C
  82. )
  83. P
  84. (
  85. B
  86. A
  87. )
  88. P
  89. (
  90. ¬
  91. C
  92. A
  93. )
  94. P
  95. (
  96. A
  97. )
  98. +
  99. P
  100. (
  101. D
  102. ¬
  103. B
  104. ¬
  105. C
  106. )
  107. P
  108. (
  109. ¬
  110. B
  111. A
  112. )
  113. P
  114. (
  115. ¬
  116. C
  117. A
  118. )
  119. P
  120. (
  121. A
  122. )
  123. =
  124. 1
  125. 1
  126. 1
  127. 0.5
  128. +
  129. 0.5
  130. 0
  131. 1
  132. 0.5
  133. +
  134. 0.5
  135. 1
  136. 0
  137. 0.5
  138. +
  139. 0
  140. 0
  141. 0
  142. 0.5
  143. =
  144. 0.5
  145. P(D|A)*P(A) = P(D|BC)*P(B|A)P(C|A)*P(A)+P(DBC)*PB|A)P(C|A)*P(A) \\ +P(D|B¬C)*P(B|A)PC|A)*P(A)+P(DB¬C)*PB|A)PC|A)*P(A) \\ = 1*1*1*0.5+0.5*0*1*0.5+0.5*1*0*0.5+0*0*0*0.5 \\=0.5
  146. P(DA)∗P(A)=P(DBC)∗P(BA)P(CA)∗P(A)+P(D∣¬BC)∗PBA)P(CA)∗P(A)+P(DB¬C)∗P(BA)PCA)∗P(A)+P(D∣¬B¬C)∗PBA)PCA)∗P(A)=1110.5+0.5010.5+0.5100.5+0000.5=0.5
  147. P
  148. (
  149. D
  150. ¬
  151. A
  152. )
  153. P
  154. (
  155. ¬
  156. A
  157. )
  158. =
  159. P
  160. (
  161. D
  162. B
  163. C
  164. )
  165. P
  166. (
  167. B
  168. ¬
  169. A
  170. )
  171. P
  172. (
  173. C
  174. ¬
  175. A
  176. )
  177. P
  178. (
  179. ¬
  180. A
  181. )
  182. +
  183. P
  184. (
  185. D
  186. ¬
  187. B
  188. C
  189. )
  190. P
  191. (
  192. ¬
  193. B
  194. ¬
  195. A
  196. )
  197. P
  198. (
  199. C
  200. ¬
  201. A
  202. )
  203. P
  204. (
  205. ¬
  206. A
  207. )
  208. +
  209. P
  210. (
  211. D
  212. B
  213. ¬
  214. C
  215. )
  216. P
  217. (
  218. B
  219. ¬
  220. A
  221. )
  222. P
  223. (
  224. ¬
  225. C
  226. ¬
  227. A
  228. )
  229. P
  230. (
  231. ¬
  232. A
  233. )
  234. +
  235. P
  236. (
  237. D
  238. ¬
  239. B
  240. ¬
  241. C
  242. )
  243. P
  244. (
  245. ¬
  246. B
  247. ¬
  248. A
  249. )
  250. P
  251. (
  252. ¬
  253. C
  254. ¬
  255. A
  256. )
  257. P
  258. (
  259. ¬
  260. A
  261. )
  262. =
  263. 1
  264. 0.5
  265. 0.5
  266. 0.5
  267. +
  268. 0.5
  269. 0.5
  270. 0.5
  271. 0.5
  272. +
  273. 0.5
  274. 0.5
  275. 0.5
  276. 0.5
  277. +
  278. 0
  279. 0.5
  280. 0.5
  281. 0.5
  282. =
  283. 0.25
  284. P(DA)*PA) = P(D|BC)*P(BA)P(CA)*PA)+P(DBC)*PBA)P(CA)*PA) \\ +P(D|B¬C)*P(BA)PCA)*PA)+P(DB¬C)*PBA)PCA)*PA) \\ = 1*0.5*0.5*0.5+0.5*0.5*0.5*0.5+0.5*0.5*0.5*0.5+0*0.5*0.5*0.5 \\ =0.25
  285. P(D∣¬A)∗PA)=P(DBC)∗P(B∣¬A)P(C∣¬A)∗PA)+P(D∣¬BC)∗PB∣¬A)P(C∣¬A)∗PA)+P(DB¬C)∗P(B∣¬A)PC∣¬A)∗PA)+P(D∣¬B¬C)∗PB∣¬A)PC∣¬A)∗PA)=10.50.50.5+0.50.50.50.5+0.50.50.50.5+00.50.50.5=0.25
  286. P
  287. (
  288. D
  289. )
  290. =
  291. P
  292. (
  293. D
  294. A
  295. )
  296. P
  297. (
  298. A
  299. )
  300. +
  301. P
  302. (
  303. D
  304. ¬
  305. A
  306. )
  307. P
  308. (
  309. ¬
  310. A
  311. )
  312. =
  313. 0.75
  314. P
  315. (
  316. A
  317. D
  318. )
  319. =
  320. 0.5
  321. 0.75
  322. =
  323. 2
  324. 3
  325. P(D)=P(D|A)*P(A) +P(DA)*PA)=0.75 \\ P(A|D)= \frac {0.5} {0.75}= \frac {2} {3}
  326. P(D)=P(DA)∗P(A)+P(D∣¬A)∗PA)=0.75P(AD)=0.750.5​=32

另:关于P(D|A) 的证明:

  1. P
  2. (
  3. D
  4. A
  5. )
  6. =
  7. P
  8. (
  9. A
  10. D
  11. )
  12. P
  13. (
  14. A
  15. )
  16. P
  17. (
  18. A
  19. D
  20. )
  21. =
  22. P
  23. (
  24. A
  25. D
  26. B
  27. C
  28. )
  29. +
  30. P
  31. (
  32. A
  33. D
  34. B
  35. ¬
  36. C
  37. )
  38. +
  39. P
  40. (
  41. A
  42. D
  43. ¬
  44. B
  45. C
  46. )
  47. +
  48. P
  49. (
  50. A
  51. D
  52. ¬
  53. B
  54. ¬
  55. C
  56. )
  57. P
  58. (
  59. A
  60. D
  61. B
  62. C
  63. )
  64. =
  65. P
  66. (
  67. D
  68. B
  69. C
  70. )
  71. P
  72. (
  73. B
  74. A
  75. )
  76. P
  77. (
  78. C
  79. A
  80. )
  81. P
  82. (
  83. A
  84. )
  85. P
  86. (
  87. A
  88. D
  89. B
  90. ¬
  91. C
  92. )
  93. =
  94. P
  95. (
  96. D
  97. B
  98. ¬
  99. C
  100. )
  101. P
  102. (
  103. B
  104. A
  105. )
  106. P
  107. (
  108. ¬
  109. C
  110. A
  111. )
  112. P
  113. (
  114. A
  115. )
  116. P
  117. (
  118. A
  119. D
  120. ¬
  121. B
  122. C
  123. )
  124. =
  125. P
  126. (
  127. D
  128. ¬
  129. B
  130. C
  131. )
  132. P
  133. (
  134. ¬
  135. B
  136. A
  137. )
  138. P
  139. (
  140. C
  141. A
  142. )
  143. P
  144. (
  145. A
  146. )
  147. P
  148. (
  149. A
  150. D
  151. ¬
  152. B
  153. ¬
  154. C
  155. )
  156. =
  157. P
  158. (
  159. D
  160. ¬
  161. B
  162. ¬
  163. C
  164. )
  165. P
  166. (
  167. ¬
  168. B
  169. A
  170. )
  171. P
  172. (
  173. ¬
  174. C
  175. A
  176. )
  177. P
  178. (
  179. A
  180. )
  181. 所以
  182. P
  183. (
  184. D
  185. A
  186. )
  187. =
  188. P
  189. (
  190. D
  191. B
  192. C
  193. )
  194. P
  195. (
  196. B
  197. A
  198. )
  199. P
  200. (
  201. C
  202. A
  203. )
  204. P
  205. (
  206. A
  207. )
  208. +
  209. P
  210. (
  211. D
  212. B
  213. ¬
  214. C
  215. )
  216. P
  217. (
  218. B
  219. A
  220. )
  221. P
  222. (
  223. ¬
  224. C
  225. A
  226. )
  227. P
  228. (
  229. A
  230. )
  231. +
  232. P
  233. (
  234. D
  235. ¬
  236. B
  237. C
  238. )
  239. P
  240. (
  241. ¬
  242. B
  243. A
  244. )
  245. P
  246. (
  247. C
  248. A
  249. )
  250. P
  251. (
  252. A
  253. )
  254. +
  255. P
  256. (
  257. D
  258. ¬
  259. B
  260. ¬
  261. C
  262. )
  263. P
  264. (
  265. ¬
  266. B
  267. A
  268. )
  269. P
  270. (
  271. ¬
  272. C
  273. A
  274. )
  275. P
  276. (
  277. A
  278. )
  279. P
  280. (
  281. A
  282. )
  283. =
  284. P
  285. (
  286. D
  287. B
  288. C
  289. )
  290. P
  291. (
  292. B
  293. A
  294. )
  295. P
  296. (
  297. C
  298. A
  299. )
  300. +
  301. P
  302. (
  303. D
  304. B
  305. ¬
  306. C
  307. )
  308. P
  309. (
  310. B
  311. A
  312. )
  313. P
  314. (
  315. ¬
  316. C
  317. A
  318. )
  319. +
  320. P
  321. (
  322. D
  323. ¬
  324. B
  325. C
  326. )
  327. P
  328. (
  329. ¬
  330. B
  331. A
  332. )
  333. P
  334. (
  335. C
  336. A
  337. )
  338. +
  339. P
  340. (
  341. D
  342. ¬
  343. B
  344. ¬
  345. C
  346. )
  347. P
  348. (
  349. ¬
  350. B
  351. A
  352. )
  353. P
  354. (
  355. ¬
  356. C
  357. A
  358. )
  359. P(D|A) = \frac {P(AD)}{P(A)}\\ P(AD)=P(ADBC)+P(ADB¬C)+P(AD¬BC)+P(AD¬B¬C) \\ P(ADBC)=P(D|BC)P(B|A)P(C|A)P(A) \\ P(ADB¬C)=P(D|B¬C)P(B|A)PC|A)P(A) \\ P(AD¬BC)=P(DBC)PB|A)P(C|A)P(A) \\ P(AD¬B¬C)=P(DB¬C)PB|A)PC|A)P(A) \\ 所以P(D|A)=\frac {P(D|BC)P(B|A)P(C|A)P(A)+P(D|B¬C)P(B|A)PC|A)P(A)+P(DBC)PB|A)P(C|A)P(A)+P(DB¬C)PB|A)PC|A)P(A)}{P(A)} \\ = P(D|BC)P(B|A)P(C|A)+P(D|B¬C)P(B|A)PC|A)+P(DBC)PB|A)P(C|A)+P(DB¬C)PB|A)PC|A)
  360. P(DA)=P(A)P(AD)​P(AD)=P(ADBC)+P(ADB¬C)+P(AD¬BC)+P(AD¬B¬C)P(ADBC)=P(DBC)P(BA)P(CA)P(A)P(ADB¬C)=P(DB¬C)P(BA)PCA)P(A)P(AD¬BC)=P(D∣¬BC)PBA)P(CA)P(A)P(AD¬B¬C)=P(D∣¬B¬C)PBA)PCA)P(A)所以P(DA)=P(A)P(DBC)P(BA)P(CA)P(A)+P(DB¬C)P(BA)PCA)P(A)+P(D∣¬BC)PBA)P(CA)P(A)+P(D∣¬B¬C)PBA)PCA)P(A)​=P(DBC)P(BA)P(CA)+P(DB¬C)P(BA)PCA)+P(D∣¬BC)PBA)P(CA)+P(D∣¬B¬C)PBA)PCA)

ANSWER:
在这里插入图片描述

2.不确定性的量化

  1. 某学校,所有的男生都穿裤子,而女生当中,一半穿裤子,一半穿裙子。
  2. 男女比例70%的可能性是4:6,有20%可能性是1:1,有10%可能性是6:4
  3. 问一个穿裤子的人是男生的概率有多大?

解:裤子-Trousers;裙子-Skirt;男生-Man;女生-Woman;
已知:

  • P(T|M)=1,P(T|W)=0.5,P(S|W)=0.5
  • P(M/W=4/6)=0.7,P(M/W=1/1)=0.2,P(M/W=6/4)=0.1

求:P(M|T)

(1)错解1

  1. P
  2. (
  3. M
  4. T
  5. )
  6. =
  7. P
  8. (
  9. T
  10. M
  11. )
  12. P
  13. (
  14. M
  15. )
  16. P
  17. (
  18. T
  19. )
  20. P
  21. (
  22. T
  23. )
  24. =
  25. P
  26. (
  27. T
  28. M
  29. )
  30. P
  31. (
  32. M
  33. )
  34. +
  35. P
  36. (
  37. T
  38. W
  39. )
  40. P
  41. (
  42. W
  43. )
  44. P(M|T)= \frac {P(T|M)*P(M)} {P(T)} \\ P(T)=P(T|M)*P(M)+P(T|W)*P(W)
  45. P(MT)=P(T)P(TM)∗P(M)​P(T)=P(TM)∗P(M)+P(TW)∗P(W)
  46. P
  47. (
  48. M
  49. )
  50. =
  51. 0.7
  52. 0.4
  53. +
  54. 0.2
  55. 0.5
  56. +
  57. 0.1
  58. 0.6
  59. =
  60. 0.44
  61. P
  62. (
  63. W
  64. )
  65. =
  66. 0.7
  67. 0.6
  68. +
  69. 0.2
  70. 0.5
  71. +
  72. 0.1
  73. 0.4
  74. =
  75. 0.56
  76. P(M)=0.7*0.4+0.2*0.5+0.1*0.6=0.44 \\ P(W)=0.7*0.6+0.2*0.5+0.1*0.4=0.56
  77. P(M)=0.70.4+0.20.5+0.10.6=0.44P(W)=0.70.6+0.20.5+0.10.4=0.56
  78. P
  79. (
  80. T
  81. M
  82. )
  83. P
  84. (
  85. M
  86. )
  87. =
  88. 1
  89. 0.44
  90. =
  91. 0.44
  92. P
  93. (
  94. T
  95. )
  96. =
  97. 1
  98. 0.44
  99. +
  100. 0.5
  101. 0.56
  102. =
  103. 0.72
  104. P
  105. (
  106. M
  107. T
  108. )
  109. =
  110. 0.44
  111. 0.72
  112. =
  113. 0.611
  114. P(T|M)*P(M)=1*0.44=0.44 \\ P(T)=1*0.44+0.5*0.56=0.72 \\ P(M|T) = \frac {0.44} {0.72}=0.611
  115. P(TM)∗P(M)=10.44=0.44P(T)=10.44+0.50.56=0.72P(MT)=0.720.44​=0.611

(2)错解2

来源:QCNH雨文-人工智能作业三
在这里插入图片描述

(3)正解

来源:HNU岳麓山大小姐-人工智能导论:清览作业

①情况h1:男女比例4:6(P=0.7)

  1. P
  2. 1
  3. =
  4. P
  5. (
  6. M
  7. T
  8. )
  9. =
  10. P
  11. (
  12. T
  13. M
  14. )
  15. P
  16. (
  17. M
  18. )
  19. P
  20. (
  21. T
  22. )
  23. =
  24. 1
  25. 0.4
  26. P
  27. (
  28. T
  29. M
  30. )
  31. P
  32. (
  33. M
  34. )
  35. +
  36. P
  37. (
  38. T
  39. W
  40. )
  41. P
  42. (
  43. W
  44. )
  45. =
  46. 0.4
  47. 1
  48. 0.4
  49. +
  50. 0.5
  51. 0.6
  52. =
  53. 4
  54. 7
  55. P_{1}=P(M|T)= \frac {P(T|M)*P(M)} {P(T)} \\ =\frac {1*0.4} {P(T|M)*P(M)+P(T|W)*P(W)} \\ = \frac {0.4} {1*0.4+0.5*0.6}=\frac {4} {7}
  56. P1​=P(MT)=P(T)P(TM)∗P(M)​=P(TM)∗P(M)+P(TW)∗P(W)10.4​=10.4+0.50.60.4​=74

②情况h2:男女比例1:1(P=0.2)

  1. P
  2. 2
  3. =
  4. P
  5. (
  6. M
  7. T
  8. )
  9. =
  10. P
  11. (
  12. T
  13. M
  14. )
  15. P
  16. (
  17. M
  18. )
  19. P
  20. (
  21. T
  22. M
  23. )
  24. P
  25. (
  26. M
  27. )
  28. +
  29. P
  30. (
  31. T
  32. W
  33. )
  34. P
  35. (
  36. W
  37. )
  38. =
  39. 1
  40. 0.5
  41. 1
  42. 0.5
  43. +
  44. 0.5
  45. 0.5
  46. =
  47. 2
  48. 3
  49. P_{2}=P(M|T)=\frac {P(T|M)*P(M)} {P(T|M)*P(M)+P(T|W)*P(W)} \\ = \frac {1*0.5} {1*0.5+0.5*0.5}=\frac {2} {3}
  50. P2​=P(MT)=P(TM)∗P(M)+P(TW)∗P(W)P(TM)∗P(M)​=10.5+0.50.510.5​=32

③情况h3:男女比例6:4(P=0.1)

  1. P
  2. 3
  3. =
  4. P
  5. (
  6. M
  7. T
  8. )
  9. =
  10. P
  11. (
  12. T
  13. M
  14. )
  15. P
  16. (
  17. M
  18. )
  19. P
  20. (
  21. T
  22. M
  23. )
  24. P
  25. (
  26. M
  27. )
  28. +
  29. P
  30. (
  31. T
  32. W
  33. )
  34. P
  35. (
  36. W
  37. )
  38. =
  39. 1
  40. 0.6
  41. 1
  42. 0.6
  43. +
  44. 0.5
  45. 0.4
  46. =
  47. 3
  48. 4
  49. P_{3}=P(M|T)=\frac {P(T|M)*P(M)} {P(T|M)*P(M)+P(T|W)*P(W)} \\ = \frac {1*0.6} {1*0.6+0.5*0.4}=\frac {3} {4}
  50. P3​=P(MT)=P(TM)∗P(M)+P(TW)∗P(W)P(TM)∗P(M)​=10.6+0.50.410.6​=43

④MAP-极大后验概率

极大后验概率:选择概率最大的那个当作结果

  1. h
  2. M
  3. A
  4. P
  5. =
  6. a
  7. r
  8. g
  9. m
  10. a
  11. x
  12. h
  13. H
  14. P
  15. (
  16. D
  17. h
  18. )
  19. P
  20. (
  21. h
  22. )
  23. =
  24. a
  25. r
  26. g
  27. m
  28. a
  29. x
  30. {
  31. P
  32. 1
  33. P
  34. (
  35. h
  36. 1
  37. )
  38. P
  39. 2
  40. P
  41. (
  42. h
  43. 2
  44. )
  45. P
  46. 3
  47. P
  48. (
  49. h
  50. 3
  51. )
  52. }
  53. =
  54. a
  55. r
  56. g
  57. m
  58. a
  59. x
  60. {
  61. 4
  62. 7
  63. 7
  64. 10
  65. 2
  66. 3
  67. 2
  68. 10
  69. 3
  70. 4
  71. 1
  72. 10
  73. }
  74. =
  75. a
  76. r
  77. g
  78. m
  79. a
  80. x
  81. {
  82. 4
  83. 10
  84. 4
  85. 30
  86. 3
  87. 40
  88. }
  89. =
  90. 0.4
  91. h_{MAP}=arg \space max_{hH} P(D|h)P(h) \\ = arg \space max \{ P_{1}*P(h_{1}),P_{2}*P(h_{2}),P_{3}*P(h_{3}) \} \\ =arg\space max \{ \frac {4} {7}* \frac {7} {10},\frac {2} {3}* \frac {2} {10},\frac {3} {4}* \frac {1} {10} \} \\ = arg\space max \{ \frac {4} {10},\frac {4} {30},\frac {3} {40}\} = 0.4
  92. hMAP​=arg maxhHP(Dh)P(h)=arg max{P1​∗P(h1​),P2​∗P(h2​),P3​∗P(h3​)}=arg max{74​∗107​,32​∗102​,43​∗101​}=arg max{104​,304​,403​}=0.4

ANSWER:
在这里插入图片描述
在这里插入图片描述

3.决策树

  1. 设样本集合如下表格,其中ABCF的属性,
  2. 请根据信息增益标准(ID3算法),画出F的决策树。
  1. l
  2. o
  3. g
  4. 2
  5. (
  6. 2
  7. /
  8. 3
  9. )
  10. =
  11. 0.5842
  12. l
  13. o
  14. g
  15. 2
  16. (
  17. 1
  18. /
  19. 3
  20. )
  21. =
  22. 1.5850
  23. l
  24. o
  25. g
  26. 2
  27. (
  28. 3
  29. /
  30. 4
  31. )
  32. =
  33. 0.41504
  34. log_{2} (2/3) = -0.5842 \\ log_{2} ( 1/3) = -1.5850 \\ log_{2} (3/4) = -0.41504
  35. log2​(2/3)=−0.5842log2​(1/3)=−1.5850log2​(3/4)=−0.41504

ABCF0000001101000111100110111100
解:

①第一次分类

计算A、B、C的熵:

  1. H
  2. A
  3. =
  4. 4
  5. 7
  6. H
  7. A
  8. =
  9. 0
  10. +
  11. 3
  12. 7
  13. H
  14. A
  15. =
  16. 1
  17. =
  18. 1
  19. 7
  20. (
  21. 2
  22. l
  23. o
  24. g
  25. 2
  26. 2
  27. 4
  28. +
  29. 2
  30. l
  31. o
  32. g
  33. 2
  34. 2
  35. 4
  36. +
  37. 1
  38. l
  39. o
  40. g
  41. 2
  42. 1
  43. 3
  44. +
  45. 2
  46. l
  47. o
  48. g
  49. 2
  50. 2
  51. 3
  52. )
  53. =
  54. 0.965
  55. H_{A}=\frac {4} {7}H_{A=0}+\frac {3} {7}H_{A=1} \\ = -\frac {1} {7} (2*log_{2} \frac {2} {4}+2*log_{2} \frac {2} {4}+1*log_{2} \frac {1} {3}+2*log_{2} \frac {2} {3}) \\ = 0.965
  56. HA​=74HA=0​+73HA=1​=−71​(2log242​+2log242​+1log231​+2log232​)=0.965
  57. H
  58. B
  59. =
  60. 4
  61. 7
  62. H
  63. B
  64. =
  65. 0
  66. +
  67. 3
  68. 7
  69. H
  70. B
  71. =
  72. 1
  73. =
  74. 1
  75. 7
  76. (
  77. 1
  78. l
  79. o
  80. g
  81. 2
  82. 1
  83. 4
  84. +
  85. 3
  86. l
  87. o
  88. g
  89. 2
  90. 3
  91. 4
  92. +
  93. 2
  94. l
  95. o
  96. g
  97. 2
  98. 2
  99. 3
  100. +
  101. 1
  102. l
  103. o
  104. g
  105. 2
  106. 1
  107. 3
  108. )
  109. =
  110. 0.857
  111. H_{B}=\frac {4} {7}H_{B=0}+\frac {3} {7}H_{B=1} \\ = -\frac {1} {7} (1*log_{2} \frac {1} {4}+3*log_{2} \frac {3} {4}+2*log_{2} \frac {2} {3}+1*log_{2} \frac {1} {3}) \\ = 0.857
  112. HB​=74HB=0​+73HB=1​=−71​(1log241​+3log243​+2log232​+1log231​)=0.857
  113. H
  114. C
  115. =
  116. 4
  117. 7
  118. H
  119. C
  120. =
  121. 0
  122. +
  123. 3
  124. 7
  125. H
  126. C
  127. =
  128. 1
  129. =
  130. 1
  131. 7
  132. (
  133. 3
  134. l
  135. o
  136. g
  137. 2
  138. 3
  139. 4
  140. +
  141. 1
  142. l
  143. o
  144. g
  145. 2
  146. 1
  147. 4
  148. +
  149. 0
  150. l
  151. o
  152. g
  153. 2
  154. 0
  155. 3
  156. +
  157. 3
  158. l
  159. o
  160. g
  161. 2
  162. 3
  163. 3
  164. )
  165. =
  166. 0.464
  167. H_{C}=\frac {4} {7}H_{C=0}+\frac {3} {7}H_{C=1} \\ = -\frac {1} {7} (3*log_{2} \frac {3} {4}+1*log_{2} \frac {1} {4}+0*log_{2} \frac {0} {3}+3*log_{2} \frac {3} {3}) \\ = 0.464
  168. HC​=74HC=0​+73HC=1​=−71​(3log243​+1log241​+0log230​+3log233​)=0.464

属性C的熵最低,故选择C。

  • C=1时:F=1,熵为0;【确定C的右子树】
  • C=0时:对其4个例子再进行第二次分类:

②第二次分类(C=0)

  1. H
  2. A
  3. =
  4. 2
  5. 4
  6. H
  7. A
  8. =
  9. 0
  10. +
  11. 2
  12. 4
  13. H
  14. A
  15. =
  16. 1
  17. =
  18. 1
  19. 4
  20. (
  21. 2
  22. l
  23. o
  24. g
  25. 2
  26. 2
  27. 2
  28. +
  29. 0
  30. l
  31. o
  32. g
  33. 2
  34. 0
  35. 2
  36. +
  37. 1
  38. l
  39. o
  40. g
  41. 2
  42. 1
  43. 2
  44. +
  45. 1
  46. l
  47. o
  48. g
  49. 2
  50. 1
  51. 2
  52. )
  53. =
  54. 0.5
  55. H_{A}=\frac {2} {4}H_{A=0}+\frac {2} {4}H_{A=1} \\ = -\frac {1} {4} (2*log_{2} \frac {2} {2}+0*log_{2} \frac {0} {2}+1*log_{2} \frac {1} {2}+1*log_{2} \frac {1} {2}) \\ = 0.5
  56. HA​=42HA=0​+42HA=1​=−41​(2log222​+0log220​+1log221​+1log221​)=0.5
  57. H
  58. B
  59. =
  60. 2
  61. 4
  62. H
  63. B
  64. =
  65. 0
  66. +
  67. 2
  68. 4
  69. H
  70. B
  71. =
  72. 1
  73. =
  74. 1
  75. 4
  76. (
  77. 1
  78. l
  79. o
  80. g
  81. 2
  82. 1
  83. 2
  84. +
  85. 1
  86. l
  87. o
  88. g
  89. 2
  90. 1
  91. 2
  92. +
  93. 2
  94. l
  95. o
  96. g
  97. 2
  98. 2
  99. 2
  100. +
  101. 0
  102. l
  103. o
  104. g
  105. 2
  106. 0
  107. 2
  108. )
  109. =
  110. 0.5
  111. H_{B}=\frac {2} {4}H_{B=0}+\frac {2} {4}H_{B=1} \\ = -\frac {1} {4} (1*log_{2} \frac {1} {2}+1*log_{2} \frac {1} {2}+2*log_{2} \frac {2} {2}+0*log_{2} \frac {0} {2}) \\ = 0.5
  112. HB​=42HB=0​+42HB=1​=−41​(1log221​+1log221​+2log222​+0log220​)=0.5

属性A/B的熵相同,故选择A/B均可。
如果选择A:

  • A=0时:F=0,熵为0;【确定A的左子树】
  • A=1时:对其2个例子再按照属性B分类;

如果选择B:

  • B=1时:F=0,熵为0;【确定B的右子树】
  • B=0时:对其2个例子再按照属性A分类;

③第三次分类(A=1)【决策树1】

  1. H
  2. B
  3. =
  4. 1
  5. 2
  6. H
  7. B
  8. =
  9. 0
  10. +
  11. 1
  12. 2
  13. H
  14. B
  15. =
  16. 1
  17. =
  18. 1
  19. 2
  20. (
  21. 0
  22. )
  23. =
  24. 0
  25. H_{B}=\frac {1} {2}H_{B=0}+\frac {1} {2}H_{B=1} \\ = -\frac {1} {2} (0) = 0
  26. HB​=21HB=0​+21HB=1​=−21​(0)=0

其实到这里:

  • B=0时:F=1,熵为0;【确定B的左子树】
  • B=1时:F=0,熵为0;【确定B的右子树】;在这里插入图片描述

④第三次分类(B=0)【决策树2】

  1. H
  2. A
  3. =
  4. 1
  5. 2
  6. H
  7. A
  8. =
  9. 0
  10. +
  11. 1
  12. 2
  13. H
  14. A
  15. =
  16. 1
  17. =
  18. 1
  19. 2
  20. (
  21. 0
  22. )
  23. =
  24. 0
  25. H_{A}=\frac {1} {2}H_{A=0}+\frac {1} {2}H_{A=1} \\ = -\frac {1} {2} (0) = 0
  26. HA​=21HA=0​+21HA=1​=−21​(0)=0

其实到这里:

  • A=0时:F=0,熵为0;【确定A的左子树】
  • A=1时:F=1,熵为0;【确定A的右子树】;在这里插入图片描述ANSWER:在这里插入图片描述

4.人工神经网络

  1. 阈值感知器可以用来执行很多逻辑函数,
  2. 说明它对二进制逻辑函数与(AND)和或(OR)的实现过程。

(1)与(AND)

  • 真值表
    x1x2x1 AND x2000010100111

  • 阈值感知器(举例)在这里插入图片描述

  • 感知器算法在这里插入图片描述

  • 算法实现

  • (1)初始化 设定初始的权值w1,w2和阈值bias;

  1. classPerceptron(object):def__init__(self, num, activator):'''
  2. 初始化感知器,设置输入参数的个数,以及激活函数。
  3. 激活函数的类型为double -> double
  4. '''
  5. self.activator = activator
  6. #权重向量初始化为 0
  7. self.weights =[0.0for _ inrange(num)]
  8. self.bias =0
  • (2)计算激活函数值- 根据输入x1( p), x2( p),…, xn( p) 和权值w1,w2,…,wn计算输出Y( p),其中p表示迭代的轮数在这里插入图片描述- 可以把下面的bias看做 -θ- activator即step函数
  1. defpredict(self, input_vec):'''
  2. 输入向量,输出感知器的计算结果
  3. '''# 利用map函数计算[x1*w1, x2*w2, x3*w3], 然后转化为列表# 最后利用 sum 求和return self.activator(sum(list(map(lambda x, y: x*y,
  4. self.weights, input_vec
  5. )))+ self.bias
  6. )#return self.activator(sum(tmp))
  • (3)更新权值- 计算公式在这里插入图片描述- 实现def_update_weights(self, input_vec, output, label, rate):'''' 按照感知器规则,更新权重 ''' delta = label - output self.weights =list(map(lambda x, y: x + y*rate*delta, self.weights, input_vec )) self.bias += rate * delta
  • (4)迭代循环
  1. def_one_iteration(self, input_vecs, labels, rate):'''
  2. 一次迭代,把所有的训练数据过一遍
  3. '''# 把输入和输出打包在一起,成为样本的列表[(input_vec, label), ...]# 而每个训练样本是(input_vec, label)
  4. samples =zip(input_vecs, labels)# 对于每个样本,按照感知器规则更新权重for input_vec, label in samples:
  5. output = self.predict(input_vec)
  6. self._update_weights(input_vec, output, label, rate)
  • 完整实现在这里插入图片描述
  1. classPerceptron(object):def__init__(self, num, activator):'''
  2. 初始化感知器,设置输入参数的个数,以及激活函数。
  3. 激活函数的类型为double -> double
  4. '''
  5. self.activator = activator
  6. #权重向量初始化为 0
  7. self.weights =[0.0for _ inrange(num)]
  8. self.bias =0def__str__(self):'''
  9. 打印学习到的权重、偏置项bias
  10. '''return'weight: %s\n bias: %f\n'%(self.weights, self.bias)def__print__(self):print('weight: %s\n bias: %f\n'%(self.weights, self.bias))defpredict(self, input_vec):'''
  11. 输入向量,输出感知器的计算结果
  12. '''# 利用map函数计算[x1*w1, x2*w2, x3*w3], 然后转化为列表# 最后利用 sum 求和return self.activator(sum(list(map(lambda x, y: x*y,
  13. self.weights, input_vec
  14. )))+ self.bias
  15. )#return self.activator(sum(tmp))deftrain(self, input_vecs, labels, iterations, rate):'''
  16. 输入训练数据:一组向量、与每个向量对应的label;以及训练轮数、学习率
  17. '''
  18. i=0for _ inrange(iterations):print("迭代次数:{}".format(i))
  19. i+=1
  20. self.__print__()
  21. self._one_iteration(input_vecs, labels, rate)def_one_iteration(self, input_vecs, labels, rate):'''
  22. 一次迭代,把所有的训练数据过一遍
  23. '''# 把输入和输出打包在一起,成为样本的列表[(input_vec, label), ...]# 而每个训练样本是(input_vec, label)
  24. samples =zip(input_vecs, labels)# 对于每个样本,按照感知器规则更新权重for input_vec, label in samples:
  25. output = self.predict(input_vec)
  26. self._update_weights(input_vec, output, label, rate)def_update_weights(self, input_vec, output, label, rate):''''
  27. 按照感知器规则,更新权重
  28. '''
  29. delta = label - output
  30. self.weights =list(map(lambda x, y: x + y*rate*delta,
  31. self.weights, input_vec
  32. ))
  33. self.bias += rate * delta
  34. ''''
  35. 以下代码为实现 and 函数
  36. '''defactivate(x):if x >0:return1return0defget_train_dataset():#构建训练数据
  37. input_vecs =[[0,0],[0,1],[1,0],[1,1]]#训练数据
  38. labels =[0,0,0,1]#输出列表return input_vecs, labels
  39. deftrain_data():# 创建一个感知器
  40. perceptron = Perceptron(2, activate)
  41. input_vecs, labels = get_train_dataset()# 训练数据,然后迭代 20 轮,学习速率为 0.1
  42. perceptron.train(input_vecs, labels,20,0.1)return perceptron
  43. result = train_data()print(result)#测试真值表print('1 and 1 = %d'% result.predict([1,1]))print('0 and 0 = %d'% result.predict([0,0]))print('1 and 0 = %d'% result.predict([1,0]))print('0 and 1 = %d'% result.predict([0,1]))

ANSWER:
在这里插入图片描述

(2)或(OR)

  • 真值表
    x1x2x1 OR x2000011101111

  • 阈值感知器- 设y=w1x1+w2x2+b,阈值函数用的Step函数- 在这里插入图片描述- 与AND的实现类似:在这里插入图片描述

  1. classPerceptron(object):def__init__(self, num, activator):'''
  2. 初始化感知器,设置输入参数的个数,以及激活函数。
  3. 激活函数的类型为double -> double
  4. '''
  5. self.activator = activator
  6. #权重向量初始化为 0
  7. self.weights =[0.0for _ inrange(num)]
  8. self.bias =0def__str__(self):'''
  9. 打印学习到的权重、偏置项bias
  10. '''return'weight: %s\n bias: %f\n'%(self.weights, self.bias)defpredict(self, input_vec):'''
  11. 输入向量,输出感知器的计算结果
  12. '''# 利用map函数计算[x1*w1, x2*w2, x3*w3], 然后转化为列表# 最后利用 sum 求和return self.activator(sum(list(map(lambda x, y: x*y,
  13. self.weights, input_vec
  14. )))+ self.bias
  15. )#return self.activator(sum(tmp))deftrain(self, input_vecs, labels, iterations, rate):'''
  16. 输入训练数据:一组向量、与每个向量对应的label;以及训练轮数、学习率
  17. '''for _ inrange(iterations):
  18. self._one_iteration(input_vecs, labels, rate)def_one_iteration(self, input_vecs, labels, rate):'''
  19. 一次迭代,把所有的训练数据过一遍
  20. '''# 把输入和输出打包在一起,成为样本的列表[(input_vec, label), ...]# 而每个训练样本是(input_vec, label)
  21. samples =zip(input_vecs, labels)# 对于每个样本,按照感知器规则更新权重for input_vec, label in samples:
  22. output = self.predict(input_vec)
  23. self._update_weights(input_vec, output, label, rate)def_update_weights(self, input_vec, output, label, rate):''''
  24. 按照感知器规则,更新权重
  25. '''
  26. delta = label - output
  27. self.weights =list(map(lambda x, y: x + y*rate*delta,
  28. self.weights, input_vec
  29. ))
  30. self.bias += rate * delta
  31. ''''
  32. 以下代码为实现 and 函数
  33. '''defactivate(x):if x >0:return1return0defget_train_dataset():#构建训练数据
  34. input_vecs =[[0,0],[0,1],[1,0],[1,1]]#训练数据
  35. labels =[0,1,1,1]#输出列表return input_vecs, labels
  36. deftrain_data():# 创建一个感知器
  37. perceptron = Perceptron(2, activate)
  38. input_vecs, labels = get_train_dataset()# 训练数据,然后迭代 20 轮,学习速率为 0.1
  39. perceptron.train(input_vecs, labels,20,0.1)return perceptron
  40. result = train_data()print(result)#测试真值表print('1 or 1 = %d'% result.predict([1,1]))print('0 or 0 = %d'% result.predict([0,0]))print('1 or 0 = %d'% result.predict([1,0]))print('0 or 1 = %d'% result.predict([0,1]))

ANSWER:
在这里插入图片描述

5.深度学习

  1. 深度学习的原理是什么?以一个典型的深度学习算法为例进行说明。
  • 深度学习的原理- 深度学习是一种机器学习方法,它试图通过模拟人类大脑的神经网络结构来实现智能任务的自动化。- 其原理基于神经网络的概念,其中包含了多个层次的神经元,每一层都会对输入数据进行一系列非线性变换和特征提取,最终输出一个结果。
  • 举例-卷积神经网络(Convolutional Neural Network,CNN)- 卷积层(Convolutional Layer):CNN中的核心部分。 - 使用一组可学习的滤波器(也称为卷积核)对输入数据进行卷积操作。- 通过滑动窗口的方式在输入数据上进行滤波操作,提取输入数据中的特征。每个滤波器会检测输入数据中的某种特定模式或特征。- 激活函数(Activation Function): - 卷积操作得到的结果会被输入到激活函数中,以引入非线性特性。- 常用的激活函数包括ReLU(Rectified Linear Unit)、Sigmoid、Tanh等,能在网络中引入非线性,使得神经网络能够学习到更加复杂的模式和特征。- 池化层(Pooling Layer):减少特征图的空间尺寸,保留重要的特征信息。 - 常见的池化操作:最大池化(Max Pooling)和平均池化(Average Pooling)。- 通过减小特征图的尺寸,池化层能够降低模型的参数数量,提高模型的计算效率。- 全连接层(Fully Connected Layer): - 经过一系列的卷积层和池化层之后,通常会将特征图展平为一维向量,并输入到全连接层中。- 全连接层中的每个神经元都与前一层中的所有神经元相连,它们通过学习权重来将高层的特征表示映射到输出类别。- 损失函数(Loss Function):衡量模型的预测输出与真实标签之间的差异。 - 常见的损失函数:交叉熵损失函数(Cross-Entropy Loss)和均方误差损失函数(Mean Squared Error Loss)等。- 优化算法(Optimization Algorithm):用于更新模型参数,使得损失函数的值尽可能地减小。 - 常用的优化算法包括随机梯度下降(Stochastic Gradient Descent,SGD)及其改进算法,如Adam、RMSProp等。

通过不断地反向传播误差并更新参数,深度学习模型能够逐渐优化自身的性能,从而实现对复杂数据的高效处理和学习。


本文转载自: https://blog.csdn.net/qq_62323523/article/details/138133618
版权归原作者 _蟑螂恶霸_ 所有, 如有侵权,请联系我们删除。

“HNU_AI_作业3--贝叶斯网络、不确定性的量化、决策树、人工神经网络、深度学习”的评论:

还没有评论