幸福快乐fyf
这个作者很懒,什么都没留下…
展开
-
设计链表的实现
解题思路我们知道链表有带头指针和不带头指针两种,这个题目的坑在于你最开始选择哪种方式决定了你是走向正确还是失败。在设计之前最好看清各函数的输入、输出,由于插入和删除操作都返回为空,而我们都知道C语言中的函数传惨是按值传递,也就是说,如果你选择不带头指针方式,是没法在在头部进行插入和删除操作的,你尽可以改变函数内的头指针位置,但是主调函数中的头指针位置是无法改变的。还有要注意的是结构体不能声明为ListNode,因为Leetcode中内部已经定义了该变量,因此这里定义结构体为LNode。1.先区分一下转载 2021-10-07 23:19:47 · 165 阅读 · 0 评论 -
斯坦福大学ML(3)——线性代数回顾(Linear Algebra Review)
3 - 1 - Matrices and Vectors (向量是n行*1列的矩阵)Vecot: An n*1 matrix.(在数学中下标从1开始比较多,在机器学习中下标从0开始比较多)3 - 4 - Matrix Matrix Multiplication (在高度优化下,做到矩阵矩阵相乘高效的乘法)highly翻译 2016-11-21 19:53:28 · 1162 阅读 · 0 评论 -
斯坦福大学ML(7)——正则化(Regularization)
1、替换空格// 18minclass Solution { // O(n) public: void replaceSpace(char *str,int length) { // 判断字符串和长度合格 if (str == NULL || length <= 0) return; // 计算空格数 int i, space_count = 0翻译 2016-11-23 18:56:33 · 927 阅读 · 0 评论 -
剑指offer(数组、字符串)及其它答案
1、调整数组顺序使奇数位于偶数前面// 12min17sclass Solution { public: void reOrderArray(std::vector &arr) { std::vector odd, even; // 将奇数和偶数分别存入vector int arr_len = arr.size(); for (int i = 0; i原创 2016-11-23 18:54:57 · 2446 阅读 · 0 评论 -
机器学习基石笔记(8)——Error Measure
8.1 Noise and Probabilistic Target 当存在噪声数据时,由于所得到的结果未必是真实的结果,因此模型不再是确定性函数h(x),而是概率分布p(y|x),损失函数也变成了y p(y│x)下y≠f(x)。可以认为p(y|x)给预测结果带来的不确定性是由噪声数据造成的。同时,过去的确定性函数h(x)可以看做目标分布的特殊情况,即某一分类概率为1的情况。 例转载 2017-03-12 13:24:47 · 979 阅读 · 0 评论 -
机器学习基石笔记(7)——The VC Dimension
9 Decision Tree9.1 Decision Tree Hypothesis 本节主要讲述了决策树的两种解释,一种是决策树是由叶子节点和路径组成的,当选择叶子节点对应的路径时采用对应的叶子节点结果;另一种观点是由分叉的树递归组成,当选择某一分支时将采用分支对应的子树的演算法结果。 决策树的优点在于可解释性强,高效。缺点是理论保证不足,并且算法多样。9.2转载 2017-03-12 13:22:59 · 625 阅读 · 0 评论 -
机器学习技法笔记(7-11)——blending and bagging & Adaptive Boosting & decision tree & Random forest & GBDT
7 Blending and Bagging7.1 Motivation of Affregation 之前都是通过特征转换达到更好的分类目的,而有另一种思路就是将多个模型的分数线性组合起来以期得到更好的效果。它们的权重应为x的函数,这样能包含投票、取最大等多种情况。7.2 Uniform Blending 本节从理论上探讨了blend的可行性:转载 2017-03-12 12:58:42 · 863 阅读 · 0 评论 -
斯坦福大学ML(2)单变量线性回归(Linear Regression with One Variable)
2-1 (model representation)模型代表 (Our first learning algorithm will be linear regression.)我们第一个学习算法将是线性回归。(In this lecture, you'll see what the model looks like and more importantly you'll see w翻译 2016-11-19 21:50:50 · 2470 阅读 · 2 评论 -
机器学习基石笔记(12-16)——Nonlinear Transformation&Tips
12 Nonlinear Transformation12.1 Quadratic Hypothesis 本节介绍了在线性分类器的基础上构造非线性分类器。方法是将原特征的高次作为新的特征加入特征空间,例如原特征有x1与x2两个特征,则可以新加入x21、x22以及x1x2作为新特征。以二维平面为例,其原理是在平面上构造一个多项式图形,图形的一边是正例,另一边是负例。12.2转载 2017-03-12 14:13:33 · 649 阅读 · 0 评论 -
switch 与 if else 效率分析与总结
然后根据大量的实际程序测试(不考虑不同的编译器优化程度差异,假设都是最好的优化),那么Switch语句击中第三个选项的时间跟if/elseif语句击中第三个选项的时间相同。击中第一,第二选项的速度if语句快,击中第四以及第四之后的选项的速度switch语句快。转载 2017-03-12 12:56:48 · 1071 阅读 · 0 评论 -
面试算法题
参加了两家小小小公司的面试,有几道比较有趣记录了下来1.字符串压缩不考虑字符数超过9。#include <string>#include <iostream>std::string solution(std::string s) { std::string ans; int i = 0, j = 0; while (i < int(s....原创 2017-05-04 16:15:14 · 614 阅读 · 3 评论 -
2016ICPC网络赛和现场赛总结
ACM沈阳网络赛、北京网络赛原创 2016-09-26 19:36:22 · 1575 阅读 · 0 评论 -
百度部分笔试和面试题
笔试题3 #include <algorithm>#include <cstdio>int main() { char s[1011]; // 输入 while (scanf("%s", s) != EOF) { // 规律打印图形 int flag = 1, m = 0, n = 0, a = 0, b = 0, ...原创 2017-03-31 00:26:17 · 768 阅读 · 0 评论 -
Expedia:1st Place Solution & Subhajit_Mandal Solution && Gradient Descent
问题是?预测在一个确定的距离中用户最有可能订购哪个酒店集群 验证标准是MAP@5,也就是每一行预测最多5个怎么做?探索数据 总共100个酒店集群,expedia从2013到2015年的酒店订购信息。2013到2014年被用做训练集,2015年为测试集。所有在测试集中的user_id都在训练集出现。而且,对于每个目的这里有149个潜在变量。数据出现泄漏,仅仅通过用户所在城市、用户和酒店距离两变翻译 2016-07-10 12:39:59 · 927 阅读 · 0 评论 -
xgboost ppt(2)——回归树和组合
回归树(cart)1、回归树(也可以叫做分类回归树),加入gbdt是回归树,但是根据最终的回归结果给一个阈值,也可以做分类。(1)与决策树的决策规则是一样的。对于cart回归,主要是保证MSE最小来确定分裂点(2)在每一个叶子节点都会有一个值,也就是回归结果。如上面的图所示:输入年龄,性别等特征,来预测叶子节点的值。组合回归树如下面的图所示,这个组合由两个回归树构成转载 2017-03-17 10:25:57 · 4487 阅读 · 0 评论 -
《麦子学院深度学习应用之基础》笔记
原创 2017-03-20 16:27:03 · 2626 阅读 · 1 评论 -
机器学习基石笔记(3-6)——机器学习的类型及机器学习有效性证明
3 Types of Learning3.1 Learning with Different Output Space (1)二值分类问题:输入空间是一个特征向量,输出空间只有2个值。 (2)多分类问题:输入空间是一个特征向量,输出空间是一个有限的离散的空间。 (3)回归问题:输入是一个特征向量,输出空间是一个实数集。 (4)结构学习:输出是一个结构,例如输入转载 2017-03-12 13:21:39 · 963 阅读 · 0 评论 -
推荐之协同过滤(思路简单梳理)
recommendation(euclidean distance、pearson distance、tanimoto distance)腾讯推荐系统架构图原创 2016-08-24 16:48:33 · 5655 阅读 · 0 评论 -
别样数据结构与算法学习(一)线性表
1 - 线性表的本质线性表的定义线性表是具有相同类型的n(>=0)个数据元素的有限序列(a1, a2, ..., an)。线性表的性质a0为线性表的第一个元素,只有一个后继an为线性表的最后一个元素,只有一个前驱除a0和an外的其他元素ai,既有前驱,又有后继线性表能够逐项访问和顺序存取小结线性表是数据元素的有序并且有限的集合线性表中的数据元素必须是类型相同原创 2016-11-14 13:58:25 · 1372 阅读 · 0 评论 -
别样数据结构与算法学习(六)查找
3 - 线性索引查找你会怎么做? 父母年老了,经常找不到家里的东西,怎么帮组他们?生活中的方法 将家里东西的位置记录在一个小本子上面 剪刀:电视柜左边的抽屉里 户口本:床头柜最下面的抽屉里 。。。 每次用完后根据小本子上记录的位置放置 这个小本子是关键,怎么称呼它呢?索引的概念 索引是把一个关键字与它对应的记录相关联的过程原创 2016-11-12 21:16:28 · 1080 阅读 · 0 评论 -
别样数据结构与算法学习(四)树
1 - 树的定义 从树开始这些数据结构都不是线性的啦,变得更复杂啦树的定义 树是一种非线性的数据结构 树是由n个结点组成的有限集合 如果n = 0,称为空树; 如果n > 0,则: 有一个特定的称之为根(root)的结点,它只有直接原创 2016-11-11 16:14:29 · 651 阅读 · 0 评论 -
别样数据结构与算法学习(五)图
图的存储分两种:图的顺序存储,对于顺序存储来说我们如何表达顶点之间存在的联系呢?我们会借助邻接矩阵进行顺序存储。对于链式存储,多重链表,如何设计结点结构?我们会介绍几种链式存储结构,比如说邻接表,邻接多重表,十字链表我们先看顺序存储。7.2.1 邻接矩阵设图G=(V, E)具有n(n>=1)个顶点v1,v2,...,vn和m条边或弧e1,e2,...,em,则G的邻接矩阵是V*原创 2016-11-10 19:44:13 · 821 阅读 · 0 评论 -
机器学习(常见面试之机器学习算法思想简单梳理)
supervised(classification[k nearest neighbor、decision tree、naive bayes、logistic regression、suport vector machie、adaboost]、regression[regression、tree regression])、unsupervised(k-means、apriori、fp_growth)、distribu原创 2016-08-18 09:46:17 · 7943 阅读 · 2 评论 -
农场之温室环境监测
农场之温室环境监测系统流程原创 2016-12-18 10:18:19 · 1624 阅读 · 1 评论 -
GBDT推导
boosting是提升的意思这是算法部分,看例题这里说的回归的方法一般是最小二乘法,为什么参考https://www.zhihu.com/question/24095027最小二乘法用在了前面那个例题中的(红括号求解)没有用梯度的提升树用了梯度原创 2017-02-28 22:42:32 · 5773 阅读 · 2 评论 -
N问GBDT(1-12答案)
1. 怎样设置单棵树的停止生长条件?答:A. 节点分裂时的最小样本数B. 最大深度C. 最多叶子节点数D. loss满足约束条件2. 如何评估特征的权重大小?答:a. 通过计算每个特征在训练集下的信息增益,最后计算每个特征信息增益与所有特征信息增益之和的比例为权重值。b. 借鉴投票机制。用相同的gbdt参数对w每个特征训练出一个模型,然后在该模型下计算每原创 2017-03-09 18:17:59 · 3995 阅读 · 0 评论 -
推荐系统与推荐算法相关的知识
随着今日头条估值80亿美元的新闻传出,“个性化推荐”这个词又成为了广受科技界和资本市场追捧的热点。一时间“个性化推荐”伴随着“大数据”、“深度学习”等高大上的词汇,让人觉得非常高深莫测。尤其是对于不懂技术的产品经理,面对诸如"特征降维"、“置信区间”、“潜在因子矩阵”这样的术语,早已云里雾里了。那么对于一个普通的产品经理而言(非数据挖掘型PM),最少需要掌握哪些和算法相关的知识呢?于是我决定写一篇转载 2017-03-20 10:53:58 · 16688 阅读 · 4 评论 -
机器学习基石笔记(1-2)——The Learning Problem & Learning to Answer Yes/No
1.2 What is Machine Learning1.2.1 什么是学习:通过观察获得一个方面的技巧或增强。机器学习即通过观察数据来得到某一方面的增强。1.2.2 机器学习的三个关键 (1)存在一个用以识别的模式 (2)这个模式难以简单定义 (3)存在数据用以学习转载 2017-03-12 13:18:27 · 492 阅读 · 0 评论 -
Keil工程目标选项配置(Ⅱ)
Ⅰ、写在前面本文接着上一篇文章“工程目标选项配置(Ⅰ)”进行讲述工程目标选项中后五项的配置,也就是C/C++、Asm、Linker、Debug、Utilities这五项配置的具体内容。对于工程目标选项中的C/C++选项,不管是初学者,还是资深的软件工程师都非常重要。初学者要掌握包含路径、预定义等常规功能。资深软件工程师对代码性能有很高要求,就需要掌握代码优化等各项配置。本文内容已经整理成PDF文件,提供给大家下载:转载 2017-03-12 13:17:02 · 1414 阅读 · 0 评论 -
xgboost ppt(3)——GB
这部分能学到的东西包括:(1)无所不在的偏差-方差平衡(2)目标函数:loss+正则的模式应用于回归树学习(3)我们既要预测还要简单的模型(4)定义了我们想要学习的(目标,模型)(5)如何进行学习我们如何学习1、目标函数:loss+正则2、我们不能用SGD,因为他们是树,不是多项式了3、解决办法:叠加训练(boosting提升):从一个常数值开始,每次加转载 2017-03-17 13:51:32 · 3192 阅读 · 0 评论 -
xgboost ppt(1)——监督学习的主要概念
本文主要是对陈天奇的ppt《introduction to boosted tree》的理解。概括:(1)监督学习的主要概念(2)回归树和组合(3)GB(4)总结监督学习的一些组成元素:符号:xi表示的是第i个训练样本模型:给定的输入xi进行预测,得到yi^(1)线性模型:包括线性回归和逻辑回归(2)预测值在不同的任务上有不同的解释:转载 2017-03-17 09:46:49 · 3550 阅读 · 0 评论 -
xgboost ppt(4)--总结
1、我们如何来构造一个提升树分类器去做加权回归问题,这样每个实例都有一个有关重要性的权重?2、回到时间序列的这个问题,如果我想学习这个随着时间变化的阶跃函数,这里有其他的方法去学习时间分隔么,除了从上到下的分裂方法?1、我们如何来构造一个提升树分类器去做加权回归问题,这样每个实例都有一个有关重要性的权重?(1)定义一个目标函数,对没有加权重的版本计算g和h,将它用于上一步树学习转载 2017-03-18 10:04:34 · 1830 阅读 · 0 评论 -
Bias(偏差),Error(误差),Variance(方差),和K-fold Cross Validation的关系(机器学习核心)
转至:https://www.zhihu.com/question/27068705Bias(偏差),Error(误差),Variance(方差)的关系一图胜千言。我是这样抽象理解这个问题的:准:bias描述的是根据样本拟合出的模型的输出预测结果的期望与样本真实结果的差距,简单讲,就是在样本上拟合的好不好。要想在bias上表现好,low bias,就是复杂化模型,增加模转载 2017-03-17 14:12:02 · 2063 阅读 · 0 评论