机器学习
文章平均质量分 84
痴澳超
东南大学 学生
展开
-
机器学习笔记2——分类
分类 笔记整理配套教程:coursera,欢迎转载分享!1.背景 你想要在西雅图选一个寿司很好的餐馆,所以你需要找到这样的餐馆。我们可以获得餐馆的评价比如“the sushi of this restaurant is best in the city”,我们可以把这句话输入一个情感分类器,我们可以知道这句话是对这个餐馆寿司的正面评价。(可能有些评价里面包含很多内容,比方说这里的拉面很原创 2016-10-21 16:08:08 · 1644 阅读 · 0 评论 -
Kernel Regression
本内容整理自coursera,欢迎转载交流。1 Nearest neighbor regression1.1 1-NN regression(1 nearest neighbor regression)步骤:找到与xix_i最近的xNNx_{NN} 则yi=yNNy_i=y_{NN} 度量距离的公式有很多,多用欧拉距离。 1-NN方法对于数据比较稀疏的局域误差比较大,并且对原创 2016-11-28 14:52:46 · 4326 阅读 · 0 评论 -
KD-Tree在K-NN的应用
本内容整理自coursera,欢迎交流转载。1. k-NN算法复杂度在前一篇博客中我介绍了k-NN算法,我们需要找到距离目标最近的K个数据,最直接的想法是计算每一个数据到目标点的距离,然后找出结果。但是在数据量比较大的时候这种方法是很慢的。 容易得到,1-NN的算法复杂度是O(N)O(N),k-NN的算法复杂度是O(Nlogk)O(N{logk}),因此为了提高检索速度我们需要更快的算法。2.原创 2017-01-04 10:10:57 · 758 阅读 · 0 评论 -
LSH-局部敏感哈希在k-NN算法中的应用
本内容整理自coursera,欢迎交流转载。1.KD-Tree算法的局限性在前一篇博客里,我介绍了KD-Tree来简化最邻近查找算法,降低了计算量,但是KD-Tree真的是最好的吗?有没有对于k-NN算法更好的找到最邻近数据的方法呢? 先来说一下KD-Tree不好的地方,首先算法效率不高;第二,问题需要在高维数据求解。 如何理解“高维”呢?在前一篇博客里,我们的数据集只有X和Y两个特征,但是在原创 2017-01-04 11:19:49 · 798 阅读 · 0 评论 -
聚类——k-means & MapReduce
本内容整理自coursera,欢迎交流转载。1.聚类——非监督学习的例子聚类指的是我们输入的数据是没有标签的,因此我们输入数据,然后聚类算法输出标签。聚类结果表示为聚类中心和范围。 聚类算法其实有很多限制,比方说有的实际类别相互交叉,不易区分: 有些聚类形式很难发现: 2.聚类算法——k-means算法流程:随机初始化聚类中心;根据观测点距离每个聚类中心的距离,把每个观测点分配给对应原创 2017-01-07 10:10:41 · 4730 阅读 · 1 评论 -
聚类——混合模型
背景知识补充高斯分布1一维高斯分布2二维高斯分布3 n维高斯分布高斯混合模型聚类EM算法示例1 E过程estimate cluster responsibilitiesgiven current parameter estimates2 M过程maximize likelihood over parameters given current responsibilities5代码实原创 2017-01-07 16:55:16 · 2140 阅读 · 0 评论 -
k-NN算法
本内容整理自coursera,欢迎交流转载。1. 1-NN算法对于数据集, initialize dis=+∞for i=1,2,…,N compute: δ=dis(xi,xq) if δ<dis: set dis=dis(x1,xq)return most similiar data initialize\ dis=+\infty\\ for\ i=原创 2016-12-30 20:44:12 · 2031 阅读 · 0 评论 -
深度学习课程推荐
MOOCsHinton 的 neural networksStanford的CS231n: Convolutional Neural Networks for Visual RecognitionStanford的 CS224d: Deep Learning for Natural Language Processing BOOKs《Neural Networks and Deep Learnin原创 2017-02-28 18:51:29 · 1043 阅读 · 0 评论 -
AWS p2.xlarge 安装tensorflow
1.创建AWS账户和实例首先,谷歌AWS创建账户(需要绑定信用卡). 然后选择service里面的EC2,点击launch instance,选择ubuntu server 16.04. 之后,选择gpu compute, p2.xlarge(有钱的可以选择其他的). 后面选择竞价实例(spot instance),不懂什么是竞价实例的自己搜一下吧,基本就是可以省钱(大概可以省60%~90原创 2017-04-05 08:57:01 · 4480 阅读 · 0 评论 -
一文搞定BP神经网络——从原理到应用(原理篇)
神经网络结构以及前向传播过程损失函数和代价函数反向传播1 矩阵补充知识11 矩阵求梯度12 海塞矩阵13 总结2 矩阵乘积和对应元素相乘3 反向传播原理四个基础等式4 反向传播总结41 单样本输入公式表42 多样本输入公式表本文小结Hello,对于神经网络的原理,我入门了好多次,每次都觉得懂了,但是其实内部原理并没有理解透彻。经过不懈努力,终于茅塞顿开,遂总结此文。 本原创 2017-10-11 09:31:25 · 264238 阅读 · 76 评论 -
一文入门BP神经网络——从原理到应用(应用篇)
辅助函数前向传播过程反向传播过程测试结果 本文是一文搞定BP神经网络——从原理到应用(原理篇)的姊妹篇,主要使用python实现我们之前推导的公式。本文难免会有叙述不合理的地方,希望读者可以在评论区反馈。我会及时吸纳大家的意见,并在之后的chat里进行说明。 本文参考了一些资料,在此一并列出。 http://neuralnetworksanddeeplearn原创 2017-11-03 21:56:21 · 7537 阅读 · 5 评论 -
docker在浏览器里为你提供深度学习系统!
0. 说明1. 概览2. 接近原生unity桌面的操作体验!3. 自适应分辨率4. 终端4. 修改密码5. 文件传输7. 火狐浏览器崩溃问题修复8. Jupyter notebook启动问题Anaconda注意事项0. 说明 转载请注明原始出处!项目地址: https://github.com/LeoCHANGcn/Nvidia-docke...原创 2018-03-12 18:51:29 · 1120 阅读 · 0 评论 -
Tensorflow速查表
TensorFlow 快速查阅指南1. 变量的初始化更进一步2. tf.contrib.learn学习3. TensorBoard可视化3.1 简单入门3.2 嵌入可视化3.3 图形可视化(Graph)4. 变量(包含张量的内存缓冲区)5. 张量6. 共享变量7. 线程和队列8. 读取数据9. 监视器 tf.train.Supervisor10. tf...原创 2018-04-26 17:38:55 · 1180 阅读 · 0 评论 -
Tensorflow Slim入门教程(1)
slim入门教程slim入门教程1. Variable2. Layers2.1 slim.bias_add2.2 slim.batch_norm2.3 slim.conv2d2.4 slim.conv2d_in_plane2.5 slim.conv2d_transpose2.6 slim.fully_connected2.7 slim.avg_pool2d2.8 sli...原创 2018-07-02 21:49:27 · 4021 阅读 · 0 评论 -
Tensorflow Slim入门教程(2)
3. Scopes4. Train Models4.1 Losses4.2 Training Loop4.3 一个例子3. Scopes除了TF原生的 name_scope和variable_scope之外,TF Slim添加了arg_scope,这种scope允许用户在arg_scope中指定若干操作符以及一批参数,这些参数会传给这个scope下的所有操作...原创 2018-07-03 14:36:26 · 1206 阅读 · 0 评论 -
Tensorflow Slim入门教程(3)
5. Fine Tuning Existing Models5.1 tf.train.Saver()5.2 导入部分参数5.3 导入名字不同的参数5.4 在不同任务上微调模型6. 评估模型6.1 Metric5. Fine Tuning Existing Models5.1 tf.train.Saver()# Create some va...原创 2018-07-03 15:42:55 · 1213 阅读 · 0 评论 -
一文搞定卷积神经网络——从原理到应用
文章目录1. 前言2. 全连接BP神经网络的缺点3. 卷积神经网络基本单元3.1 卷积(Convolution)3.2 填充(Padding)和步长(Stride)3.3 完整的卷积过程3.4 池化(Pooling)3.5 激活函数4. 卷积神经网络的前向传播过程5. 卷积神经网络的反向传播过程5.1 卷积层的误差反传5.2 池化层的误差反传6. 代码实现6.1 Numpy实现6.1.1 卷积层前...原创 2019-01-07 19:40:20 · 26263 阅读 · 10 评论 -
Lasso Regression
本内容整理自coursera,欢迎交流转载。1如何选择特征效率 有意义稀疏性1.1法一:全部子集先选择只含有一个特征的最好的特征,然后2个,……以此类推。 假设我们有0~D个特征,由于每个特征都有被选中和没有被选中两种情况,因此算法复杂度为 2(D+1)2^{(D+1)}(指的是有这么多种模型,不包括每种模型的计算和预测的复杂度)。1.2法二:贪心算法每次选择一个剩余特征里面最好的特征原创 2016-11-28 11:01:04 · 2250 阅读 · 1 评论 -
tensorflow+ubuntu16.04
现在需要进行深度学习的项目,因此需要使用tensorflow,配置的过程比较坎坷,特此整理。 先来分享一下两个教程网站: http://tensorfly.cn/tfdoc/tutorials/overview.html http://tensorlayercn.readthedocs.io/zh/latest/本文以2.7为例: 首先,分为CPU版本和GPU版本:#Ubuntu/Linux原创 2016-12-08 19:02:35 · 1001 阅读 · 0 评论 -
Online Learning:随机梯度法
本内容整理自coursera,欢迎交流转载。1 大数据情景下的问题 随着数据集越来越大,按照之前的梯度下降(上升)算法,每次更新系数w^\hat{\textbf{w}}都会遍历所有的数据,这样计算会变得很慢。为了解决这个问题,于是有了之后的故事。2 每次使用一个数据进行更新 回想原来的梯度上升法, ∂l(w)∂wj=∑Ni=1hj(xi)(1[yi=+1]−P(y=+1|xi,w))=∑Ni原创 2016-12-06 18:37:54 · 979 阅读 · 0 评论 -
机器学习5——多元回归及其代码实现
本博客整理自coursera,欢迎转载交流。Features 在简单的一元线性回归模型中,我们的features一般是指一些我们现有的变量。其实,在真正的使用中更重要的可能是如何定义这些特征,我们可以用一些量的函数组合来表示特征。比如预测房价,我们可以用面积,浴室个数……表示特征,也可以用log(面积),浴室个数的平方……表示特征,那么我们的模型表示为: yi=w0h0(xi)+w1h1(x原创 2016-11-03 14:25:29 · 2672 阅读 · 0 评论 -
机器学习——如何评价回归模型
本内容整理自coursera,欢迎交流转载。如何定义损失我们用如下符号表示回归模型的损失(loss): L(y,fw^(x⃗ ))L(y,f_{\hat{w}}(\vec{x})) 举个栗子,我们可以使用局对误差或者方差表示 损失函数: L(y,fw^(x⃗ ))=|y−fw^(x⃗ )|L(y,f_{\hat{w}}(\vec{x}))=|y-f_{\hat{w}}(\vec{x}原创 2016-11-04 16:10:53 · 1824 阅读 · 0 评论 -
机器学习笔记3——聚类
整理自Coursera。欢迎交流。背景 比方一个人正在阅读一篇文章,你则呢在语料库里面寻找相似的文章来推荐给这个人呢?这是好多公司面临的问题。你在阅读网页内容的时候网站是怎么给你推送你可能喜欢的文章呢?相似度(Similarity) 推送的文章肯定是与你正在阅读的文章相似的,因此有必要介绍一下怎么衡量2篇文章的相似度。 最简单粗暴的办法是把一篇文章打乱,统计每个单词出现的次数。我原创 2016-10-22 20:08:49 · 855 阅读 · 0 评论 -
机器学习笔记——岭回归(Ridge Regression)
本内容整理自coursera,欢迎转载交流。 (https://www.coursera.org/specializations/machine-learning)1.一般回归遇到的问题一般的回归模型很容易出现过拟合(overfitting)的问题。 为了说明过拟合,先介绍两个概念: error=bias+variance bias:指的是模型在样本上的输出与真实原创 2016-11-06 09:36:31 · 17646 阅读 · 2 评论 -
机器学习4——推荐系统
整理自coursera,欢迎交流转载。背景 现在我们考虑一个个性化的推荐系统,比如推荐电影、商品等。我们应该如何构建这个系统呢?其实推荐的方法有很多。比方说我们可以根据商品的流行度来推荐,这个方法最大的缺点是缺少个性化;为了实现个性化,我们可以把商品分类,根据分类来向用户推荐,这种方法的输入是用户的购买或浏览历史的特征,输出是用户可能喜欢的商品或多媒体信息,这个方法的优点是个性化原创 2016-10-26 10:59:55 · 1895 阅读 · 0 评论 -
机器学习4-x——音乐推荐系统代码实现
整理自coursera 代码和数据可以在这里下载。import graphlabsong_data = graphlab.SFrame('song_data.gl/')graphlab.canvas.set_target('ipynb')#查看有多少用户users = song_data['user_id'].unique()#数据分为训练集和测试集train_data,test原创 2016-10-27 10:56:32 · 6407 阅读 · 5 评论 -
机器学习笔记1——Regression
本内容来自coursera课程。线性回归最小二乘拟合graphlab的使用如何检验:训练集和测试集线性回归 回归模型是最简单的预测模型,基本思路是找到一条拟合直线或者拟合空间使得拟合结果的残差平方和最小(最小二乘拟合)。关于残差和最小二乘的基本原理不再赘述,可以参考误差理论或者数值分析方面的书籍。最小二乘原理 最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的原创 2016-10-20 10:08:57 · 1381 阅读 · 0 评论 -
机器学习——梯度下降
参照《机器学习》这本书的第4.4.3节。一.解决目标及情景假设:当给定一些数据,输入x向量已知,输出y也已知,设计一个线性函数y=h(x)去拟合这些数据。既然是线性函数,在此不妨设为h(x)=w0*x0+w1*x1。此时我们遇到的问题就是如何确定w0和w1这两个参数,即w=(w0,w1)这个向量。既然是拟合,则拟合效果可以用误差函数:E(w)=∑ [ h(x)- y ] ^2 / 2 来衡转载 2016-11-01 17:05:53 · 430 阅读 · 0 评论 -
线性分类器:Logistic Regression
本内容整理自coursera.欢迎交流转载。1 回顾 在这篇博客里我描述过直线、平面和超平面的分类。2 逻辑回归 什么是logistic regression? 假设我们有N个独立向量,每个向量有D个特征x⃗ i(x0,x1,x2,...,xD)\vec{x}_i(x_0,x_1, x_2,...,x_D),矩阵H是特征矩阵,hi(x⃗ i)=x⃗ i(xi)h_i(\vec{x}_i)原创 2016-11-29 19:18:58 · 1367 阅读 · 0 评论 -
python里使用cv2.goodFeaturesToTrack()函数追踪图像里的关键点
首先需要对cv2.goodFeaturesToTrack函数有一个基本的了解: 详细的介绍在这里:http://baike.baidu.com/link?url=zPK3iMJJfkKO0k2bniENAvksIRY0-Ci7weIcpE9AdFybc5tyUsbPT9cUTx4-vBDmhAnCsSKToS3QP8n4JaInfa 我要处理的视频是热成像仪拍摄的,目的是追踪高原创 2016-03-31 09:09:14 · 16348 阅读 · 1 评论 -
线性分类器——parameter learning
本内容整理自coursera,欢迎交流转载。1 如何确定系数矩阵 我们可以用likelihood l(w)来观测系数矩阵的分类质量。2 Data likelihoodMLE(maximum likelihood estimation) 注意:这里计算概率时需要注意真值y是+1还是-1,相应的我们在计算的时候需要使用对应的概率。 计算完上述内容之后,我们给出评价模型好坏的公式: l(w)原创 2016-12-02 16:50:54 · 502 阅读 · 0 评论 -
线性分类器——Overfitting & regularization
本内容整理自coursera,欢迎交流转载。1 错误率和正确率error=num of mistakestotal number of data pointserror=\frac{ num\ of\ mistakes}{total\ number\ of\ data\ points} accuracy=num of correcttotal number of data pointsaccu原创 2016-12-03 10:51:40 · 666 阅读 · 0 评论 -
决策树
本内容整理自coursera,欢迎交流转载。1 决策树举例 比方说,我们希望评价一个人的贷款风险评级,可以如下: 2 决策树学习——贪心算法(greedy algorithm) 先来看一个定义: Erroe=num of error predictionstotal numberErroe=\frac{num\ of\ error \ predictions}{total \ numb原创 2016-12-03 20:35:43 · 935 阅读 · 0 评论 -
决策树——过拟合的处理
本内容整理自coursera,欢迎交流转载。1 过拟合回顾 什么情况下我们就认为发生了过拟合呢? 训练集误差越来越小,true error却先变小后变大,我们就说发生了过拟合(overfitting)。 2 原则:使用简单的树 当两棵树在validation set的分类误差相近的情况下,选择复杂度低的决策树。 那么,我们怎么得到复杂度低的决策树呢?有两种方法:early原创 2016-12-04 11:10:54 · 6015 阅读 · 0 评论 -
决策树——缺失数据的处理
本内容整理自coursera,欢迎交流转载。1 缺失数据的影响 有些数据可能有某些特征参数缺失,这不仅影响我们的训练模型,还会影响我们利用模型进行预测。2 解决办法2.1 删除缺失项删除含有特征参数缺失的数据(但是如果很多数据特征参数缺失,我们会删除大量数据,一般超过三分之一的数据被删除的话不宜采用此法)删除某个特征(如果仅仅是缺失项集中在了某几个特征,我们可以把所有数据的这些特征参数都删除原创 2016-12-04 12:02:55 · 7921 阅读 · 0 评论 -
Boosting
本内容整理自coursera,欢迎交流转载。1 概述 i)循环迭代多次 更新样本分布 寻找当前分布下的最优弱分类器 计算弱分类器误差率 ii)聚合多次训练的弱分类器 这里的weighted_error=∑Ni=1αiy^i≠yi˙∑Ni=1αiweighted\_error=\frac{\sum^N_{i=1}\alpha{_i}\dot{\hat{y}_i\neq{y_i}}}{\原创 2016-12-05 16:48:19 · 633 阅读 · 0 评论 -
precision和recall
Recall(召回率);Precision(准确率);F1-Meature(综合评价指标);首先来个定义: Precision:被检测出来的信息当中 正确的或者相关的(也就是你想要的)信息中所占的比例; Recall:所有正确的信息或者相关的信息(wanted)被检测出来的比例。查了资料都习惯使用四格图来解释,来个易懂的四格图: true positives (纳真) fal原创 2016-12-05 20:32:52 · 754 阅读 · 0 评论 -
机器学习路径完全版
文章目录1. 数学基础2. 编程基础2.1 Python & C++2.2 Linux & Shell2.3 深度学习框架3. 统计学习3.1 课程(选一)3.2 书籍4. 深度学习4.1 课程(选一)4.2 书籍(选一)5. 专业领域5.1 图像课程(选一)书籍5.2 自然语言处理5.3 视觉SLAM5.4 强化学习课程书籍6. 论文7. 总结写在前面:重点推荐内容加粗...原创 2019-03-06 16:32:56 · 1895 阅读 · 0 评论