
ML
布丁的自我修养
这个作者很懒,什么都没留下…
展开
-
MNIST手写识别系列——目录
MNIST手写识别系列——目录写在前面写者算是一个小白,想入门ML,希望能对ML或者CV有所了解。所以尝试用多种方法对MNIST数据集进行求解。实不相瞒,大部分算法是参考网络上的其他博客,我只是在看懂,跑通的基础上,加上一些个人的理解,还有一些涉及到的知识点。我并不会写出详细的推导,因为那推导不是我自己写的,但是我会把相关链接罗列出来,方便大家跳转查看。我侧重写思路还有一些实现的经验。希望大...原创 2019-03-31 10:58:23 · 189 阅读 · 0 评论 -
MNIST手写识别系列——BP算法
MNIST手写识别系列——BP算法这次想使用的是BP算法来进行求解。关于BP算法的求解,我强烈推荐这篇博文曾梓华——一文详解神经网络 BP 算法原理及 Python 实现详细推导可以仔细看博文,我这里只是列出几个重要的公式,下面代码讲解会用到。这个公式是神经元输出值a的计算公式。其中w是权重,b是偏置,f函数采用的是sigmoid激活函数。这个是均方误差,我们逆向反馈的目标就是让E函...原创 2019-03-31 15:29:09 · 4019 阅读 · 1 评论 -
MNIST手写识别系列——kNN算法(多进程和单进程)
核心思想KNN算法的核心思想其实很简单,就是计算两张图片之间的距离。当我们有一个已经打上标签的数据集,然后我们输入一张图片,此时图片会和数据集中所有图片进行求“距离”运算,选出其中最近的k张图,然后根据这k张图中的标签,选择标签出现次数最多的作为我们的输出。距离公式有以下两种:曼哈顿距离:高斯距离:对于超参K的选择:将测试数据分的等分成多个折,每个折使用不同的K值,最后看哪个折...原创 2019-04-18 18:57:44 · 483 阅读 · 0 评论 -
variables are collinear 的原因
近期使用sklearn框架中的LDA模块进行二分类预测时,出现以下警告:UserWarning: Variables are collinear. warnings.warn("Variables are collinear.")由于我使用的数据集是一个非常稀疏的矩阵,而LDA在求解过程中需要求数据的逆矩阵,所以会出现以上警告。详细的解释是:LDA涉及计算矩阵求逆,如果行列式接近于0,...原创 2019-05-19 11:44:43 · 5109 阅读 · 4 评论 -
KNN, LDA, SVM 实战 —— 运用在Farm-ads(python)
概述使用KNN,LDA,SVM求解UCI中的Farm-ads数据集。其中KNN为纯手写,LDA包括手写和使用sklearn的模块,SVM也包括手写和使用sklearn模块。github代码实验环境anaconda + jupyter notebook + python3.7数据数据集来源实验数据来源于:UCI机器学习数据库(http://archive.ics.uci.edu/ml/...原创 2019-05-19 15:42:40 · 1401 阅读 · 0 评论