神经网络与机器学习第3版学习笔记
-初学者的笔记,记录花时间思考的各种疑惑
本文主要阐述该书在数学推导上一笔带过的地方。参考学习,在流畅理解书本内容的同时,还能温顾学过的数学知识,达到事半功倍的效果。
第一章 Rosenblatt感知器
1、第32页
1.1 为什么如果第n次迭代时的内积存在符号错误,第n+1次迭代内积的符号就会正确?
已知 $eta left( n ight) X^Tleft( n ight) Xleft( n ight) >left| W^Tleft( n ight) Xleft( n ight) ight|$ ······················································①
(1)假设$Xleft( n ight) in varphi left( 1 ight) $,即正确的内积结果大于0:$W^{egin{array}{c} T\end{array}}left( n ight) Xleft( n ight) >0$ 。
$ecause $第n次迭代时的内积存在符号错误
$ herefore W^{egin{array}{c} T\end{array}}left( n ight) Xleft( n ight) <0$
$ecause Xleft( n ight) in varphi left( 1 ight) \,\,land W^{egin{array}{c} T\end{array}}left( n ight) Xleft( n ight) <0$
$ herefore Wleft( n+1 ight) =Wleft( n ight) +eta left( n ight) Xleft( n ight) $ //加上一个正数,使下次内积增大(P30的式1.6)
$ herefore W^Tleft( n+1 ight) =W^Tleft( n ight) +eta left( n ight) X^Tleft( n ight) $
$ herefore W^Tleft( n+1 ight) Xleft( n ight) =W^Tleft( n ight) Xleft( n ight) +eta left( n ight) X^Tleft( n ight) Xleft( n ight) $
又$ecause ①Rightarrow eta left( n ight) X^Tleft( n ight) Xleft( n ight) >-W^Tleft( n ight) Xleft( n ight) $
$ herefore W^Tleft( n+1 ight) Xleft( n ight) >0$
即:第n+1次迭代内积的符号正确。
(2)同理可证当“$Xleft( n ight) in varphi left( 2 ight) land W^{egin{array}{c} T\end{array}}left( n ight) Xleft( n ight) >0$”时,第n+1次迭代内积的符号正确。
2、第33页
2.1 关于“Cij”
Cij的通俗解释:$xin varphi left( i ight) $ 却错误分类到$varphi left( j ight) $的风险。
3、第34页
3.1 为什么C11<C21&C22<C12?
因为错误分类的风险更大。
3.2 最优分类策略的由来。
要使分类策略最优,即:实现风险最小。
所以,最优分类为,使得$int_{mathscr{X}1}{Aleft( x ight) dx}$最小的A(A为1.27中的代数式)。
那么,把所有使得$Aleft( x ight) <0$的x都分配给$mathscr{X}1$,可使得上式最小。
4、第35页
4.1 式1.33的简化过程
$-frac{1}{2}left( X-mu _1 ight) ^TC^{-1}left( X-mu _1 ight) +frac{1}{2}left( X-mu _2 ight) ^TC^{-1}left( X-mu _2 ight) $
= $-frac{1}{2}X^TC^{-1}X+frac{1}{2}X^TC^{-1}mu _1+frac{1}{2}mu _1^TC^{-1}X-frac{1}{2}mu _1^TC^{-1}mu _1$
$\,\,+frac{1}{2}X^TC^{-1}X-frac{1}{2}X^TC^{-1}mu _2-frac{1}{2}mu _2^TC^{-1}X+frac{1}{2}mu _2^TC^{-1}mu _2$
= $\,\,frac{1}{2}X^TC^{-1}left( mu _1-mu _2 ight) +frac{1}{2}left( mu _1^T-mu _2^T ight) C^{-1}X$
$+frac{1}{2}left( \,\,mu _2^TC^{-1}mu _2-mu _1^TC^{-1}mu _1 ight) $
= $\,\,frac{1}{2}X^TC^{-1}left( mu _1-mu _2 ight) +frac{1}{2}left( mu _1-mu _2 ight) ^TC^{-1}X$
$+frac{1}{2}left( \,\,mu _2^TC^{-1}mu _2-mu _1^TC^{-1}mu _1 ight) $
$ecause X,C,mu _1,mu _2$都是一维向量,且 一维向量X一维向量=常数
$ herefore X^TC^{-1}left( mu _1-mu _2 ight) =left( mu _1-mu _2 ight) ^TC^{-1}X$
$ herefore $原式=$\,\,left( mu _1-mu _2 ight) ^TC^{-1}X+frac{1}{2}left( \,\,mu _2^TC^{-1}mu _2-mu _1^TC^{-1}mu _1 ight) $
5、第37页
5.1 实验所需要的感知器参数中:$eta =50$ ?
因为区域A的输入向量的最大欧几里得范数应该为大圆半径10,
所以 $eta =10^2=100$。
5.2 中文版中对于“权向量大小m=20”的描述,在原版中不存在,可忽略。
6、双月模型的计算机实验
见以下开源代码:
(作者3步迭代就收敛,可我的代码大约需要几百步才能收敛,
由于是随机产生的输入向量,收敛步数应该得看脸,好在都能瞬间完成
并生成可分析数据)
https://gitee.com/none_of_useless/nnalm
思路:
①创建感知器。接受输入向量及初始权值,输出收敛后的权值。
②创建双月模型,生成训练与验证数据。