![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 95
Marcovaldo
功不唐捐,壮志无违。
展开
-
机器学习基石第六讲:theory of generalization
机器学习基石第六讲继续讨论“学习是否可行的问题”。Restriction of Break Point继续前面的讨论,我们看mH(N)m_H(N)是否会有一个很小的增长速度。回顾前面的四种成长函数及其break point。我们知道k是一个成长函数的break point,那比k大的值全是break point。mH(N)m_H(N)是一个hypothesis在N个数据点上可以产生的dichotom原创 2016-04-23 22:39:18 · 5317 阅读 · 0 评论 -
机器学习基石第八讲:noise and error
博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)机器学习基石第八讲主要介绍噪声和误差度量,笔记整理在下面。Noise and Probabilistic Target现实中的数据很可能含有噪声(noise),例如前面的信用卡发放问题中,有的顾客符合发放标准但没有发给,或者同样情况的顾客有人发了有人没法,再或者顾客的信息不正确等等,VC原创 2016-04-25 21:22:20 · 6698 阅读 · 0 评论 -
机器学习中使用的神经网络第九讲笔记
Geoffery Hinton教授的Neuron Networks for Machine Learning的第八讲为可选部分,好像很难,这里就先跳过了,以后有用的时候再回来补。第九讲介绍了避免过拟合,提高模型的泛化能力。原创 2016-05-20 21:54:44 · 14393 阅读 · 0 评论 -
机器学习中使用的神经网络第七讲笔记
Geoffery Hinton教授的*Neuron Networks for Machine Learning*的第六讲介绍了循环神经网络(recurrent neural network, RNN)和Long Short Term Memory。Modeling sequences: A brief overview在这一小节,我们将对应用于序列(sequences)的不同类型的模型做一个概括。我们从最简单的模型原创 2016-05-18 15:24:58 · 9479 阅读 · 0 评论 -
机器学习中使用的神经网络第六讲笔记
Geoffery Hinton教授的Neuron Networks for Machine Learning的第六讲介绍了随机梯度下降法(SGD),并且介绍了加快学习速度的动量方法(the momentum method)、针对网络中每一个连接的自适应学习步长(adaptive learning rates for each connection)和RMSProp算法。这几个算法的难度很大,需要反复原创 2016-05-16 21:55:50 · 16767 阅读 · 1 评论 -
机器学习中使用的神经网络第五讲笔记
Geoffery Hinton教授的Neuron Networks for Machine Learning的第五讲主要介绍物体识别问题的难点及克服这些难点的方法,重点介绍了数字识别和物体识别中使用的卷积网络。Why object recognition is difficult我们知道识别真实场景中的物体是很困难的,这一小节我们来介绍造成这些困难的一些东西。Segmentation: 在一个图像原创 2016-05-14 15:52:09 · 15339 阅读 · 2 评论 -
机器学习中使用的神经网络第四讲笔记
Geoffery Hinton教授的Neuron Networks for Machine Learning的第四讲主要介绍如何使用back propagation算法来学习到词汇的特征表示。Learning to predict the next word接下来的几小节主要介绍如何使用back propagation算法来学习到词汇的特征表示。我们从一个很简单的例子开始,介绍使用back prop原创 2016-05-08 10:30:31 · 2839 阅读 · 0 评论 -
机器学习中使用神经网络第三讲笔记
Geoffrey Hinton教授的Neuron Networks for Machine Learning的第三讲主要介绍了线性/逻辑神经网络和BackPropagation,下面是整理的笔记。Learning the weights of a linear neuron这一小节介绍线性神经网络的学习算法。线性神经网络很像感知机,但又有不同:在感知机中,权值向量总是越来越接近好的权值设定;在线性神原创 2016-05-05 11:50:20 · 6421 阅读 · 0 评论 -
机器学习中使用的神经网络第二讲笔记
最近在Cousera上学习多伦多大学Geoffrey Hinton教授的Nerual Networks for Machine Learning,为保证学习效果,特整理了学习笔记,一方面加深理解,一方面试图将学到的东西讲清楚。这一讲主要介绍神经网络的结构和感知机。Types of nerual network architectures这一小节介绍了三种不同的神经网络结构。首先介绍向前反馈网络(fe原创 2016-05-04 17:05:51 · 7184 阅读 · 1 评论 -
使用Theano实现kaggle手写识别:logistic regression
博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)前面学习了机器学习的一些基础知识,这两天尝试着做了几个小实验,手写就是利用theano来实现kaggle上的入门问题——手写识别。Theano是一个Python库,允许我们来定义、优化和评估涉及多维数组的数学表达式,因此其是实现深度学习框架的一个很重要的模块。Deep Learning原创 2016-06-12 21:56:16 · 4395 阅读 · 0 评论 -
使用Theano实现kaggle手写识别:multilayer perceptron
前面一片博客介绍了使用logistic regression来实现kaggle上的手写识别,这篇博客继续介绍使用多层感知机来实现手写识别,并提高了正确率。写完上篇博客后,我去看了一些爬虫的东西(还没搞完),因此在40天后才有了这篇博客。这里使用了pandas来读取csv文件,具体函数如下。我们使用了train.csv中的前8份做training set,第九份做validation set,第十份做原创 2016-07-28 15:36:57 · 1350 阅读 · 0 评论 -
Ubuntu14.04+Theano+OpenCL+libgpuarray实现GPU运算
上一篇博客介绍了如何使用Theano+logistic regression来实现kaggle上的数字手写识别,文末提到了CPU计算实在太慢,因此在做完这个实验之后,博主查阅了Theano的文档,了解到Theano官方仅支持CUDA进行GPU运算,不支持OpenCL,也就是说Theano官方仅支持N卡。原因是,CUDA和OpenCL是两个GPU计算平台,CUDA仅支持N卡,OpenCL支持所有的显卡原创 2016-07-08 12:40:17 · 7440 阅读 · 0 评论 -
机器学习基石第四讲:feasibility of learning
博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)刚刚完成机器学习基石的第四节,这一节讨论机器学习的可行性,用到了Hoeffding’s inequality等概率的知识,需要仔细揣摩。笔记整理在下面。Learning is Impossible?前面的课程中曾提到过说学习可能是不可行的,为此我们还通过推导来证明PLA算法是否会停下来。原创 2016-04-20 13:46:43 · 5452 阅读 · 1 评论 -
机器学习基石第五讲:training versus testing
博客已经迁移至Marovaldo’s blog (http://marcovaldong.github.io/)机器学习基石第五讲继续讨论“学习是否可行”这一问题,这一讲比较难,建议大家多看两遍。Recap and Preview前面的课程得出了这样一个结论:在训练数据集足够大,H中包含的hypothesis个数有限的前提下,我们可以证明每一个hypothesis的EinE_{in}和EoutE_{原创 2016-04-22 22:40:45 · 5186 阅读 · 0 评论 -
机器学习中使用的神经网络第十讲笔记
Geoffery Hinton教授的Neuron Networks for Machine Learning的第十讲介绍了如何combine模型,并进一步从实际应用的角度介绍了完全贝叶斯方法。Why it helps to combine models这一小节,我们讨论在做预测时为什么要结合许多模型。使用多个模型可以在拟合真正的规则和拟合样本错误之间做一个很好的折中。我们已经知道,当训练数据比较少时原创 2016-05-27 21:48:23 · 9898 阅读 · 0 评论 -
机器学习基石第七讲:the vc dimension
博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)Definition of VC Dimension上一讲我们找到了B(N,k)的上限,拿它和Nk−1N^{k-1}做一个比较,发现当N够大时,前者比后者小得多。上一讲我们提到了VC bound:在dataset上,H中任意一个hypothesis发生坏事情的概率不超过一个很小很小的定值原创 2016-04-24 22:08:02 · 7604 阅读 · 0 评论 -
机器学习基石第九讲:linear regression
博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)机器学习基石第十讲介绍线性回归问题(linear regression problem),从这一讲开始课程介绍具体的机器学习算法。后面的大部分内容,博主已经学过,所以笔记可能会简略。Linear Regression Problem借助信用卡发放的问题来介绍线性回归,不过这一次不再是分类原创 2016-04-26 11:29:35 · 5213 阅读 · 1 评论 -
Machine Learning第十一周笔记:photo OCR
博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)刚刚完成了Cousera上Machine Learning的最后一周课程,这周介绍了machine learning的一个应用:photo OCR(optimal character recognition,光学字符识别),下面将笔记整理在下面。Photo OCRProblem Desc原创 2016-04-17 10:20:33 · 9018 阅读 · 0 评论 -
Machine Learning第十周笔记:大规模机器学习
刚刚完成了Andrew Ng在Cousera上的Machine Learning的第十周课程,这周主要介绍的是大规模机器学习,现将笔记整理在下面。Gradient Descent with Large DatasetsLearning With Large Datasets在前面介绍bias-variance的时候,我们曾提到一个比较各种算法孰优孰劣的实验,结论是”it’s not who has原创 2016-04-14 12:32:30 · 8039 阅读 · 0 评论 -
Machine Learning第九周笔记:异常检测与推荐系统
Andrew Ng在Machine Learning的第九周介绍了异常检测(anomaly detection)和推荐系统(recommender system),将笔记整理在下面。原创 2016-04-11 10:16:37 · 5559 阅读 · 0 评论 -
Machine Learning第八周笔记:K-Means和降维
刚刚完成了Machine Learning第八周的课程,这一周主要介绍了K-means和降维,现将笔记整理在下面。Unsupervised LearningClusteringUnsupervised Learning: Introduction今天我们开始介绍无监督式学习(unsupervised learning)。下面两张图分别代表典型的有监督式学习和无监督式学习。一个典型的有监督式学习是从一原创 2016-04-09 13:49:01 · 6507 阅读 · 0 评论 -
Machine Learning第七周笔记:支持向量机
今天在Cousera上学习了《Machine Learning》的第七周课程,这一周主要介绍了支持向量机(support vector machine),将学习笔记整理在下面。Support Vector MachineLarge Margin ClassificationOptimization Objective我们通过逻辑回归来引出支持向量机。下图给出了逻辑回归的hθ(x)h_{\theta}原创 2016-04-06 20:30:00 · 1815 阅读 · 0 评论 -
Machine Learning第六周笔记二:机器学习系统设计
现在我们来讨论一下机器学习系统设计。Machine Learning System DesignBuilding a Spam ClassifierPrioritizing What to Work on假设我们想建立一个垃圾邮件分类系统,现在手上有大量的垃圾邮件和费垃圾邮件,那么我们怎样使用监督学习将垃圾邮件和非垃圾邮件分开呢?首先我们可能需要从这些邮件中选择一些能够区分垃圾邮件与非垃圾邮件的词汇原创 2016-04-03 22:27:01 · 1732 阅读 · 0 评论 -
Machine Learning第六周笔记一:评估学习算法和bias/variance
Machine Learing 评估学习算法(evaluating a learning algorithm)bias/variance原创 2016-04-01 21:19:01 · 4529 阅读 · 0 评论 -
《机器学习基石》作业一
已入机器学习坑,下决心走下去。《统计学习方法》一书介绍了十种算法,不算太难,但仍需重读以仔细研究其中的推导。《机器学习实战》一书则给出了各种算法的具体实例,Python实现,适合入门者了解算法的具体应用。另在Cousera上选了两门课:斯坦福Andrew Ng的《Machine Learning》、台大林田轩的《机器学习基石》和《机器学习技法》。Andrew的课程简单,省去了很多的数学推导和证明,但原创 2016-03-24 10:08:39 · 5282 阅读 · 1 评论 -
机器学习基石第二讲:learn to answer yes/no
刚刚完成了机器学习基石的第二讲,主要介绍了机器学习的定义,PLA算法和pocket PLA算法。下面将笔记整理在下面。Perceptron Hypothesis Set延续前面的信用卡发放问题。银行已有的用户数据可能包括用户的年龄、年薪、工作时长、债务情况等特征信息,我们分别用x1x_1原创 2016-04-18 17:18:06 · 6550 阅读 · 0 评论 -
机器学习基石第三讲:types of learning
刚刚完成机器学习基石的第三讲,这一讲主要介绍了机器学习的分类,对何种问题应该使用何种机器学习方法。将笔记整理在下面。Learning with Different Output Space前面讲的信用卡发放问题是一个是非题,也就是说最后的输出只有两种,是一个二元分类(binary classification)。下图中给出了更多的二元分类问题的例子,对于这类问题我们要做的就是找到一个hypothes原创 2016-04-19 16:21:02 · 4619 阅读 · 1 评论 -
TensorFlow实现Titanic比赛
博客首发至Marcovaldo’s blog (http://marcovaldong.github.io/)说来真的惭愧,从休学返校后就没有系统的学习过,更没有做多少coding的工作。最近一个月零零散散的看了tensorflow的一些基础,大概可以写一个小的demo了,就拿Titanic来练手了,最后的准确率只有0.77990,感觉应该还是特征提取得不够。完整代码见我的Github。原创 2017-05-14 19:35:00 · 2000 阅读 · 0 评论