机器学习
_bigPo
做重要的事, 做有价值的事。
展开
-
机器学习数学基础(1)
博文以学习PRML为主,并尽力把其主要内容记录下来,希望大家多多指点。多项式拟合首先我们来看一个使用多项式拟合数据的例子,观测集由函数 sin(2πx)sin(2\pi x) 产生, 为了是数据显得更接近真实,通常会对产生的数据加上随机扰动。这里提下,在真实情况下我们搜集到的数据都是有噪声的,所以使模型对观测数据拟合的过分精确反而会造成其泛化能力下降。 我们的目标是从给定的有限个点拟合出一条曲原创 2016-04-11 13:16:00 · 726 阅读 · 0 评论 -
机器学习之EM算法解析
EM算法是参数估计一种,一般的,比如我们知道了样本x1,x2,...xmx_1, x_2, ... x_m 我们想寻找样本背后的参数,通常使用最大似然函数法,然后对最大似然函数求极值得到相应的参数。 但是在有些情况下,样本的生成还有不可观测的隐变量所控制,那么如果对含有隐变量的样本数据进行参数估计呢?同样的我们先将似然函数写下来: l(θ)=∑i=1mlog p(x;θ)=∑i=1mlog∑z p原创 2016-04-29 17:21:26 · 956 阅读 · 0 评论 -
kaggle机器学习教程(Python实现)
kaggle上有个简单的机器学习教程,用的是Python,这篇文章尝试把其中的主要脉络梳理一下,如果你想要学习,还是推荐到网站上过一遍。数据的导入和导出kaggle的数据集大都是以csv格式的文件存储的,你上传最终的结果时也要求以csv格式呈现,因此下面简单介绍下数据集的导入和导出。这个教程是以 预测Titanic幸存人数为例进行说明。数据读入使用pandas可以将csv文件读入DataFrame格原创 2016-05-02 20:12:42 · 5436 阅读 · 1 评论 -
初识Kaggle:手写体数字识别
不得不说刚开始看到kaggle上的数据量还是挺大的,至少对于像我这样的小打小闹的是这样的。在网上看到入门kaggle要先做101的热身赛,就选了这个手写体识别这个赛题。刚好想到了前些天看过的机器学习实战上k近邻一章中有个类似的实例,就想着用kNN试试看。 首先遇到的一个问题是文件的读入,训练集和测试集都是csv格式的文件,这里说下这个test.csv并不能算做是严格意义上的测试集,因为它不含lab原创 2016-04-19 16:15:30 · 5536 阅读 · 0 评论 -
机器学习之高斯混合模型
高斯混合模型可以看做是EM算法的应用之一,下面尝试对迭代公式进行推导。假设我们有一批观测到的样本,这些样本可能来自于k个不同参数的高斯分布,我们如何根据观测到的样本来估计这k个高斯模型的参数呢?原创 2016-04-29 20:02:29 · 1025 阅读 · 0 评论 -
捋一捋AdaBoost(1):算法实现
根据Boosting的理论,通过弱分类器的组合可以得到强分类器。只要该弱分类器稍稍比随机猜测好即可,下面来看看如何一步一步的实现AdaBoost。给样本分配权重AdaBoost是顺序学习,每一轮的训练的样本的权重都是根据该样本在前一轮的表现经过了重新的分配。对于第一轮,我们自然就想到赋予每个样本相等的权重。 w1i=1mi=1,2,⋯,mw_{1i} = \frac{1}{m} \qquad i原创 2016-05-29 18:44:20 · 683 阅读 · 0 评论 -
机器学习之神经网络bp算法推导
这是一篇学习UFLDL反向传导算法的笔记,按自己的思路捋了一遍,有不对的地方请大家指点。首先说明一下神经网络的符号: 1. nln_l 表示神经网络的层数。 2. sls_l 表示第 ll 层神经元个数,不包含偏置单元。 3. z(l)iz_i^{(l)} 表示第 ll 层第 ii 个神经元的输入;a(l)ia_i^{(l)} 表示第 ll 层第 ii 个神经元的输出。 4. W(l)ijW原创 2016-05-05 22:30:56 · 5838 阅读 · 7 评论 -
机器学习之线性回归
线性回归线性回归的函数表示线性回归就是用线性方程去拟合一组数据, xx 的最高阶是1, 用方程可以表示为: hθ(x)=θ0+θ1x1+⋯+θnxnh_\theta(x) = \theta_0 + \theta_1x_1 + \cdots + \theta_nx_n我们令 x0=1x_0 = 1 则上式可以改写为: h(x)=∑i=0nθixi=θTxh(x) = \sum_{i=0}^原创 2016-06-16 21:38:05 · 627 阅读 · 0 评论