旗云恒基试总结

一、手写堆栈(空间复杂度为O(n))

二、讲述一下python的(GIL锁)

  • python中可以通过多进程、多线程和多协程来实现多任务,在多线程的实现过程中,为了避免出现资源竞争问题,可以使用互斥锁来使线程同步(按顺序)执行。 其实Python的CPython(C语言实现的)解释器上有一把GIL锁,也就是说Python的程序是处于一个解释器锁的环境中的。
  • GIL:也成全局解释器锁,python的多线程称为“伪多线程”,逃不过GIL解释器锁,GIL的存在,python在同一时刻只有一个线程会执行
  • 线程是CPU调度和分派的基本单位,python中的多线程由于GIL锁的存在无法使用多核CPU
  • python的多线程不适合计算密集型的程序,适合IO密集型程序
  • 改善:更新python解释器版本、计算密集型的程序用多进程替代(增强硬件)

三、讲述一下线性回归和逻辑回归的联系

  • 二者都是广义的线性模型
  • 线性回归预测的连续值,而逻辑回归给出的“是”和“否”的回答
  • 逻辑回归的模型是非线性模型,sigmoid模型,本质上又是一个线性回归模型,因为除去sigmoid映射函数关系,其它步骤,算法都是线性回归,逻辑回归可以轻松处理0/1分类问题
  • 线性回归是以高斯分布为误差分析模型,逻辑回归采用的是伯努利分布分析误差
  • 线性回归,目的是预测,函数是拟合函数,参数计算是最小二乘。逻辑回归,目的是分类,函数是预测函数,参数计算最大似然估计

四、逻辑回归的原理

  • 假设函数服从伯努利分布,通过极大化似然函数,运用梯度下降来求解参数,达到二分类目的
  • 对数几率函数:sigmoid函数
  • 极大似然法进行参数估计
  • 逻辑回归的损失函数
  • 梯度下降法

五、GBDT的原理

  • 回归算法选择的损失函数一般为均方差(最小二乘)或者绝对值误差
  • 预测值=均值+残差
  • 步骤
    1.初始化残差,构成弱学习器1。(预测特征所对应得特征值求平均值)
    2.计算残差(实际值 - 弱学习器1)。
    3.寻找回归树的最佳划分点(阈值)。遍历每个特征的每个特征值作为阈值,通过阈值将数据二分,分别计算方差,找到使方差最小的特征值为最佳二分阈值
    4.将二分后的残差值更新为实际值,计算实际值平均值 作为残差。构成弱学习器2。
    5.合并强学习器。(弱学习器1 + 弱学习器2)
    6.满足条件迭代停止

六、使用过sql-lab数据库没?

七、jieba库分词的原理

  • 中文文本分词的第三方库
  • 利用一个中文词库,确定汉字之间的关联概率,通过计算汉字间的概率,汉字词概率大的组成词组,形成分词结果,还可以添加自定义的词组
  • 子代dict.txt的词典
  • 基于Trie树结构实现高效的词图扫描,生成句子中汉字所有可能成词情况构成的有向无环图(DAG)
  • 未登录词,采用汉字成词能力的HMM模型,使用Viterbi算法
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值