算法
Hust_Shine
这个作者很懒,什么都没留下…
展开
-
个性化推荐系统五大研究热点:深度学习、知识图谱、强化学习、用户画像、可解释推荐
“猜你喜欢”、“购买过此商品的用户还购买过……”对于离不开社交平台、电商、新闻阅读、生活服务的现代互联网用户来说,个性化推荐已经不是什么新鲜事儿。随着信息技术和互联网行业的发展,信息过载成了人们处理信息的挑战。对于用户而言,如何在以指数增长的资源中快速、准确地定位到自己需要的内容是一个非常重要且极具挑战的事情。对于商家而言,如何把恰当的物品及时呈现给用户,从而促进交易量和经济增长,也是一件颇具...转载 2019-04-15 10:13:47 · 8184 阅读 · 0 评论 -
scala 学习第2弹 说说常量val与变量var,Scala数据类型
val:常量,相当于Java中的fimal关键字1.当val修饰值类型时,不可修改2.当val修饰引用类型,引用不可变,但是引用的内容可以改变var:变量,可以改变注意点:1.优先使用val(在无需改变时),有利于代码的可读性和垃圾回收2.lazy关键字只针对val,表示需要使用的时候才进行赋值,用于不确定的初始化工作3.scala能自动进行...原创 2019-04-04 13:34:24 · 1064 阅读 · 0 评论 -
scala 学习第1弹 从hello Scala开始
代码如下object s1_hello { def main(args: Array[String]): Unit = { println("Hello,Scala!") }}解释一下:1.object关键字class,Object,Trait有什么区别class在scala中,类名可以和对象名为同一个名字,该对象称为该类的伴生对象,类和伴生对象可以...原创 2019-04-04 13:24:56 · 216 阅读 · 0 评论 -
360 智能城市-机器学习岗实习 面经2019 (已拿offer)
一面主要了解项目相关内容xgboost,lightGBM机器学习评价指标手撕代码:字符串的修改小B最近迷上了字符串处理技术,他设计了各种处理方式,并计算字符串的属性。这次也不例外,他定义了一种新的字符置换方式。小B研究的字符串由ASCII码字母和“.”构成,这次的研究对象是“.”。他关心的对象是字符串中出现的连续两个“.”。若每次操作把其中最开始的连续两个“.”以一个“.”替代...原创 2019-03-18 22:16:18 · 234 阅读 · 0 评论 -
机器学习面试第2弹 交叉熵损失vs.平方损失+ 合页损失函数HingleLoss+ 梯度下降函数的比较GD,SGD,Momentum,Adam
1.为什么要用交叉熵损失代替平方损失为什么不用二次方代价函数权值和偏置的偏导数为求导过程偏导数受激活函数的导数影响,sigmoid函数导数在输出接近0和1时非常小,会导致一些实例在刚开始训练时学习得非常慢。为什么要用交叉熵求导结果这个梯度公式与激活函数对z的偏导数无关,只与激活函数作用于z后的输出与期望的输出y有关,...原创 2019-03-21 20:31:56 · 1391 阅读 · 0 评论 -
机器学习的数学基础 矩阵论与概率论
文章目录机器学习的数学基础1.1 标量、向量、矩阵、张量之间的联系1.2 张量与矩阵的区别?1.3 矩阵和向量相乘结果1.4 向量和矩阵的范数归纳1.5 如何判断一个矩阵为正定?1.6 导数偏导计算1.7 导数和偏导数有什么区别?1.8 特征值分解与特征向量1.9 奇异值与特征值有什么关系?1.10 机器学习为什么要使用概率?1.11 变量与随机变量有什么区别?1.12 常见概率分布1.13 举例...原创 2019-03-21 19:15:05 · 3251 阅读 · 0 评论 -
网易笔试题之DFS回溯法求解黑白棋(翻翻棋)
黑白棋,又叫翻转棋(Reversi)、苹果棋或奥赛罗棋(Othello)。游戏规则:棋盘共有8行8列共64格。开局时,棋盘正中央的4格先置放黑白相隔的4枚棋子(亦有求变化相邻放置)。通常黑子先行。双方轮流落子。只要落子和棋盘上任一枚己方的棋子在一条线上(横、直、斜线皆可)夹着对方棋子,就能将对方的这些棋子转变为我己方(翻面即可)。如果在任一位置落子都不能夹住对手的任一颗棋子,就要让对手下子...原创 2019-03-07 10:04:56 · 1905 阅读 · 0 评论 -
快速排序 java与python实现
快速排序QuickSort快速排序由于排序效率在同为 O(nlogn) 的几种排序方法中效率最高,因此经常被采用。快速排序思想与归并一样采用分治思想,相比于归并排序,快速排序属于原址排序,不需要创建额外的数组协助。 Java实现,随机选择主元import java.util.Arrays;import java.util.Random; /** * 分治思想 * 随...原创 2019-02-11 18:17:08 · 189 阅读 · 0 评论 -
希尔排序(Shell Sort)java实现
算法原理希尔排序:将无序数组分割为若干个子序列,子序列不是逐段分割的,而是相隔特定的增量的子序列,对各个子序列进行插入排序;然后再选择一个更小的增量,再将数组分割为多个子序列进行排序......最后选择增量为1,即使用直接插入排序,使最终数组成为有序。增量的选择:在每趟的排序过程都有一个增量,至少满足一个规则 增量关系 d[1] > d[2] > d[3] >..>...原创 2019-02-14 11:03:20 · 191 阅读 · 0 评论 -
python函数工具之filter,map及reduce
filter, map, reduce都是python针对序列(包括tuple, str, list )的内置方法。filter函数:对序列执行过滤操作 filter(function or None, sequence) -> list, tuple, or stringfunction函数是一个布尔函数,filter()函数调用这个函数一次作用于seq中的每一个元素...原创 2019-02-14 11:03:30 · 261 阅读 · 0 评论 -
卡特兰数 原理、性质 、应用场景与编程求解
卡特兰数1. 定义与背景卡塔兰数是组合数学中一个常出现在各种计数问题中出现的数列。由以比利时的数学家欧仁·查理·卡塔兰 (1814–1894)命名。卡塔兰数的一般项公式为 另类递归式 $ h(n)=\frac{4*n-2}{n+1}*h(n-1)$前几项为: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, ...原创 2019-04-30 11:44:46 · 764 阅读 · 0 评论