查看: 5677| 回复: 53
跳转到指定楼层
上一主题 下一主题
收起左侧

在职刷题上课准备ML Engineer打卡

全局:

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看附件。没有帐号?注册账号

x
发个贴鼓励自己一下准备ML Engineer跳槽面试,(上班带娃刷题一把辛酸泪T__T) 顺便求大米看看面经~~
看了一下,ML Engineer面试主要考ML算法,刷题(Leetcode),ML系统设计,目前打算从这三方面开始准备
计划:
ML算法:用Stanford CS229 做作业复习,理论和算法应该都有
Leetcode:题太多了。。。暂时的打算是按公司面经+同类别刷
ML系统设计:零碎时间看看各Engineering blog

补充内容 (2019-2-18 07:06):
坚持四天了。。长周末趁娃们午睡了刷会题。。。大家走过路过能不能+点米呢?谢谢啦~

补充内容 (2019-3-2 06:31):
(居然坚持了)半个月了。。 关于machine learning的基础知识,换了一套课,在看university of washington 的machine learning的一套课 coursera上的 虽然有点浅,但快,适合迅速过一遍

补充内容 (2019-3-16 14:04):
30天打卡,总结一下,leetcode刷了200道,其中七八十是以前刷的。。。coursera UW machine learning 进程缓慢,总的foundation匆匆看完了,没啥干货,classification看到了decision tree...已经开始找人内推

补充内容 (2019-3-18 02:02):
Day 31 开始主要看ml design & system design,开始准备面试,求大米看面经,谢谢大家!!!~~~

补充内容 (2019-3-25 02:02):
Day 38 最近看面经(继续求米 :))和system design,推荐一下这个贴https://www.1point3acres.com/bbs ... read&tid=463011 里面的paper啥的:)

评分

参与人数 5大米 +15 收起 理由
jliu + 3 给你点个赞!
epochholly1990 + 3 赞一个!
kkchenk + 3 欢迎来到论坛!
Miss.阿童木 + 3 加油
wangyandan418 + 3 很有用的信息!

查看全部评分


上一篇:top interview questions刷题打卡
下一篇:刷题记录贴-参考各公司 6个月内 最常见20题
推荐
 楼主| llss22 2019-2-15 12:11:35 | 只看该作者
全局:
Day1
------
CS229:

Notes1

1.      Linear Regression

a.      Ordinary Least Square cost

b.      Gradient Descent: batch GD, stochastic GD

2.      Logistic Regression

a.      Maximum Likelihood

b.      Newton method (Fisher Scoring)

3.      Generalized Linear Models

a.      Exponential Family:

b.      Softmax regression

Notes2

1.      Generative Learning Algorithms

a.      Discriminative learning Vs Generative learning algorithm

------------------
Leetcode
855 Exam Room ---- 用一个heap存所有连续的空座位interval,用(如果坐在这段空座位中,新座位离其他座位的最短距离)排序,每当插入新座位,自动pop出应该坐入的interval,有人离开座位,就是merge这个座位左右两边的interval,为找到这两个interval,用两个dict,一个通过最左边的seat找相应interval 一个通过最右边seat找相应interval,这样seat和leave都是logN


补充内容 (2019-2-15 12:59):
顺便做了个849,其实应该先做849,再做855 :)

补充内容 (2019-2-15 13:45):
853 Car fleet 先按位置排序,然后算每辆车本来需要的时间,从终点往回看,需要时间多的+新的一个fleet, 否则就和当前的一个fleet
回复

使用道具 举报

推荐
hengde12 2019-3-26 14:03:06 | 只看该作者
全局:
llss22 发表于 2019-3-26 13:08
这个除以mini_batch_size是每个人的表示习惯不同吧?mini_batch_size是prefixed,所以和learning_rate一 ...

觉得mini_batch_size应该和learning_rate是不同的,如果两者可以合为一个常数,那么就应该不需要有mini_batch_size这个概念了因为单独调learning_rate就可以了。 在Micheal Nielsen的书"Neural networks and deep learning" https://github.com/antonvladyka/neuralnetworksanddeeplearning.com.pdf/blob/master/book.pdf 的26页底部的代码写道 w - (eta/len(mini_batch)*nw), 这里eta是learning_rate, w 是old_weight, len(mini_batch) 是mini_batch_size, nw是delta_weight。 下面是截图红色框框就是



但是就是不知道为什么要除以mini_batch_size?
回复

使用道具 举报

推荐
 楼主| llss22 2019-3-27 00:27:47 | 只看该作者
全局:
hengde12 发表于 2019-3-26 14:03
觉得mini_batch_size应该和learning_rate是不同的,如果两者可以合为一个常数,那么就应该不需要有mini_b ...

我的意思也是mini_batch_size是和learning_rate不一样的,两个没办法合为一个常数,我的意思是,这两个都是training前就调好的参数,真正train起来以后这个是不会变的,调参的时候也是分别调,调learning_rate是改变update的步长,mini_batch_size是控制每个batch的example数量,调节train的速度和总的performance的variance,虽然这个很少调。。至于除以mini_batch_size, 只是normalization吧,感觉和regularization的时候,大家也喜欢用lambda/(num_samples) 放在regularizaion里面,和likelihood function里面的sum_消除
回复

使用道具 举报

🔗
 楼主| llss22 2019-2-16 14:00:50 | 只看该作者
全局:
Day2
------------
857. Minimum Cost to Hire K Workers
TotalWage = ratio*TotalQuality
先按ratio: wage/quality从小到大排序,到K以后就开始试减少最大的quality,提高一点ratio看看totalwage会不会减少,这里可以用heap自动把quality最大的pop出来
复杂度Nlog(N)

补充内容 (2019-2-16 15:05):
373. Find K Pairs with Smallest Sums
用heap存pair,往外pop最小的,然后根据这个当前最小的(x,y),往里面继续放candidate,(x+1,y)或者(x,y+1)
回复

使用道具 举报

🔗
 楼主| llss22 2019-2-17 06:03:05 | 只看该作者
全局:
659. Split Array into Consecutive Subsequences
对每一个数看能不能找到右边连续两个数,或者能不能加到已有的subsequence的右边
347. Top K Frequent Elements
存freq到dictionary,然后维持一个k的heap, 复杂度是O(N+NlogK)
存freq到dictionary, 然后开一个数组,用freq做index存数,把数组从后往前读,复杂度是O(N+N+K)

补充内容 (2019-2-17 06:52):
146 LRU dict+双向链表

补充内容 (2019-2-17 13:10):
CS229
Notes2
---Naive Bayes
---Laplace smoothing
Assignment 1
---做了前两题,好多数学啊。。。T_T...
------------------另,忘记打卡这是Day 3了。。。


补充内容 (2019-2-17 13:51):
Leetcode 844. Backspace String Compare  从后往前看,积累backspace,看哪个字母会最终出现
回复

使用道具 举报

🔗
 楼主| llss22 2019-2-18 06:58:30 | 只看该作者
全局:
Day 4
---------------------
904. Fruit Into Baskets
是找最长的子序列,里面最多只有两种fruit,用sliding window,以每一个tree[end]为结尾,如果是多了新种类,就pop掉当前序列最前面的fruit直到序列中只有两种为止,记一下长度和max长度

补充内容 (2019-2-18 08:05):
881. Boats to Save People  先按体重sort, 再两个指针一头一尾,看能不能装下两个人,还是只能装重的一个

补充内容 (2019-2-18 08:41):
159. Longest Substring with At Most Two Distinct Characters 和904是一模一样的题目。。

补充内容 (2019-2-18 08:45):
340. Longest Substring with At Most K Distinct Characters 和159一样做,只是把2变成k

补充内容 (2019-2-18 13:36):
975. Odd Even Jump  好难啊T__T   从后往前推用dp分别存可不可能在奇数/偶数步到这个数,倒推的时候需要用到, 对于每一个数求下一个偶数jump时到哪奇数步jump时到哪 (这一步用sort原数列+stack做)
回复

使用道具 举报

🔗
 楼主| llss22 2019-2-19 02:43:28 | 只看该作者
全局:
Day 5
239. Sliding Window Maximum
保持一个deque,里面最左放当前最好candidate的index,接着次好candidate的index。。。从左到右scan数列,当当前数的index离最好的candidate的index超出k window的时候,把最好的candidate popleft

补充内容 (2019-2-19 06:46):
621. Task Scheduler  假如有IDLE,总interval是(largest value-1)*(n+1)+#of task having largest value, 如果task总数>这个interval,说明没有idle,说明总interval就是task总数

补充内容 (2019-2-19 07:32):
683. K Empty Slots 用一个list记录每天开花的位置,对每天开一朵花,用binary search在list里面找,找到了以后看break了哪个interval,记录一下产生的新的interval的长度,==k+1就返回天数,否则就插入list,继续
回复

使用道具 举报

🔗
Fanny92106 2019-2-19 07:03:30 | 只看该作者
本楼:
全局:
楼主加油!
回复

使用道具 举报

🔗
 楼主| llss22 2019-2-22 02:04:55 | 只看该作者
全局:
Day8
----------------
【停了两天刷题。。。一上班搞完俩娃睡觉就九点,只想坐在床上刷手机!】
昨天看了一眼947. Most Stones Removed with Same Row or Column 发现用Union-Find算法比较好,又回去学习了一下,今天做了684. Redundant Connection 来implement,打算今天有空专门做Union-Find tag底下的题

补充内容 (2019-2-22 12:24):
547. Friend Circles 就是直接用union find做 947. Most Stones Removed with Same Row or Column 还是用union find 有一个小trick是同样的行之间,同样的列之间直接就算一个node,行和列之间连edge,列+10000区别

补充内容 (2019-2-22 14:44):
721. Accounts Merge 也是用union find。。。每个email 是个点,同一个account先union,再对每个email find root一遍,把所有的连起来
回复

使用道具 举报

🔗
 楼主| llss22 2019-2-23 14:45:12 | 只看该作者
全局:
Day 9
今天刷了两个medium欢庆周末=  =|||
939. Minimum Area Rectangle 硬做的。。。先把点按相同的x存到dictionary里面(把点看成一个一个column),然后把每个column里面的每个pair的点记下(低点的位置,pair的长度),以这个为key,x组成一个list, 再存一个dictionary,然后过一遍这个dictionary 对每个key对应的x的list里面每两个x做为顶点,求min area
681. Next Closest Time  写一个function算given time,加一分钟是什么,然后就一直加一分钟直到所有的number都valid
684. Redundant Connection 用DFS又写了遍
-------
CS 229
SVM 的notes过了遍

回复

使用道具 举报

🔗
greedytyrant 2019-2-24 08:09:52 | 只看该作者
全局:
楼主 cs229我看了syllabus 目测只有部分课件 没啥视频之类 感觉看起来有些艰难 我也想复习学习算法部分 不知道楼主有何推荐
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

>
快速回复 返回顶部 返回列表