1. 分类算法常用哪些?KNNLR(逻辑回归)SVM决策树、随机森林神经网络2. 回归算法一般用哪些?线性回归决策树、GBDTXGboost神经网络3. 回归方法中使用的评价指标是哪些?均方误差(MSE):均方根误差(RMSE)MAE(平均绝对误差)R Squared4. 分类中使用的损失函数是哪些?为什么是交叉熵而不是mae?0-1损失函数(zero-one loss):在感知机中,使用的该损失函数对数损失函数(log loss):用于最大似然估计,等价于交叉熵损失函数指数损失函数(exponential loss):在adaboost中使用的该损失函数合页损失函数(hinge loss):在SVM中使用的该损失函数交叉熵损失函数(cross-entropy loss):用于分类任务在LR与神经网络中,分类最常使用的是交叉熵*:因为平方损失函数权重更新过慢,采用交叉熵损失函数可以完美解决过慢的问题,它具有“误差大的时候,权重更新快;误差小的时候,权重更新慢”的良好性质。sigmoid作为激活函数的时候,如果采用均方误差损失函数,那么这是一个非凸优化问题,不宜求解,容易陷入局部最优解。而采用交叉熵损失函数依然是一个凸优化问题,更容易优化求解。5. 对于小数据集一般怎么处理呢?小数据集中如何防止过拟合?第一个思路:小数据集配合神经网络时,必须要考虑过拟合的问题。最有效的方法应该是扩充数据集:数据集越大,网络泛化性能越好,所以努力扩充数据集,通过平移、翻转、旋转、放缩、随机截取、加噪声、色彩抖动等等方式。其他防止过拟合的方法:比如l1、l2,dropout、BN、验证集、模型集成第二个思路:神经网络需要大数据,所以可以考虑其他机器学习方法。6.常用什么激活函数?sigmoidtanhReLULeaky ReLUMish激活函数[链接](7. https://blog.csdn.net/weixin_42057852/article/details/84644348?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscanv2&utm_relevant_index=1)7. sigmoid函数有使用过吗?与relu激活函数有什么不同?sigmoid型函数是第一个被广泛应用于神经网络的激活函数。经过sigmoid型函数作用后,输出的值范围在[0,1]之间。但是sigmoid型函数的输出存在均值不为0的情况,并且存在梯度消失的问题,在深层网络中被其他激活函数替代。在逻辑回归中使用的该激活函数用于输出分类。函数不同sigmoid存在梯度消失的问题;relu型函数可以有效避免梯度消失的问题8. SGD,Momentum,Adagard,Adam原理SGD为随机梯度下降,每一次迭代计算数据集的mini-batch的梯度,然后对参数进行跟新。Momentum参考了物理中动量的概念,前几次的梯度也会参与到当前的计算中,但是前几轮的梯度叠加在当前计算中会有一定的衰减。Adagard在训练的过程中可以自动变更学习的速率,设置一个全局的学习率,而实际的学习率与以往的参数模平方和的开方成反比。Adam利用梯度的一阶矩估计和二阶矩估计动态调整每个参数的学习率,在经过偏置的校正后,每一次迭代后的学习率都有个确定的范围,使得参数较为平稳。链接9.L1不可导的时候该怎么办当损失函数不可导,梯度下降不再有效,可以使用坐标轴下降法,梯度下降是沿着当前点的负梯度方向进行参数更新,而坐标轴下降法是沿着坐标轴的方向,假设有m个特征个数,坐标轴下降法进参数更新的时候,先固定m-1个值,然后再求另外一个的局部最优解,从而避免损失函数不可导问题。使用Proximal Algorithm对L1进行求解,此方法是去优化损失函数上界结果。10.sigmoid函数特性
点赞 7
评论 2
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务