機器學習基石 - PLA算法初步

什么是PLA算法

PLA = Perceptrons Learning Alogrithm

WikiPedia上有一个大概的历史背景介绍。

感知机(英语:Perceptron)是Frank Rosenblatt在1957年就职于Cornell航空实验室(Cornell Aeronautical Laboratory)时所发明的一种人工神经网络。它可以被视为一种最简单形式的前馈式人工神经网络,是一种二元线性分类器。

PLA算法的原理

感知机示意图

对于每种输入值(1 - D),我们计算一个权重。当前神经元的总激发值(a)就等于每种输入值(x)乘以权重(w)之和。

由此我们就可以推导出公式如下。

neuron sum

我们可以为这个“神经元”的激发值设定一个阈值threshold

如果 a > threshold,则判定输入为正例。 如果 a < threshold,则判定输入为负例。 对于 a == threshold的情况,认为是特殊情况,不予考虑。

所以,我们的感知器分类器就可以得到以下式子 …

more ...

CSE351 - Lab 1: Manipulating Bits Using C

今天做了CSE351 - Lab1,深深的感觉国外的计算机教学爆了我校一条街。

以上是前言。


bitAnd & bitOr

德摩根定理的应用

/* 
 * bitAnd - x&y using only ~ and | 
 *   Example: bitAnd(6, 5) = 4
 *   Legal ops: ~ |
 *   Max ops: 8
 *   Rating: 1
 */
int bitAnd(int x, int y) {
  return ~(~x | ~y);
/* 
 * bitOr - x|y using only ~ and & 
 *   Example: bitOr(6, 5) = 7
 *   Legal ops: ~ &
 *   Max ops: 8 …
more ...

CSE 351 - Hardware/Software Interface

开一门公开课,Washington University的Hardware/Software Interface。

传说是很不错的计算机科学公开课。使用深入理解计算机系统做教材,正好是我要读的书,所以顺便听听课。

豆瓣上有人写了推荐,观点是这课虽然不错,但是比较浅。根据我现在的理解来说,确实比较浅,如果有不错的高级语言编程基础(C/C++/Java/Pascal等,脚本就算了),很多东西可以速推。

接下来的一些日志会是这门课的作业、实验和感想。现在先挖个坑。慢慢填上。


课程视频:戳我

课程主页:戳我

more ...