自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

鸟恋旧林的博客

勤学如春起之苗,不见其增,日有所长。辍学如磨刀之石,不见其损,日有所亏

  • 博客(58)
  • 资源 (2)
  • 收藏
  • 关注

原创 SVM-支持向量机学习(2):线性可分SVM的对偶型

1. 从原始问题到对偶问题上节整整讨论了两遍(周、李老师),就是为了引出SVM是怎么来的?要解决的问题是什么?如何数学化表达?得到下面的数学问题:这就是SVM的基本型。该问题也称为原始问题。对该问题应用拉格朗日乘子法,通过将原始问题转化为求解对偶问题(dual problem)来得到最优解。即可得到线性可分SVM的对偶问题。为何要引入对偶问题?其优点在于:对偶问题更易求解:只需要求解乘子 α\al

2017-08-31 17:50:00 1265 2

原创 SVM-支持向量机学习(1):线性可分SVM的基本型

1. foreword先看的是李航老师的书第7章,比较传统按照以下三节展开:线性可分SVM线性SVM非线性SVMSMO算法李航老师讲东西向来不拖泥带水,但本节也几乎用了40页的篇幅,足见涉及内容之多。7月底硬着头皮啃了下来,边看边在笔记上摘抄标注,花了2天时间对SVM有了基本认识。一个月过去了,如今重新整理为博客,再看轻松许多,并不断对比西瓜书的内容,启望达到融会贯通。西瓜书此节明显节奏轻

2017-08-31 11:35:30 8464

原创 EM(期望最大化)算法(1):初探原理

之前看李航老师的《统计机器学习》,其中第9章讲《EM算法》,一个特点就是数学符号特别多,虽然举了例子但仍是一头雾水。参考了此篇博文,通俗语言中大致知道咋回事。1. 最大似然1.1 以例引入假设我们需要调查学校男生和女生的身高分布。你在校园里随便地活捉了100个男生和100个女生。那下一步怎么办啊?你开始喊:“男的左边,女的右边,其他的站中间!”。然后你就先统计抽样得到的100个男生的身高。假设他们的

2017-08-30 20:00:58 574

原创 【腾讯模考】题目解答

1. 特征向量与特征值定义:设 AA 为 nn 阶矩阵,如果数 λ\lambda 和 nn 维非零列向量 xx 使得关系式Ax=λxAx=\lambda x 成立,则称这样的数 λ\lambda 为矩阵A的特征值,非零向量 xx 称为A的对应于特征值 λ\lambda 的特征向量。上式也可写成:(A−λE)x=0(A-\lambda E )\,x=0这是n个未知数,n个方程的齐次线性方程组,有非零

2017-08-30 10:44:47 560

原创 剑指offer-19:二叉树的镜像

完成一个函数,输入一个二叉树,该函数输出它的镜像。分析:画图看出,对每个非叶结点,需要交换其左子树和右子树位置。操作相同,可采用递归解决。代码:#include <iostream>using namespace std;struct BinaryTreeNode{ int valuel; BinaryTreeNode * pLeft; BinaryTreeNode

2017-08-29 16:48:52 276

原创 面经题目汇总

本帖非常全面,涵盖了大量的面试题:https://www.nowcoder.com/discuss/33737?type=0&order=0&pos=12&page=1

2017-08-21 21:53:31 378

原创 机器学习各种算法的特点归纳

1.感知机适用问题:二分类模型特点:超平面模型类型:判别模型学习策略:极小化误分类点到超平面的距离损失函数:误分点到超平面的距离学习算法:随机梯度下降2.k邻近法适用问题:多类分类,回归模型特点:特征空间,样本点模型类型:判别模型学习策略:-损失函数:-学习算法:-优点:简单、有效。重新训练的代价较低(类别体系的变化和训练集的变化)计算时间和空间O(n),线性于训练

2017-08-21 15:09:32 3193

原创 《西瓜书》笔记05:神经网络

1. 神经元模型神经网络/人工神经网络:由具有适应性的简单单元组成的广泛并行互连的网络。神经网络学习:机器学习和神经网络两个学科交叉的部分。Neural Networks中的基本单元:神经元。从计算机科学的角度,NN就是一个包含了大量参数的数学模型,该模型由若干个函数相互代入而成。2. 感知机与多层网络感知机,实际由两层神经元组成。输入层和输出层。更一般的,神经网络是形如下方的层级结构,每层神经元与

2017-08-21 10:48:31 2281

原创 《西瓜书》笔记04:决策树

1. 决策树的划分选择决策树学习的关键是:如何确定最优划分属性。我们希望,决策树划分过程中,分支结点所包含的样本尽可能同属一类。即结点的纯度越来越高。分支结点的纯度越高,则熵越小。对于信息增益,定义为:分支前的熵-分支后的熵。分支后纯度越高,熵越小,减数越小,则差值越大。即信息增益越大,表明分支越好。对于信息增益率,除以该属性取值的分布熵。也是越大越好。信息增益,对可取值数目较多的属性有所偏好,取值

2017-08-20 21:40:51 1351

原创 【百度运营部】面试记录

1. 投递概况投递部门:百度运维部(睿思内推)8月初投递投递岗位:智能平台研发工程师岗位描述:负责百度运维智能平台(智能运维机器人)的研究,设计与实现负责百度超大规模系统,产品运维数据分析和机器学习模型/策略/算法的设计和实现参与产品系统架构和算法模型优化,提升算法效率、模型效果、系统健壮性及可伸缩性关注相关方向的前沿研究,探索智能化的前沿技术方向,并推动大数据或人工智能解决方案在运维领域落

2017-08-18 11:16:47 1434

原创 数据库基础知识总结

1. 事务事务是一系列的数据库操作,是数据库应用程序的基本单元,是反映现实世界需要以完整单位提交的一项工作。事务是用户定义的一个数据库操作序列。事务的四个特征:原子性、一致性、隔离性和持久性。事务处理包括数据库恢复和并发控制。数据库恢复有两个目的:保证事务的原子性和使数据库能恢复到正确状态。数据恢复的原理概括为冗余,建立冗余数据最常用的技术是数据转储和登录日志文件。数据转储是由DBA定期地将整个数据

2017-08-17 22:49:32 340

原创 《西瓜书》笔记03:多分类学习和类别不平衡问题(3)

1. 多分类学习对于多分类任务,有些二分类方法可直接推广到多分类(如LDA推广)。但更多情况下,基于一些基本策略,利用二分类学习器来解决多分类问题。假设N个类别。基本思路:拆解法。将多分类任务拆分为若干个二分类任务。为每个二分类任务训练一个分类器;测试时,对这些分类器的结果进行集成获得最终结果。关键问题:如何拆分?如何集成?经典策略:一对一(one vs one,OvO)一对多(one vs r

2017-08-17 11:36:30 2298

原创 《西瓜书》笔记03:线性模型之LR、线性判别分析(2)

1. 对数几率回归/逻辑回归/LR此篇详述见《统计学习方法笔记06:LR逻辑回归模型》。《西瓜书》讲此节的衔接很好。特此补充。上节讲到线性回归应用于回归任务。但若要做分类任务咋办?从广义模型上入手:只需要将回归模型的预测值,映射到分类任务的标记上。例如:单位阶跃函数。对二分类任务,将模型产生的预测值是实值,转化为0/1值通过下式:但阶跃函数不可导。一个近似替代函数就是对数几率函数:这是一个“Sigm

2017-08-17 11:28:23 1404

原创 《西瓜书》笔记03:线性模型之线性回归(1)

1. 基本形式线性模型的优点:,形式简单,易于建模。蕴含着机器学习中一些重要思想。许多功能更为强大的非线性模型,可在线性模型的基础上通过引入层级结构或高维映射得到。良好的可解释性:w直观地表达了各属性在预测中的重要性,使得其具有很好的解释性。权重越大,代表该属性的重要程度越高。2. 线性回归linear regression,LR。当输出值为实数取值时,LR试图学习一个线性模型,尽可能准确的

2017-08-17 09:44:55 1411

原创 《西瓜书》笔记02:模型评估和选择

1. 经验误差与过拟合训练误差:学习器在训练集上的误差。泛化误差:学习器在新样本上的误差。希望得到泛化误差小的学习器,但能做的是让训练误差尽量小。为了达到这个目的,应该从训练样本中尽可能学习出适用于所有潜在样本的普遍规律,这样才可遇到新样本正确判断。过拟合:当学习器把训练样本学得太好了的时候,很可能已经把训练样本的一些特点,当成了所有潜在样本都具有的一般性质,导致泛化能力下降。欠拟合:对训练样本的一

2017-08-16 17:53:08 2324

原创 剑指offer-18:判断树的子结构

输入两棵二叉树A和B,判断B是不是A的子结构。分析:在树A中查找与根节点值一样的结点,若找到,继续判断左右子树是否相等;若找不到,则判断以当前根节点的左右子树为根节点的子树。涉及两个递归。一个是根节点遍历的递归。一个是根结点相同时,左右子树是否相同的递归。// 判断根结点是否相同的递归bool HasSubTree(BinaryTreeNode * pRoot1, BinaryTreeNo

2017-08-16 17:10:06 269

原创 null 和 nullptr

引入nullptr的原因引入nullptr的原因,这个要从NULL说起。C和C++中的NULL不等价。NULL表示指针不指向任何对象,但是问题在于,NULL不是关键字,而只是一个宏定义(macro)。NULL在C中的定义 在C中,习惯将NULL定义为void*指针值0:#define NULL (void*)0 C++中,NULL却被明确定义为整常数0:// lmcons.h中定义NULL的源码

2017-08-16 16:52:41 871

原创 《西瓜书》笔记01:机器学习绪论

1. 概述“朝霞不出门,晚霞行千里”日常生活中,我们积累了许多经验,通过对经验的利用,就能对新情况做出有效决策。机器学习:致力于研究如何通过计算的手段,利用经验来改善系统自身性能。计算机系统中,经验以数据形式存在。ML研究的主要内容:关于在计算机上从数据中产生模型的算法。有了学习算法,把经验数据提供给它,就能基于这些数据产生模型。面对新情况,模型会提供相应判断。2. 基本术语数据集,样本/示例,属性

2017-08-16 15:02:25 791

原创 剑指offer-17:合并两个排序的链表

输入两个递增排序的链表,合并这两个链表,并使得新链表保持增序。分析:此题较为简单。可设置两个指针,分别指向两个链表的头结点。比较值大小,指针分别向后移动比较,直至某个列表为末尾。经看书发现可以用递归思路。第一次比较可得到最小值,此值为合并后链表的尾结点。剩余两段链表继续比较,得到一个次小的结点链上去,依次而下。 代码:// 单链表结点定义struct ListNode{ int

2017-08-15 17:07:25 217

原创 剑指offer-16:反转链表(单链表逆序)

定义一个函数,输入一个单链表的头结点,反转该链表并输出反转后链表的头结点。分析:对当前结点,修改其next指针指向前面结点,则需要有前驱结点的值,同时保存后驱结点的值防止断链。当前结点反转后,当前结点变为前驱结点,后驱结点变为当前结点。循环迭代,直至当前结点为尾结点。代码:// 链表结点定义struct ListNode{ int value; ListNode * pN

2017-08-15 16:47:20 348

原创 剑指offer-15:单链表有趣问题-有环-环长度-环入口等(续)

第15题要求找到倒数第k个结点。采用快慢出发不同的指针,卡出k-1的距离,当快指针到尾结点时,慢指针刚好在倒数第k个位置上。还有一些相关题目比较有趣,类似的思路。(1)求链表的中间结点答:设置两个指针,移动快慢不同。快指针每次移动2步,慢指针每次移动1步。两者同时从头结点开始出发。当快指针到达尾结点时,走的路程是n,由于慢指针速度是其一半,则相同时间走的路程就是n/2,恰好位于链表的中间。如果链表中

2017-08-15 15:40:10 294

原创 剑指offer-15:单链表中倒数第k个结点

输入一个单链表,输出该链表中的倒数第k个结点。链表的尾结点是倒数第1个结点。分析:最简单的思路是遍历链表,得到长度n,则倒数第k个结点就是从头结点开始的第(n-k+1)个结点。从头结点开始走n-k+1步即可找到。上述解法需要遍历链表2次。其实遍历1次也可以。这种题目的套路是设置两个指针。一个指针较快,一个指针较慢。快慢可以有2方面:一是出发的快慢,一个移动的快慢。本题属于两个指针出发的快慢不

2017-08-15 14:59:30 212

原创 剑指offer-14:调整数组顺序,奇数位于偶数前面

输入一个整数数组,实现一个函数调整数组的次序。所有奇数位于数组的前半部分,所有偶数位于后半部分。分析:本题思路简单。可维护两个指针,一个从头往后遍历,遇到偶数停下;另一个从后往前遍历,遇到奇数停下;交换顺序。然后继续走,直至两个指针相遇错位。代码:// offer-14-OddEven.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <i

2017-08-15 11:19:17 242

原创 剑指offer-13:在O(1)时间删除链表结点

给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。4月份找实习时滴滴视频面,就是出的这道题目,当时舍友提示说覆盖即可。分析:一般的单链表中删除节点,遍历该链表,发现下一个是待删点,则删除。从头查找复杂度是O(n),因为我们需要找到待删点的前一个点。题目给定该结点的指针,要删除该结点,直接删则链表就断了。 链表利用指针连接起来,非常灵活。可以把待删节点的下一个节点复制给

2017-08-14 22:26:40 455

原创 剑指offer-12:打印1到最大的n位数

输入数字n,按顺序打印从1到最大的n位十进制数。 例如:n=3,则打印1,2,3都999。分析:此题并未给出n的范围,若取n=10,则int表示溢出。所以考虑大数问题。用字符串或者数组可以表示大数。本质是全排列问题,即n位每个位从0-9排列,可用递归实现。打印数字时,需要考虑从第一个非0的元素开始打印。// offer-12-print_n.cpp : 定义控制台应用程序的入口点。

2017-08-14 21:03:56 236

原创 剑指offer-11:数值的整数次方

实现函数 double Power(double base, int exponent)。不使用库函数,不考虑大数问题。分析:此题难度较小,主要是考虑周全边界情况。数的n次方,n分为0,负数和正数特殊情况:底数为0,指数为负数时,直接返回,否则0作分母底数是否等于0,double型判断时根据差是否在很小范围内计算指数时,可以平方计算,可达到O(logn)O(\log n)开方时除2可右移

2017-08-14 21:00:20 274

原创 《西瓜书》笔记11:特征选择与稀疏表示(三)

5. 稀疏表示与字典学习将数据集D表示为矩阵,每一行对应一个样本,每列对应于一种特征。特征选择所考虑的问题是特征具有稀疏性:即矩阵中的许多列与当前学习无关,通过特征选择去掉这些列,难度有所降低,计算开销减小,模型的可解释性提高。 模型的输入因素减少了,模型建立的输入输出关系会更清晰。现在看另一种“稀疏性”:D对应的矩阵存在很多零元素,杂乱分布,而非整行整列的形式。比如文档分类中,每行是一个文档

2017-08-14 18:50:25 1569

原创 《西瓜书》笔记11:特征选择方法(二)

常见的特征选择方法:过滤式 filter包裹式 wrapper嵌入式 embedding2. 过滤式选择先对数据集进行特征选择,然后再训练分类器,特征选择过程与后续学习无关。相当于先用特征选择过程,对初始特征进行过滤,再用过滤后的特征来训练模型。Relief法:设计了一个相关统计量,度量特征重要性。这是一个向量,每个分量对应一个初始特征,特征子集的重要性是由子集中每个特征对应的相关统计分量之

2017-08-14 16:48:10 1359

原创 《西瓜书》笔记11:特征选择方法(一)

1. 子集搜索与评价1.1 概述从给定的特征集合中,选择出相关特征子集的过程,称为特征选择。为什么进行特征选择?维数灾难。属性过多,选择出重要特征,后续学习减轻。从此意义上看,特征选择与降维动机相似,这两者是处理高维数据的两大主流技术。去除不相关的特征降低学习任务的难度。抽丝剥茧留下关键因素。特征选择不能丢失重要特征,否则导致欠拟合。给定数据集,若学习任务不同,则相关特征不同。因此无关特征,指

2017-08-14 16:38:34 714

原创 《西瓜书》笔记10:降维与度量学习(三)

4. 核化线性降维线性降维方法假设:从高维空间到低维空间的函数映射是线性的。现实任务中,可能需要非线性映射才可找到适当的低维嵌入。如上图,样本点从二维空间中的矩形区域采样后,以S形曲面嵌入到三维空间。若直接使用线性降维方法对三维空间观察到的样本点进行降维,将丢失原本的低维结构。“原本采样的”低维空间称为本真低维空间。非线性降维的一种常用方法:基于核技巧对线性降维方法进行核化。如核主成分分析,KPCA

2017-08-14 15:49:29 1794

原创 《西瓜书》笔记10:降维与度量学习-PCA(二)

3 主成分分析Principal Component Analysis,PCA。最常用的降维方法。3.1 怎么来的?正交属性空间中,如何用一个超平面,对所有样本进行恰当表达?最近重构性:样本点到该平面的距离足够近。要表达就要比较相似,距离近。最大可分性:样本点在平面上的投影尽可能分开。点与点足够区分。基于这两个性质,可推导出主成分分析的2种等价推导。假定数据样本进行了中心化(每个值减去均值)。

2017-08-14 11:23:22 2412

原创 《西瓜书》笔记10:降维与度量学习(一)

1.kNN学习1.1 kNN概述给定测试样本,基于某种距离度量找出训练集中与其最靠近的k个训练样本,基于k个邻居的信息进行预测。分类:投票法。 回归:均值法。 加权:基于距离远近做加权平均或投票,距离越近权重越大。明显不足:没有显式的训练过程。属于懒惰学习。而在训练阶段就学习处理的方法为急切学习。k是一个重要参数,不同值导致不同分类结果。另外,采用不同的距离计算方式,找出的近邻或不同,也会导致不

2017-08-14 10:05:58 1391

原创 【海康威视研究院】杭州3面试记录

1. 提前批内推投递时间:7月底投递岗位:算法工程师(模式识别/机器学习类)岗位部门:海康威视研究院本次属于提前批,官方说不影响校招多次机会2. 电话一面我想申请的岗位是机器学习类,一般公司其岗位是算法工程师。和海康官网提前批岗位对比后,发现算法工程师分得特别细,比较吻合的有模式识别,计算机视觉类,还报了个无人机软件开发的岗。大概在8月初接到海康电话,面试官说是海康研究院的。然后做自我介绍

2017-08-13 17:39:41 29024 15

原创 《西瓜书》笔记09:聚类

1.聚类任务无监督学习:训练样本的标记信息是未知的。目标是通过对无标记样本的学习揭示数据内在性质,为进一步数学分析提供基础。此类学习任务中研究最多,应用广泛的是聚类。聚类:试图将数据集中的样本划分为若干个通常互不相交的子集。每个子集称为一个簇(cluster)。每个簇可能对应于一些潜在概念。这些概念对于聚类算法而言事先未知。聚类过程仅能自动形成簇结构。簇所对应的概念语义需有使用者把握。聚类可作为一个

2017-08-08 21:37:01 2959

原创 剑指offer-10:二进制中1的个数

左移、右移运算符// 把m左移n位。最高位丢弃,最右边补0m << n/* * 把m右移n位。最右边丢弃,最左边分情况 * 无符号数:用0填补最左边 * 有符号数:符号位填充最左边 */m >> n 实现一个函数,输入一个整数,输出该整数二进制表示中1的个数。如9二进制为1001,输出2。思路:对于一个int型整数,系统以32位表示。我们可以设置一个无符号型数1,不断左移1和该数与

2017-08-08 16:06:51 900

原创 剑指offer-09:递归和循环,斐波那契数列

当需要重复的计算相同问题时,通常可用递归或者循环迭代两种办法。如计算1+2+…+N问题。// 递归实现int add1toN_recursive(int n){ return n <= 0 ? 0 : (n + add1toN_recursive(n-1));}// 循环实现int add1toN_Iterative(int n){ int result = 0;

2017-08-08 11:51:35 246

原创 剑指offer-08:旋转数组的最小数字

把一个数组最开始的若干个元素搬到数组末尾,称为数组旋转。输入一个递增排序的数组的一个旋转,输出该旋转数组的最小元素。如递增数组为[1,2,3,4,5],旋转数组为[3,4,5,1,2]。分析:二分查找。首先设置头尾指针,一般的头元素大于等于尾元素。然后找到中间位置的数字。若中间位置数字比头元素大,说明最小值在后半段。将头指针移动到中间位置二分;若中间位置比尾元素小(肯定也<=头元素),说明最小

2017-08-08 11:37:48 224

原创 排序

1.快速排序对数列选择一个枢纽,从两端向中间遍历,大于枢纽往后甩,小于枢纽往前甩。直至两个指针相遇,相遇处为枢纽位置。返回该位置。递归的前半段,后半段继续该过程。#include<iostream> using namespace std;int Partition(int arrayNum[],int start,int end){ int pivotkey = arrayNum[

2017-08-08 10:33:18 302

原创 机器学习类岗位-面试资料

1.机器学习面试问题1-10简介:机器学习面试问题系列博客共10章,分别总结了机器学习面试的经典常用问题,也是阿里面试常用考题 链接:http://blog.csdn.net/u012073449/article/category/60151252.scikit-learn实战简介:作者是业界工程师,博客讲了算法原理并在scikit-learn上应用。可体会实战用法。 链接:http://blo

2017-08-07 21:57:51 1222

原创 剑指offer-07(1):两个队列实现栈

用两个队列实现一个栈。姊妹问题:用两个栈实现队列分析:队列插入可直接等同于栈的压栈。弹栈时,需要将队列1前n-1个元素存放到队列2中。将队列1的最后一个元素pop,然后把2中的元素赋值回去。// offer-7-1-QueueToStack.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <queue>

2017-08-07 12:58:39 277

西安电子科技大学-研究生学位论文模板-latex宏包

西安电子科技大学-研究生学位论文模板-latex宏包。来源于西电研究生院官网最新版。里面部分不符合论文规范,做了修改。

2018-02-06

图像语义分割的发展概述-DL时代

深度学习时代,图像语义分割在FCN出现后大放异彩。本PPT讨论了研究的前沿发展,包括网络进步,后端CRF条件随机场的改进等。适合初学的同学们了解现状。

2017-12-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除