面经整理-机器学习篇

1. 卷积神经网络反向求导时对池化层怎么处理:

无论max pooling还是mean pooling,都没有需要学习的参数。因此,在卷积神经网络的训练中,Pooling层需要做的仅仅是将误差项传递到上一层,而没有梯度的计算。
(1)max pooling层:对于max pooling,下一层的误差项的值会原封不动的传递到上一层对应区块中的最大值所对应的神经元,而其他神经元的误差项的值都是0;
(2)mean pooling层:对于mean pooling,下一层的误差项的值会平均分配到上一层对应区块中的所有神经元

2. dropout原理

https://blog.csdn.net/program_developer/article/details/80737724

3.L1,L2正则化的区别

https://blog.csdn.net/weiyongle1996/article/details/78161512

4.激活函数介绍以及区别

https://blog.csdn.net/tyhj_sf/article/details/79932893

5.梯度爆炸,梯度消失原因以及解决方法

https://blog.csdn.net/qq_25737169/article/details/78847691

6.Logistic Regression推导

https://www.jianshu.com/p/e8dca5613da6

7.Softmax推导

https://www.jianshu.com/p/c02a1fbffad6
https://blog.csdn.net/u014313009/article/details/51045303

8.多分类问题中MAP值的计算

https://blog.csdn.net/tigerda/article/details/78651159

9.信息量,信息熵,交叉熵,KL散度和互信息(信息增益)

https://blog.csdn.net/haolexiao/article/details/70142571

10.一步一步理解GB、GBDT、xgboost

https://www.cnblogs.com/wxquare/p/5541414.html

11.Batch Normalization

https://www.cnblogs.com/guoyaohua/p/8724433.html

12.Kmeans算法Python实现

#!/usr/bin/env python 
# coding=utf-8 
  
import numpy as np 
import random 
import matplotlib.pyplot as plt 
  
#data:numpy.array dataset 
#k the number of cluster 
def k_means(data,k): 
    
  #random generate cluster_center 
  sample_num=data.shape[0] 
  center_index=random.sample(range(sample_num),k) 
  cluster_cen=data[center_index,:] 
  
  is_change=1
  cat=np.zeros(sample_num) 
     
  while is_change: 
    is_change=0
  
    for i in range(sample_num): 
      min_distance=100000
      min_index=0
  
      for j in range(k): 
        sub_data=data[i,:]-cluster_cen[j,:] 
        distance=np.inner(sub_data,sub_data) 
        if distance<min_distance: 
          min_distance=distance 
          min_index=j+1
  
      if cat[i]!=min_index: 
        is_change=1
        cat[i]=min_index 
    for j in range(k): 
      cluster_cen[j]=np.mean(data[cat==(j+1)],axis=0) 
  
  return cat,cluster_cen

13.KNN

给定训练集,对于新输进来的样例,寻找训练数据集里面与之距离最近的K个样例,根据多数表决规则,如果K个实例多数属于某个类,则把该输入实例划分为这个类。

模型三要素是:距离度量,K值的选择,分类决策规则。

距离度量:使用的距离是欧式距离,或者是更一般的Lp距离或Minkowski距离
在这里插入图片描述p为2则为欧式距离,p=1为曼哈顿距离,p为无穷大则为各个坐标距离的最大值。

K值的选取
k值减小意味着模型变得复杂,容易发生过拟合,选择较大的k值,可以减小学习的估计误差,但缺点是学习的近似误差会增大,k值一般取一个较小的值,通常使用交叉验证法来选择最优的k值。

K近邻的实现需要考虑如何快速地搜索k个最近邻点。kd树是一种便于对k维(注意这个k是指特征维度,而非KNN里面的k) 空间中的数据进行快速检索的数据结构。kd树是二叉树,表示对k维空间的一个划分,其每个节点对应于k为空间划分中的一个超矩形区域。利用kd树可以省去对大量数据点的搜索,从而减少搜索的计算量。

kd树使用于训练实例数远远大于空间维度的k近邻搜索。当空间维度接近训练实例数时,它的效率会迅速下降,几乎接近线性扫描。

14.SVM

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述推导:
https://blog.csdn.net/sinat_20177327/article/details/79729551
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猴猴猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值