传统机器学习算法
文章平均质量分 74
InceptionZ
这个作者很懒,什么都没留下…
展开
-
对传统机器学习和深度学习的一些思考
文章目录0.写在前面1. 机器学习是什么?2. 从机器学习到深度学习2.1 机器学习的发展历史0.写在前面在机器学习与深度学习领域学习了一年之后,想写一篇关于自己对ML和DL的理解,因为学了这么多算法,需要跳出来总结总结ML和DL。我们从发展历史开始讲起。1. 机器学习是什么?Think the following Conversation:朋友/亲戚:你的专业方向是什么啊,小伙子?我:机器学习!朋友/亲戚:哦,那是干啥的?(这个时候你不能讲的太专业,但是得讲得高端一点)我:简单来原创 2020-09-09 21:05:21 · 5138 阅读 · 0 评论 -
对数损失和交叉熵损失
对数损失函数(Log loss function)和交叉熵损失函数(Cross-entroy loss funtion)在很多文献内是一致的,因为他们的表示式的本质是一样的。从上述的表达式中看,两者的损失函数本质是一样的,但是这里需要注意的是通常情况下,这两种损失函数所对应的上一层结构不同,log loss经常对应的是Sigmoid函数的输出,用于二分类问题;而cross-entropy loss经常对应的是Softmax函数的输出,用于多分类问题。所以在神经网络中精彩使用cross-entropy作原创 2021-08-20 11:05:00 · 4157 阅读 · 0 评论 -
理论到实际再到工业中AUC的理解
auc的第一种理解、auc的第二种理解、auc的计算方式、pr曲线为什么auc对样本不平衡具有很好的鲁棒性在样本不平衡问题上auc和pr曲线的表现roc曲线对应auc,pr曲线对应f1-score为什么ctr预估的时候不使用pr曲线,即不使用f1-score作为评价指标为什么推荐或者广告都在用auc文章目录1. 基础知识1.1 混淆矩阵1.2 假正率和真正率2. ROC曲线与经典AUC的理解2.1 ROC曲线2.2 PR曲线2.3 如何选择ROC曲线和PR曲线3. AUC的深度理解(工业级别.原创 2021-06-19 18:52:24 · 1039 阅读 · 0 评论 -
提升方法(boosting)——从Adaboost到XGboost
0. 写在前面本章不会有数学推导,只是为了理清提升方法的发展历程,从Adaboost到提升树到GBDT再到XGboost。围绕几个问题:1.从模型的确定或者改良的角度去思考为什么引出一个模型2.从面试的角度思考面试官会在意一些什么1. 提升方法的源头1.1 提升方法的主要思想核心思想:“三个臭皮匠顶个诸葛亮”历史上,Kearns和Valiant首先提出了“强可学习(strongly learnable)”和“弱可学习(weakly learnable)”的概念。指出:在概率近似正确(proba原创 2020-10-22 17:56:26 · 873 阅读 · 0 评论 -
XGboost中的调参经验
以回归任务为例,首先导入包from xgboost import XGBRegressor as XGBR# Implementation of the scikit-learn API for XGBoost regressionn_estimators:通过画出n_estimator的学习曲线,这里得出几个重要的结论:首先,XGB中的树的数量决定了模型的学习能力,树的数量越多,模型的学习能力越强。只要XGB中树的数量足够了,即便只有很少的数据, 模型也能够学到训练数据100%的信息,所以X原创 2020-10-13 14:10:48 · 8910 阅读 · 0 评论 -
机器学习回归任务中的评价指标
分类问题的评价指标是准确率,那么回归算法的评价指标就是MSE,RMSE,MAE、R-Squared①RMSE(Root Mean Square Error)均方根误差衡量观测值与真实值之间的偏差。常用来作为机器学习模型预测结果衡量的标准。②MSE(Mean Square Error)均方误差MSE是真实值与预测值的差值的平方然后求和平均。通过平方的形式便于求导,所以常被用作线性回归的损失函数。③MAE(Mean Absolute Error)平均绝对误差是绝对误差的平均值。可以更好地反映预测原创 2020-10-12 21:51:07 · 4570 阅读 · 0 评论 -
机器学习中的学习曲线及改版
学习曲线(Learning Curves)来查看模型是高偏差还是高方差。学习曲线会展示误差是如何随着训练集的大小的改变而发生变化的,我们会监控两个误差得分:一个针对训练集,另一个针对验证集。具体内容可以参考链接的3.1节下面给出一般学习曲线的代码:import numpy as npimport matplotlib.pyplot as pltfrom sklearn.naive_bayes import GaussianNBfrom sklearn.svm import SVCfrom skl原创 2020-10-12 20:25:50 · 317 阅读 · 0 评论 -
Variance&Deviation Tradeoff(方差、偏差权衡)
0 写在前面今天,突然想起来偏方差的分解问题,于是我想系统的推一推公式,再次复习一下周志华老师的西瓜书上关于偏方差的问题。1 正文首先周老师为了引入偏方差分解问题,提出了一个问题:“对学习算法除了通过实验估计其泛化性能,人们往往还希望了解为什么具有这样的性能。偏差-方差分解(bias-variance decomposition)是解释学习算法泛化性能的一种重要工具。”2 公式推导西瓜书p45页公式推导:这里解释一点:即假设噪声的期望为0的合理性对于一般算法问题,我们都会假设噪声的分布是服从0原创 2020-10-08 18:20:25 · 1206 阅读 · 0 评论 -
如何处理样本不平衡问题
项目中出现了二分类数据不平衡问题,研究总结下对于类别不平横问题的处理经验:1:为什么类别不平衡会影响模型的输出:许多模型的输出类别是基于阈值的,例如逻辑回归中小于0.5的为反例,大于则为正例。在数据不平衡时,默认的阈值会导致模型输出倾向与类别数据多的类别。因此可以在实际应用中,解决办法包括:1)调整分类阈值,使得更倾向与类别少的数据。2)选择合适的评估标准,比如ROC或者F1,而不是准确度(accuracy)3)过采样法(sampling):来处理不平横的问题。分为欠采样(undersampli原创 2020-06-04 09:08:21 · 488 阅读 · 0 评论 -
Kaggle——Rain in Australia (Predict rain tomorrow in Australia)
写在前面本博客分享在Kaggle网站上的完整案例“Rain in Australia”,即利用数据去预测澳大利亚明天是否会下雨,所用的数据集为Kaggle提供的澳大利亚气象局十年的气象数据,共142193条数据。本文采用SVM进行预测,并将特征工程部分详细讲解,仅供分享交流。此Kaggle案例的网址为:Rain in Australia1. 案例背景①Kaggle帮我们获取到了澳大利亚气象局十年的各个地区的气象数据,我们要做的事,从该数据集中简历模型去预测澳大利亚明天是否会下雨,即数据集的标签原创 2020-06-03 16:05:05 · 5845 阅读 · 11 评论 -
公式推导(三)——SVM
原创 2020-05-27 22:40:31 · 133 阅读 · 0 评论 -
公式推导(二)——逻辑回归
原创 2020-05-26 22:15:02 · 192 阅读 · 0 评论 -
公式推导(一)——线性回归
原创 2020-05-26 20:32:55 · 183 阅读 · 0 评论 -
混淆矩阵、精确率、召回率、ROC曲线相关问题
1. 混淆矩阵混淆矩阵是二分类问题的多维衡量指标体系,在样本不平衡时极其有用。在混淆矩阵中,我们将少数类认为是正例,多数类认为是负例。在决策树,随机森林这些普通的分类算法里,即是说少数类是1,多数类是0。在SVM里,就是说少数类是1,多数类是-1。普通的混淆矩阵,一般使用{0,1}来表示。混淆矩阵中,永远是真实值在前,预测值在后。其实可以很容易看出,11和00的对角线就是全部预测正确的,01和10的对角线就是全部预测错误的。基于混淆矩阵,我们有六个不同的模型评估指标,这些评估指标的范围都在[0,1]原创 2020-05-25 15:44:57 · 1730 阅读 · 0 评论 -
《统计学基础》——第五章(决策树)
1. 什么是决策树?决策树是一种分类和回归的基本模型。有结点和有向边组成。内部节点表示一个属性或者特征,叶子节点表示一个类。可以从if-then的角度理解它。2. 和其他模型比,它的优点?模型具有可解释性,容易向业务部门人员描述。分类速度快当然也有其他优点,比如可以同时处理类别数据和数值数据。在运用分类决策树分类时,我们的数据一般会进行离散化3. 如何学习一棵决策树?模型决策树的学习本质上就是从训练数据集中归纳出一组分类规则,使它与训练数据矛盾较小的同时具有较强的泛化能力。从另一个.原创 2020-05-22 16:22:20 · 2185 阅读 · 0 评论 -
《统计学基础》——第二章(感知机)
1. 写在前面感知机时神经网络和SVM的基础,了解他很重要,但不作面试重点,一般这个会作为Baseline。2. 求解什么问题感知机求解二分类的线性分类问题,一般数据集为线性可分的。3. 模型(function)输入:特征向量输出:改特征向量的标签∈{1,-1}输出函数如下,其中w,b是我们要求解的参数4. 策略(选择什么损失函数)损失函数如下,其中,M表示为误分类点的集合,因为被正确分类的点的LOSS为05. 算法优化方法为:梯度下降写在后面必须知道的几点(1)原创 2020-05-11 11:00:31 · 132 阅读 · 0 评论 -
《统计学基础》——第一章(思维导图)
原创 2020-05-11 10:07:18 · 2184 阅读 · 0 评论 -
《统计学基础》——第四章(朴素贝叶斯)
文章目录1. 朴素贝叶斯法的学习与分类1.1 基本方法1.2 后验最大化含义2. 朴素贝叶斯的参数估计2.1 公式推导3. 面试常见问题3.1 朴素贝叶斯与LR的区别?3.2 在估计条件概率P(X|Y)时出现概率为0的情况怎么办?3.3 为什么属性独立性假设在实际情况中很难成立,但朴素贝叶斯仍能取得较好的效果?3.4 朴素贝叶斯的优缺点?参考文献1. 朴素贝叶斯法的学习与分类1.1 基本方法...原创 2020-03-05 22:20:36 · 253 阅读 · 0 评论 -
《统计学基础》——第三章(KNN)
1.1 KNN算法作分类(常见)1.1 简述KNN算法核心思想:给定一个训练数据集,对新的输入实例,在训练数据集中找到与该实例最领近的k个实例,这k个实例的多数属于某个类,则就把该输入实例分成这个类。算法:输入:训练数据集(带标签)输出:新的输入实例 x 所属的类yKNN模型有何特点:当训练集、距离度量、k值、决策规则确定下来后,对于任何一个新的实例,它所属的类唯一确定。所以说该...原创 2020-03-04 22:00:59 · 918 阅读 · 0 评论 -
从数学角度理解梯度、梯度下降
文章目录1. 什么是梯度?2. 为什么梯度方向就是函数上升“最快”的方向?3. 又为什么又梯度下降的说法?4. 总结参考文献1. 什么是梯度?定义:定义函数F,则某点的梯度就是函数F在该点的一阶偏导数。说明:(1)梯度不是一个实数(在不是一维的时候),而是一个向量。向量空间的维数等于函数所含的元的个数。(2)梯度的方向定义为函数上升最快的方向,下面来说明。2. 为什么梯度方向就是函...原创 2020-02-26 21:57:16 · 637 阅读 · 0 评论 -
浅谈概率图模型(二):无向图模型
文章目录1.引入无向图1.1有向图的困境1.2有向图和无向图得粗略对比2. 无向图的一些条件独立性质2.1 全局马尔可夫性质(关键性质)2.2 无向图的局部马尔科夫性质2.3 成对马尔科夫性质2.4 性质总结3. 无向图模型的参数3.1 无向图模型的一个弊端3.2 解决方案3.2.1 团与最大团的定义3.2.2 势函数(potential function)3.2.3 Hammersley-Cli...原创 2020-02-24 16:47:29 · 3847 阅读 · 2 评论 -
浅谈概率图模型(一):有向图模型
文章目录1.Introduction1.1 Chain rule1.2 Conditional independence1.3 Graphical Models1.4 Directed graphical models(Bayes Net)2. An example of DGM: Naive Bayes2.1 Naive Bayes2.2 Naive Bayes in DGM3. Infere...原创 2020-02-22 12:38:11 · 3214 阅读 · 0 评论 -
EM算法、变分推断(VBEM)、F函数的极大极大算法(EM算法的推广)
1.口述EM算法EM算法就是近似极大化似然函数的一种方法。那么一般的MLE存在的问题就是当likelihood-function存在log-sum项时,变得极难求解,这时候就要换一种思路,引入隐变量Z,和Z的某种分布q(Z)。这里先不说q(Z)是什么,买下一个伏笔。EM算法的一个巧妙之处在于:似然函数经过变形(除以q(Z)再乘以q(z)),然后利用jenson’s inequality将l...原创 2020-02-20 19:35:41 · 2733 阅读 · 0 评论 -
EM算法和GMM算法到底是个怎么回事?(十连问)
转载自原创 2020-02-18 16:31:40 · 851 阅读 · 0 评论