开始整理和复盘机器 学习或数据挖掘面试中涉及的问题

 ps:整理小米机器学习去年校招

一面
讲项目

特征选择的常用方法

https://blog.csdn.net/SecondLieutenant/article/details/80693765

bagging和boosting的区别
https://www.cnblogs.com/earendil/p/8872001.html

手推逻辑回归
https://blog.csdn.net/u014472643/article/details/80662532

过拟合的解决办法,以及在你的项目中怎么用的
http://www.360doc.com/content/18/0805/10/11935121_775819522.shtml

L1和L2的区别 L1为什么能稀疏矩阵 L2为什么不能,L2为什么能解决过拟合

https://blog.csdn.net/haidixipan/article/details/83186850

gbdt,xgboost模型的比较
https://blog.csdn.net/m0_37870649/article/details/81022040

lstm和Rnn区别
https://blog.csdn.net/lanmengyiyu/article/details/79941486

梯度消失的解决办法
https://blog.csdn.net/qq_25737169/article/details/78847691

手撕代码:链表反转 最大子序列和

1.输入一个链表,输出反转后的链表

#非递归实现:# -*- coding:utf-8 -*-
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None
class Solution:# 返回ListNodedef ReverseList(self, pHead):# write code hereif pHead is None:return pHeadlast = None  #指向上一个节点while pHead:# 先用tmp保存pHead的下一个节点的信息,# 保证单链表不会因为失去pHead节点的next而就此断裂tmp = pHead.next# 保存完next,就可以让pHead的next指向last了pHead.next = last# 让last,pHead依次向后移动一个节点,继续下一次的指针反转last = pHeadpHead = tmpreturn last

2.最大子序列和

#O(n*2)解法(最简单粗暴的方式,双层循环,用一个maxsum标识最大连续子序列和。然后每次判断更新)def maxSum(list):maxsum = list[0]for i in range(len(list)):maxtmp = 0for j in range(i,len(list)):maxtmp += list[j]if maxtmp > maxsum:maxsum = maxtmpreturn maxsum#O(n)解法(动态规划)
'''
假设数组为a[i],因为最大连续的子序列和必须是在位置0-(n-1)之间的某个位置结束。那么,当循环遍历到第i个位置时,如果其前面的连续子序列和小于等于0,那么以位置i结尾的最大连续子序列和就是第i个位置的值即a[i]。如果其前面的连续子序列和大于0,则以位置i结尾的最大连续子序列和为b[i] = max{ b[i-1]+a[i],a[i]},其中b[i]就是指最大连续子序列的和'''def maxSum(list_of_nums):maxsum = 0maxtmp = 0for i in range(len(list_of_nums)):if maxtmp <= 0:maxtmp = list_of_nums[i]else:maxtmp += list_of_nums[i]if(maxtmp > maxsum):maxsum = maxtmpreturn maxsum

智力题:马匹赛跑 25匹马,5个跑道,没有计时器,要找出前三名,最少要比多少场,答案是7

http://www.cnblogs.com/vincently/p/4802592.html

二面
手推gbdt
https://blog.csdn.net/blank_tj/article/details/82262431
手推xgboost
https://blog.csdn.net/u014472643/article/details/80658009

手撕代码 两个有序数组,求其中位数,然后改进时间复杂度

#排序sorted解法(时间复杂度:最坏O(nlog(n)),最优O(n),平均O(nlog(n)))class Solution:def findMedianSortedArrays(self, nums1, nums2):""":type nums1: List[int]:type nums2: List[int]:rtype: float"""nums = sorted(nums1+nums2)if len(nums)%2 ==0:answer = (nums[int(len(nums)/2-1)]+nums[int(len(nums)/2)])/2else:answer = nums[int((len(nums)+1)/2)-1]return answer

用二分查找改进时间复杂度

#二分查找,时间复杂度O(log(n))
class Solution:def findMedianSortedArrays(self, nums1, nums2):""":type nums1: List[int]:type nums2: List[int]:rtype: float"""m, n = len(nums1), len(nums2)if m > n:nums1, nums2, m, n = nums2, nums1, n, mif n == 0:raise ValueErrorimin, imax, half_len = 0, m, (m + n + 1) // 2while imin <= imax:i = (imin + imax) // 2j = half_len - iif i < m and nums2[j-1] > nums1[i]:# i is too small, must increase itimin = i + 1elif i > 0 and nums1[i-1] > nums2[j]:# i is too big, must decrease itimax = i - 1else:# i is perfectif i == 0: max_of_left = nums2[j-1]elif j == 0: max_of_left = nums1[i-1]else: max_of_left = max(nums1[i-1], nums2[j-1])if (m + n) % 2 == 1:return max_of_leftif i == m: min_of_right = nums2[j]elif j == n: min_of_right = nums1[i]else: min_of_right = min(nums1[i], nums2[j])return (max_of_left + min_of_right) / 2.0

LR和svm的区别
https://blog.csdn.net/u013385362/article/details/80219531

场景分析题,如何对新闻进行实效性分析,怎么挖特征

lstm.每个门的公式还会写吗?

1.对门的理解
https://blog.csdn.net/shenxiaoming77/article/details/76795376
2.公式推导
https://www.sohu.com/a/159470197_99916544

机器学习面试总结(一)相关推荐

  1. 27场机器学习面试后,来划个概念重点吧

    机器之心报道 编辑:小舟 机器学习面试宝典,有这一本就够了. 在机器学习和数据科学岗位的面试中,机器学习领域的概念是经常考察的内容.一位近期经过 27 次 AI 领域面试(包括 Google 等大型公 ...

  2. 机器学习面试:这25个实用又有深度的问题

    机器学习面试可以有趣且有深度么? 这是你的机器学习系统? --嗯对呀!把数据倒进这堆线性代数,然后在另一端迎接答案. 那答案是错的怎么办? --搅一搅,拌一拌,答案就会越来越对了... 大多数数据科学 ...

  3. 业界丨涨薪20%!听听这位资深机器学习面试官的内心独白

    在营长的众多死党微信群,营长发现,大家很爱谈论机器学习面试,也是,毕竟面试表现越好,银子也能谈得越高,能把自己卖个好价钱,当然关心了. 对于这个话题最为关注的,莫过于研究生毕业的孩纸,和有两.三年工作 ...

  4. [机器学习] 面试常见问题+解析汇总

    机器学习面试题的分类 The first really has to do with the algorithms and theory behind machine learning. You'll ...

  5. 深度学习机器学习面试问题准备(必会)

    深度学习机器学习面试问题准备(必会) 第一部分:深度学习 1.神经网络基础问题 (1)Backpropagation(要能推倒)  后向传播是在求解损失函数L对参数w求导时候用到的方法,目的是通过链式 ...

  6. [面试笔试整理1]:深度学习机器学习面试问题准备(必会)

    此系列三篇文章的原文链接 面试笔试整理1:深度学习机器学习面试问题准备(必会) 1.神经网络基础问题 (1)Backpropagation(要能推倒) 后向传播是在求解损失函数L对参数w求导时候用到的 ...

  7. BAT机器学习面试1000题系列(第1~305题

    1 请简要介绍下SVM,机器学习 ML模型 易SVM,全称是support vector machine,中文名叫支持向量机.SVM是一个面向数据的分类算法,它的目标是为确定一个分类超平面,从而将不同 ...

  8. BAT机器学习面试1000道

    本文转载自: https://blog.csdn.net/sinat_35512245/article/details/78796328 1.请简要介绍下SVM. SVM,全称是support vec ...

  9. BAT机器学习面试1000题系列(第150~279题)

    首页 博客 学院 下载 GitChat TinyMind 论坛 问答 商城 VIP 活动 招聘 ITeye CSTO 写博客 发Chat leadai的博客 RSS订阅 转 BAT机器学习面试1000 ...

  10. 【转】BAT机器学习面试1000题系列(1~50)

    BAT机器学习面试1000题系列 整理:July.元超.立娜.德伟.贾茹.王剑.AntZ.孟莹等众人.本系列大部分题目来源于公开网络,取之分享,用之分享,且在撰写答案过程中若引用他人解析则必注明原作者 ...

最新文章

  1. 对 Jenkins+ANT+Jmeter 接口测试的实践
  2. 【ASP.NET Core】依赖注入高级玩法——如何注入多个服务实现类
  3. simulink中使用memory模块实现变量的累加和(离散积分器)
  4. Eclipse中最常用的热键
  5. Elasticsearch技术解析与实战(六)Elasticsearch并发
  6. Firefox开发者工具里查看HTML元素的Box模型
  7. 互联网平台“直播+”赋能研究报告
  8. 今天 Java 14 正式发布了!放弃 Java 8 行吗?
  9. 正则表达式系列 (一)
  10. 气体灭火系统常见构件及其作用!
  11. 抖音小程序开发所遇到的问题
  12. Deepin 手动安装显卡驱动
  13. 计算机类sci一区是什么水平,计算机类高质量SCI分区高水平期刊投稿建议汇总
  14. Django项目nginx+gunicorn 部署
  15. Google支付订单真伪的验证方式
  16. 04特性源码分析-ReentrantReadWriteLock原理-AQS-并发编程(Java)
  17. 一直想弃用,从未被替代的Java8——Stream篇(内含大量示例代码)
  18. BugZhu抽抽抽!!(已知三角形三点坐标,求外接圆半径及三角面积)
  19. 云原生架构的关键技术
  20. 【python】无规律时间步长时序数据转为固定步长

热门文章

  1. python代码:VOC to cityscapes标注文件转换
  2. Linux复位usb hub,linux usb hub初始化-steven
  3. win10推送_win10发布5月首个更新,着重提升系统安全性,为新版本推送作铺垫
  4. 计算机专业实习怎么找?大厂付费内推实习证明有用吗?
  5. 解决fork: retry: 资源暂时不可用
  6. 中国软件杯 公共地点人流量计算的云监管平台 算法思路分享
  7. 梅花linux操作系统,Linux操作系统 精伦H3多媒体中心促销
  8. phpcms9.6 ueditor_PHPCMS v9.5.6整合UEditer1.4.3详细教程
  9. 赛门铁克软件恢复服务器系统,赛门铁克系统恢复盘Veritas System Recovery 多语言版...
  10. 模拟微信公众号回调请求