![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
机器学习
文章平均质量分 66
该专栏为我在学习“机器学习”过程中记录,欢迎大家一起学习!
PinkGranite
早上好 中午好 晚上好
展开
-
机器学习:最大后验估计(MAP)与结构最小化误差(经验最小化误差+模型复杂度函数)之间的转换推导
李航老师的《统计学习方法》书中第一章第三小节,在对机器学习方法=模型+策略+算法这一概念的阐述中,提到了频率派方法与贝叶斯派的共通之处,即经验最小化误差在特定条件下等价于最大似然估计,而结构最小化误差则等价于特定条件下的最大后验估计。在网站上进行了一下简答的检索,发现一些对于这个问题的推导回答并不多,或者在一些方面与我自己所想存在部分偏差。因此本篇文章对MAP与结构误差最小化之间的转换进行一个简单的推导,如有不正确的地方,请告知!结构化误差公式:minf∈F1N∑i=1NL(yi,f(xi)).原创 2021-08-28 00:12:14 · 627 阅读 · 0 评论 -
windows下从零开始搭建python机器学习环境——anoconda,pytorch,pycharm等
原来的电脑因为使用的时间太长,而且一开始并不知道要对编程的环境好好进行管理,环境问题一直很让人头疼;最近正好新购置了一台电脑,想着借这个机会重新把环境整合一下,在此进行记录,希望对各位有帮助。目录1.安装anoconda2.安装pytorch3.安装与激活pycharm1.安装anoconda这里可能有同学会有疑问,不是应该先安装python吗?这里我们不安装python的原因是,我们希望conda能够全权帮助我们管理环境的配置问题,包括python的版本;一般来说,conda在安装时是自带pytho原创 2021-04-15 15:47:18 · 569 阅读 · 0 评论 -
python Tqdm模块在机器学习训练中的基本使用方法
Tqdm是一个非常简洁的python可视化进度条模块,非常轻便快捷。在机器学习项目中,我们经常需要长时间地进行训练,虽然一般情况下我们可以通过在代码中设置一些提示信息来确定当前的训练进度,但是如果有一个良好可视化的进度条那当然效果会更好。程序员用不为奴!!!下面是一段模板代码:from tqdm import tqdm # 假设我们的项目需要训练100个epoch,内部细节不关注 # 当然,如果在每个epoch中有其他需求同样可以添加with tqdm(total=100) as bar:原创 2021-03-19 17:21:19 · 1686 阅读 · 0 评论 -
什么是Data-dismatch problem?如何甄别及处理?
本篇文章为本人基于Andrew Ng的深度学习课程进行的总结,加上一些个人的感悟和认识。有误之处,还望海涵。目录1 数据集划分的常规方法及常见问题2 开发新系统时可能遇到的数据困难3 什么是 data-dismatch problem?4 通过train-dev set 甄别数据不匹配错误5 如何改善数据不匹配问题?6 小结1 数据集划分的常规方法及常见问题数据集划分:在进行机器学习系统开发时我们最常使用的数据集划分方式即为:“训练集(train_set),开发集(dev_set/cross_原创 2020-11-10 10:37:49 · 342 阅读 · 0 评论 -
理解 Bayes optimal error 贝叶斯最优误差
最近学习ML项目构建的时候涉及到“极限模型”的问题,其中谈到贝叶斯最优误差即系统所能达到的最低误差,那么贝叶斯误差是什么呢?在看过一些资料后,以下是我的总结以及一些个人想法:贝叶斯最优误差是已知真实分布前提下的最优误差这里可能产生的疑问:既然已知了真实的分布,那么为什么会有误差呢?需要注意的,贝叶斯最优误差针对的是“分类问题”,即给出确切的类别而并非给出一个分布。事实上,如果我们需要给出的是一个分布那么在已知的前提下当然是不可能存在误差的。举一个例子:在气象预测系统中,假设我们已知真实分布一周原创 2020-11-09 09:50:01 · 4113 阅读 · 0 评论 -
CV经典模型——LeNet-5
本篇文章主要以代码的形式展现,需要注意的地方皆在代码中以注释的方式进行说明,如有疑问欢迎在评论区留言,大家一起进步!LeNet-5是上世纪末计算机视觉领域的重要产物,其诞生为后来形形色色CNN的产生提供了可能,因此理解其结构精髓是十分重要的,若能自己动手进行实现则更有助于我们的理解,首先上一张LeNet-5的结构图:结构分析:从上图中可以很清晰的看出,LeNet-5是一个“2+3”结构(忽略Subsampling层),由两层卷积与三层全连接构成。注意当时的LeNet使用的sampling方法只是简原创 2020-10-31 15:35:24 · 276 阅读 · 2 评论 -
CV经典模型——ResNet
本篇文章以代码为主要展现形式,穿插与代码部分的注释对各关键部位进行了解释ResNet是由Kaiming He为主的几位研究员提出的具有重要意义的模型结构。ResNet的出现对于 “神经网络层数达到一定数量后,越深的神经网络反而会降低模型精度” 这个问题提出了一种可能的解决方案——即通过“shortcut”进行层次短接:shortcut保证低层次模型得到良好的训练,同时给予模型再次提升的能力,即若在原低层模型以外存在进一步提升模型能力的可能则进行尝试并提升。1. 结构分析上图所示即为原模型中的基本结原创 2020-11-03 23:08:39 · 817 阅读 · 0 评论 -
Anomaly detection system——异常检测系统简介与设计
“异常检测系统”常常应用于制造业中,同时对于生活在互联网时代的我们而言,异常检测同样发挥着巨大的作用,例如进行异常用户检测,防止网络诈骗等行为等。一个成熟的异常检测系统能够基于输入的属性值对“产品”进行性质判断,为后期进行更进一步的处理提供参考。那么如何构建异常检测系统呢?将对基本异常检测系统进行介绍。本篇文章没有涉及太多数学理论,但一点必要的统计理论是必要的(太晦涩的知识,笔者也不懂的hh)目录1 异常检测系统的实现原理基于Gaussion Distribution的异常检测模型2 具体实现步骤3原创 2020-10-30 11:12:55 · 1334 阅读 · 0 评论 -
SVM——支持向量机简析与应用指导
本篇文章基于对Andrew Ng课程内容的总结以及我个人的理解,希望有帮助SVM属于supervised learning算法,鉴于目前无论是在工业界还是学术界都有着极其广泛的使用,可以说SVM是必须要了解甚至掌握的机器学习算法之一,接下来将从以下几个方面进行介绍。目 录1 SVM的优化目标1 SVM的优化目标说到SVM,我们首先需要了解它的前身Logistic Regression(逻辑回归),逻辑回归来自于对线性回归的改良:通过在线性回归后加入一个sigmoid过滤器得到属于[0,1]的结果原创 2020-10-24 17:10:24 · 883 阅读 · 0 评论 -
如何快速进行一个机器学习项目的系统设计?(system design)
目录1 在进行具体的系统设计之前需要进行的准备工作2 启动一个项目通过 ‘error analysis’1 在进行具体的系统设计之前需要进行的准备工作在机器学习项目中,除了对具体“学习器”的设计工作之外,还需要对以下几个问题进行重点考虑:数据来源:如何获得我们需要的数据是一个十分严肃的问题,在面对不同的项目需求时,获取数据的方式差异显著。以“垃圾邮件分类”为例我们既可以收集已有的数据(如购买或项目方给予),也可以通过主动构建“陷阱账户”开放门户来收集大量的垃圾邮件(“草船借箭”)。如何组织已有的数原创 2020-10-23 11:47:05 · 570 阅读 · 0 评论