摘要: (注:本文内容和图片来源于林轩田老师的《机器学习基石》课程) 1 引入逻辑回归 通常的二分类问题,希望输出类别;soft的二分类问题,希望输出概率值: 对于soft问题的理想数据和实际数据: 逻辑回归的思想:先求出特征的线性加权分数,再把它用逻辑斯蒂函数转化为0~1之间的值: 逻辑斯蒂函数介绍: 2 阅读全文
posted @ 2016-12-06 12:15 coldyan 阅读(365) 评论(0) 推荐(0) 编辑
只有注册用户登录后才能阅读该文。 阅读全文
posted @ 2016-12-02 17:54 coldyan 阅读(214) 评论(0) 推荐(0) 编辑
摘要: Wiggle Subsequence 最长扭动子序列 思路1:动态规划。状态dp[i]表示以nums[i]为末尾的最长wiggle子序列的长度。时间是O(n^2). 1 public class Solution { 2 public int wiggleMaxLength(int[] nums) 阅读全文
posted @ 2016-11-30 23:48 coldyan 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 1 离线指标 1.1 LogLoss 1.1.1 KL散度 logloss使用KL散度来计算。设样本的真实分布为P,预测分布为Q,则KL散度定义如下: 这里可以通俗地把KL散度理解为相同事件空间里两个概率分布的相异情况。KL散度越小,预测分布越接近真实分布。 KL散度的物理意义是:使用分布Q来对真实 阅读全文
posted @ 2016-11-22 11:11 coldyan 阅读(8269) 评论(0) 推荐(1) 编辑
摘要: merge sort 空间复杂度:O(n)(sort list是O(1)) 时间复杂度为O(nlgn) 稳定性:稳定排序 先局部有序,再整体有序 1 public class Solution { 2 /** 3 * @param A an integer array 4 * @return voi 阅读全文
posted @ 2016-11-20 20:46 coldyan 阅读(655) 评论(0) 推荐(0) 编辑
摘要: 1 n-gram模型与auto complete n-gram模型是假设文本中一个词出现的概率只与它前面的N-1个词相关。auto complete的原理就是,根据用户输入的词,将后续出现概率较大的词组显示出来。因此我们可以基于n-gram模型来对用户的输入作预测。 我们的实现方法是:首先用mapr 阅读全文
posted @ 2016-11-20 00:51 coldyan 阅读(615) 评论(0) 推荐(0) 编辑
摘要: Different Ways to Add Parentheses 加括号的不同方式 思路:分治地求出一个运算符的左边部分和右边部分的结果,将它们两两组合运算。优化的方式是用一个hash表记录所有字串的中间结果,避免重复计算。 1 public class Solution { 2 Map<Stri 阅读全文
posted @ 2016-11-16 16:25 coldyan 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 1 pagerank算法介绍 1.1 pagerank的假设 数量假设:每个网页都会给它的链接网页投票,假设这个网页有n个链接,则该网页给每个链接平分投1/n票。 质量假设:一个网页的pagerank值越大,则它的投票越重要。表现为将它的pagerank值作为它投票的加权值。 1.2 矩阵表示形式 阅读全文
posted @ 2016-11-13 21:53 coldyan 阅读(364) 评论(0) 推荐(0) 编辑
摘要: Bulb Switcher 灯泡开关 思路:除了平方数以外,其他所有位置的灯泡最终都被开关了偶数次,因此最终都为0。问题等价于求1~n中平方数的个数。 1 public class Solution { 2 public int bulbSwitch(int n) { 3 return (int)M 阅读全文
posted @ 2016-11-13 14:09 coldyan 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 1 将决策树看作条件概率分布 决策树可表示为给定特征条件下类的条件概率分布。即,将特征空间划分为互不相交的单元,每个单元对应于决策树中一条从根节点到叶节点的路径。每个单元对应一个条件概率分布。一个好的决策树在叶节点上的条件概率(即一个单元内的条件概率)应该偏向某个类,即保证叶子节点内的数据的熵很小。 阅读全文
posted @ 2016-11-10 00:31 coldyan 阅读(381) 评论(0) 推荐(0) 编辑