K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis) 管理计算机集群(Organize Computer Clusters) 天文学数据分析(Astronomical Data Analysis) K-Means算法属于非监督式学习的一种,算法的输入是:训练数据集$\{x^{(1)},x^{(2)},\ldots, x^{(m)}\}$(其中$x^…
网易公开课,第6,7,8课 notes,http://cs229.stanford.edu/notes/cs229-notes3.pdf SVM-支持向量机算法概述, 这篇讲的挺好,可以参考   先继续前面对线性分类器的讨论, 通过机器学习算法找到的线性分类的线,不是唯一的,对于一个训练集一般都会有很多线可以把两类分开,这里的问题是我们需要找到best的那条线 首先需要定义Margin, 直观上来讲,best的那条线,应该是在可以正确分类的前提下,离所有的样本点越远越好,why? 因为越靠近分类…
网易公开课,第14, 15课 notes,10 之前谈到的factor analysis,用EM算法找到潜在的因子变量,以达到降维的目的 这里介绍的是另外一种降维的方法,Principal Components Analysis (PCA), 比Factor Analysis更为直接,计算也简单些 参考,A Tutorial on Principal Component Analysis, Jonathon Shlens   主成分分析基于, 在现实中,对于高维的数据,其中有很多维都是扰动噪音,…
网易公开课,第12,13课 notes,7a, 7b,8 从这章开始,介绍无监督的算法 对于无监督,当然首先想到k means, 最典型也最简单,有需要直接看7a的讲义   Mixtures of Gaussians 如果要理解Mixtures of Gaussians,那先回去复习一下Gaussians Discriminant Analysis,高斯判别分析 首先高斯判别分析是生成算法, 所以不会直接拟合p(y|x), 而是拟合p(x|y)p(y), 即p(x,y) p(y)符合伯努力分布,…
网易公开课,第9,10课 notes,http://cs229.stanford.edu/notes/cs229-notes4.pdf 这章要讨论的问题是,如何去评价和选择学习算法   Bias/variance tradeoff 还是用这组图,学习算法追求的是generalization error(对未知数据的预测误差),而不是training error(只是对训练集) 最左边,underfit,我们说这种学习算法有较大的bias Informally, we define the bia…
网易公开课,第13,14课 notes,9 本质上因子分析是一种降维算法 参考,http://www.douban.com/note/225942377/,浅谈主成分分析和因子分析 把大量的原始变量,浓缩成少数几个因子变量 原始变量,代表浅层的表面现象,所以一定是很多和繁杂的 而因子变量,是代表深层的本质,因,是无法直接观察到的 所以因子分析,就是拨开现象发现本质的过程...很牛逼的感觉 举个例子,观察一个学生,你可以统计到很多原始变量, 代数,几何,语文,英语各科的成绩,每天作业时间,每天笔记…
网易公开课,第4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面介绍一个线性回归问题,符合高斯分布 一个分类问题,logstic回归,符合伯努利分布 也发现他们有些相似的地方,其实这些方法都是一个更广泛的模型族的特例,这个模型族称为,广义线性模型(Generalized Linear Models,GLMs) The exponential family 为了介绍GLMs,先需要介绍指数族分布(exponential fami…
网易公开课,第10,11课 notes,http://cs229.stanford.edu/notes/cs229-notes5.pdf   Model Selection 首先需要解决的问题是,模型选择问题,如何来平衡bais和variance来自动选择模型?比如对于多项式分类,如何决定阶数k,对于locally weighted regression如何决定窗口大小,对于SVM如何决定参数C For instance, we might be using a polynomial regre…
这一章可能是Andrew Ng讲得最不清楚的一章,为什么这么说呢?这一章主要讲后向传播(Backpropagration, BP)算法,Ng花了一大半的时间在讲如何计算误差项$\delta$,如何计算$\Delta$的矩阵,以及如何用Matlab去实现后向传播,然而最关键的问题——为什么要这么计算?前面计算的这些量到底代表着什么,Ng基本没有讲解,也没有给出数学的推导的例子.所以这次内容我不打算照着公开课的内容去写,在查阅了许多资料后,我想先从一个简单的神经网络的梯度推导入手,理解后向传播算法的…
动机(Motivation) 对于非线性分类问题,如果用多元线性回归进行分类,需要构造许多高次项,导致特征特多学习参数过多,从而复杂度太高. 神经网络(Neural Network) 一个简单的神经网络如下图所示,每一个圆圈表示一个神经元,每个神经元接收上一层神经元的输出作为其输入,同时其输出信号到下一层,其中每一层的第一个神经元称为bias unit,它是额外加入的其值为1,通常用+1表示,下图用虚线画出. 符号说明: $a_i^{(j)}$表示第j层网络的第i个神经元,例如下图$a_1^{(…