Python Machine Learning Chapter 2 note

perceptron

perceptron (感知机) 是一个线性二分类器,基于 MCP neuron,主要功能是将多个输入转换成一个输出。模型如下 ($x$ 为输入向量, $w$ 为权重向量, $y$ 为激活函数的值, $\phi(y)$ 为unit step):
$$
w=
\left[
\begin{array}{r}
w_1 \\
w_2 \\
w_3
\end{array}
\right]
,
x=
\left[
\begin{array}{r}
x_1 \\
x_2 \\
x_3
\end{array}
\right]
$$
$$
y = w^Tx
$$
$$
\phi(y) =
\begin{cases}
1, & y \geq 0\\
-1, & y < 0
\end{cases}
$$

perceptron 算法的核心是,找到误分类的点,然后用误分类的点去更新参数向量(超平面的法向量)每次更新的幅度和学习速率有关,所以我们$\delta w$的值我们定义为$\alpha (y^{(i)} - \phi(x^{(i)}w))x^{(i)}$这样,如果分类正确则$\delta w$的值为0,只有误分类的点会有贡献。这个模型非常简洁明了,但是缺陷也非常明显,由于activation function会直接经过unit step变成离散量,没有好的办法通过数学的角度进行优化,只能遍历通过遍历整个数据集合来更新,直到全部分类正确(如果线性可分)

ADAptive LInear NEuron(Adaline)

Adaline 将unit step 移动到了predict 过程中,并且引入了Sum of Squared Errors (SSE)来评估假设和真实情况的的误差,这样的好处是误差不再是离散的了,而变成一个连续的过程了,如此我们就可以通过倒数的相关知识来求得使得SSE最小的w

更早的文章

刚买一个月的rMBP主板坏掉的情况记录

Sep 16:好吧,早上一起来开机诊断音正常,但是屏幕就是亮不起来了,奇怪的问题,给客服打电话客服直接说硬件故障,然后让我去万象城维修,于是乎,预约下午去维修。Genius测试了许久后来得出了结论,主板肯定有问题,其次屏幕不知道有没有问题,不过好在保修期内,于是Apple全包,当然预计账单还是会有一 …

于  Apple, rMBP, repair, 维修, 苹果 继续阅读