
机器学习
文章平均质量分 79
记录自己的机器学习成长之路!
<Running Snail>
奇点将至
展开
-
随机森林(独立思考的重要性)
最典型的Bagging算法: “随机”是其核心,“森林”意在说明它是通过组合多棵决策树来构建模型。主要特点:对样本进行有放回抽样对特征进行随机抽样应用场景广泛:例如市场营销、股票市场分析、金融欺诈检测、基因组数据分析和疾病风险预测算法流程假设单棵决策树的方差σ2(x){\sigma}^{2}(\boldsymbol{x})σ2(x),任意两颗决策树之间的相关性为ρ(x)\rho(\boldsymbol{x})ρ(x),随机森林由TTT课决策树组成,则集成的随机森林模型的方差为:var原创 2021-09-29 21:22:26 · 222 阅读 · 0 评论 -
决策树(Decision Tree)
引入核心思想:把问题问到点子上 看两个小例子:感冒去看医生,医生会望闻问切,询问是否头痛?发热?能快速诊断出是普通感冒还是流感。银行放贷时,要调查收入、教育程度、婚姻状态等,能快速得出你未来是否会违约所以如下图,就是在不断的划分(依次是一、二、三维),并尽量使得每一个区域内的不纯度最低核心问题:如何选择节点属性和属性分割点?节点特征和分割点的选择不纯度(impurity)定义:不纯度表示落在当前节点的样本类别分布的均衡程度。所i有节点分裂后,节点不纯度应该更低(类分布更不原创 2021-09-29 21:20:43 · 647 阅读 · 0 评论 -
普通机器学习模型的提升
文章目录模型误差的来源模型误差的减少方向一:非线性模型方向二:深度学习方向三:模型集成模型误差的来源fff:训练集由函数fff产生f^\hat{f}f^:假设空间H\mathcal{H}H中理论最好的函数f^\hat{f}f^f∗f^{*}f∗:用训练集得到的函数为f∗=argmaxf∈HL(w)f^{*}=\underset{f \in \mathcal{H}}{\operatorname{argmax}} L(w)f∗=f∈HargmaxL(w)那么逼近误差就是模型空间与fff的原创 2021-09-29 21:16:03 · 192 阅读 · 0 评论 -
分类 Classification
import numpy as npimport pandas as pd读取数据weekend_data = pd.read_table(‘weekend.txt’, sep=’\t’)def cal_entropy(data, feature_name):entropy = 0num = data.shape[0]freq_stats = data[feature_name].value_counts()for index in range(len(freq_stats)): f原创 2021-09-28 21:59:37 · 424 阅读 · 0 评论 -
Sklearn实现SVC
官方网站:sklearn关于支持向量机多分类的介绍sklearn.svm中的模型是基于libsvm和liblinear两个包开发出来的。它提供了一系列的支持向量机算法,包括分类(SVC, Support Vector Classifier)、回归(SVR, Support Vector Regressor)和异常检测(Novelty Detection)三类学习算法:分类器:svm.SVC、svm.LinearSVC和svm.NuSVC回归器:svm.SVR、svm.LinearSVR和svm.Nu原创 2021-09-28 22:04:28 · 4789 阅读 · 0 评论 -
划分数据集
from sklearn.model_selection import train_test_splitX_train,X_test, y_train, y_test =sklearn.model_selection.train_test_split(train_data,train_target,test_size=0.4, random_state=0,stratify=y_train)# train_data:所要划分的样本特征集train_data:所要划分的样本特征集(对应XXX原创 2021-09-28 20:46:55 · 384 阅读 · 0 评论 -
拉普拉斯矩阵(Laplacian matrix)
本文只是为GNN而写的基础,所以没有涉及太详细的数学推导我们要明白一点,图拉普拉斯矩阵不是为了图神经网络而生,而在之前就存在了很久很久。简单介绍简单地说,拉普拉斯矩阵就是L=D−AL=D-AL=D−A,AAA是邻接矩阵,DDD是度矩阵。如下例:A=(010010101010010100001011110100000100)D=(200000030000002000000300000030000001)A=\left(\begin{array}{llllll}0 & 1 & 0 &原创 2021-05-31 22:15:11 · 17747 阅读 · 0 评论 -
正态分布初始化 torch.nn.Embedding.weight()与torch.nn.init.normal()的验证对比
torch.nn.Embedding.weight(num_embeddings, embedding_dim)随机初始化,生成标准正态分布N(0,1)N(0,1)N(0,1)的张量Tensortorch.nn.init.normal(tensor, mean=0, std=1)参数:tensor – n维的torch.Tensormean – 正态分布的均值std – 正态分布的标准差填充输入的张量或变量生成值,服从正态分布N(mean,std)N(mean, std)N(mean,std)原创 2021-05-24 23:37:15 · 3156 阅读 · 0 评论 -
机器学习中的信息论
文章目录信息论熵的意义——信息量怎么度量?熵的作用和认识几种特殊的熵1.联合熵2.条件熵3.互信息4.相对熵(KL散度)5.交叉熵(cross entropy)信息论信息论是应用数学的一个分支,主要研究的是对一个信号包含信息的多少进行量化。它最初被发明是用来研究在一个含有噪声的信道上用离散的字母表来发送消息,例如通过无线电传输来通信。在机器学习中,我们主要使用信息论的一些关键思想来描述概率分布或者量化概率分布之间的相似性。熵的意义——信息量怎么度量?信息论的基本想法是一个不太可能的事件居然发生了原创 2021-03-25 23:47:19 · 1018 阅读 · 0 评论 -
分类(Classification)
文章目录分类什么是分类?分类模型的评价混淆矩阵(Confusion Matrix)1. Accuracy(正确率)2. Precision(精度)3. Recall(召回率)4. F1值(F值的特殊情况)5. Specificity(特异度)6. Kappa多分类模型下评价指标的改变ROC曲线和AUCCode分类什么是分类?一种典型的有监督学习问题分类模型的评价混淆矩阵(Confusion Matrix)机器学习中存在各种不同的分类模型,如逻辑回归、决策树、朴素贝叶斯和支持向量机等。对于不同原创 2021-03-25 23:11:31 · 1666 阅读 · 0 评论 -
K-近邻算法(KNN)
K近邻(K-Nearest Neighbor, KNN)是一种最经典和最简单的*有监督学习*方法之一原创 2021-03-25 23:08:42 · 65375 阅读 · 4 评论 -
偏差(bias)、方差(variance)和噪音(noise)
对于一个预测问题,若真实模型为f(x)f(\boldsymbol{x})f(x). 通常我们通过对特定的数据集D=(x1,y1),(x2,y2),…,(xn,yn)D = {(\boldsymbol{x}_1, y_1),( \boldsymbol{x}_2, y_2),\dots, (\boldsymbol{x}_n, y_n) }D=(x1,y1),(x2,y2),…,(xn,yn)进行训练得到预测模型g(x)g(\boldsymbol{x})g(x)。 假设(x,y)(\boldsymbo原创 2020-11-30 23:26:03 · 3347 阅读 · 4 评论 -
降维概述
降维(dimensionality reduction)是指采用某种映射方法,将数据的特征维度从高维转换到低维。那么,为什么要进行降维呢?首先,我们碰到的很多数据是高维的。虽然原始数据是高维的,但是数据“内在的维数”可能更低。我们来看一个实际的例子。假设我们现在要借助用户手机的通信数据来对用户价值进行分析。我们的通信数据包括用户入网时间、套餐价格、每月话费、每月流量、每月通话时长、欠费金额和欠费月份数等特征。在这里,每月话费、每月流量和每月通话时长具有相关性,且都表示的是用户的消费能力。欠费金额和欠费月原创 2020-11-30 22:48:26 · 2429 阅读 · 0 评论 -
多重共线性问题
在正式接受一个回归模型之前,我们先谈谈线性回归中的多重共线性(multicolinearity)问题。多重共线性是指特征之间由于存在精确相关关系或高度相关关系而使模型估计失真或难以估计准确的情形。由于普通最小二乘估计建立在特征之间相互独立的前提假设下,所以我们必须警惕多重共线性的问题。比如身高和体重之间呈正相关,如果要使用这两个特征构建回归模型,则将出现多重共线性的问题,所以我们常常使用BMI指数构建模型,BMI指数即体质指数,使用体重除以身高得到,即将两者整合为一个特征。或者在某些情况下,我们需要删除共原创 2020-11-30 22:42:00 · 1205 阅读 · 2 评论 -
回归模型评价
训练误差与在测试数据上的误差(又称为泛化误差)是两码事,训练误差小不代表泛化误差也小,最理想的兄下是这两种误差都比较小。所以我们还需要些指标去衡量模型的测试误差及泛化误差。主要的指有决定系数R2、均方误差、平均绝对误差和解释方差分数4种(调用 sklearn中的 metrics模块计算)R2=SSESST=1−SSRSSTR^2 =\frac{\text{SSE}}{\text{SST}} = 1 - \frac{\text{SSR}}{\text{SST}}R2=SSTSSE=1−SSTSSR原创 2020-11-30 22:34:26 · 245 阅读 · 1 评论 -
多元线性回归题目
自定义多元回归函数linearRegression,要求输入参数为XXX和yyy,分别为xArr和yArr,输出为参数wswsws已知最小二乘法的解为:w^=(XTX)−1XTy\hat{\boldsymbol{w}} = (\mathbf{X}^{\text{T}} \mathbf{X})^{-1}\mathbf{X}^{\text{T}} \boldsymbol{y}w^=(XTX)−1XTy使用美国医疗保险费数据insurance.csv的连续型特征age、bmi和children作..原创 2020-11-27 23:14:22 · 722 阅读 · 0 评论 -
一元线性回归题目
自定义一元回归函数linearRegression,输入参数为xxx和yyy的数组xArrxArrxArr和yAryAryArr,输出为参数w1w1w1和w0w0w0使用美国医疗保险费数据insurance.csv的输入特征age和目标特征expenses,根据linearRegression得到回归参数值w1和w0,并保留到小数点后两位已知根据最小二乘法求得的参数值为w^1=∑i=1nxiyi−nxˉyˉ∑i=1nxi2−n(xˉ)2,w^0=yˉ−w^1xˉ\hat{w}_1 = \frac{.原创 2020-11-27 23:02:21 · 748 阅读 · 1 评论 -
线性回归(一元、多元)
一元线性回归在一元线性回归中,输入只有一个特征。现有输入特征为 x,需要预测的目标特征为y ,一元线性回归模型为y=w1x+w0y=w_1x+w_0y=w1x+w0其中w1,w0w1,w0w1,w0为参数,模型预测值为y^i=w1xi+w0\hat{y}_i = w_1x_i+w_0y^i=w1xi+w0。真实值与预测值的差称为残差,记为εi=yi−y^i\varepsilon_i = y_i - \hat{y}_iεi=yi−y^i。如果我们拥有一个包含多个训练样本的训练集(原创 2020-11-27 00:04:07 · 1784 阅读 · 0 评论 -
回归(regression)——统计学习方法
文章目录回归(regression)回归的分类损失函数应用回归(regression)回归是监督学习的另一个重要问题。回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。回归模型是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。回归问题分为学习和预测两个过程。首先给定一个训练数据集:这里,xix_ixi是输入,yiy_iyi是输出学习原创 2020-11-26 00:26:27 · 1376 阅读 · 0 评论 -
李宏毅机器学习 1.Machine Learning_introduction
机器学习就是自动找函数式找函数式之前,要想明白,我们要寻找什么函数式。怎么告诉机器,我们想找什么样的函数式?原创 2020-11-25 00:39:58 · 224 阅读 · 0 评论 -
机器学习回顾总结
文章目录前言前言之前在接触机器学习的过程中,学的很快;知识从通过书本、视频、搜索零散地学习,没有进行系统地整合;现在对很多方面似懂非懂,没有形成自己的理解,所以计划近期从零开始,对知识进行重新的回顾和整合,希望有新的收获,新的感悟。...原创 2020-11-24 23:15:57 · 176 阅读 · 0 评论 -
关于神经网络的调参经验技巧和调参顺序
模型方面基本上都做得非常好了,因此真正需要调的参数其实并不多了,或者说调很多参数实际带来的提升都非常小了。在训练一个深度学习模型的过程中,超参数选择什么最优,这是一个基于实验和经验的过程。需要不停的尝试,直到找到合适的参数值。调参 是种无奈理论认识很深的时候参数就是一个公式或几个公式应该把精力放在认识水平的提高上超参数和参数区分超参数:如学习率α、网络层数、每层隐藏单元数、学习率衰减值、mini-batch等需要人工选取的参数。参数:这里所指的参数另外一种说法就是权重,需要被训练的参数。比如原创 2020-11-21 11:52:56 · 10513 阅读 · 2 评论 -
TensorFlow:模型的保存与恢复(Saver)
目录前言1 实例化对象2 保存训练过程中或者训练好的, 模型图及权重参数2.1保存训练模型2.2 查看保存3. 重载模型的图及权重参数(模型恢复)前言我们经常在训练完一个模型之后希望保存训练的结果,这些结果指的是模型的参数,以便下次迭代的训练或者用作测试。Tensorflow针对这一需求提供了Saver类。· Saver类提供了向checkpoints文件保存和从checkpoints文件中恢复变量的相关方法。Checkpoints文件是一个二进制文件,它把变量名映射到对应的tensor值 。·原创 2020-08-25 11:19:05 · 1105 阅读 · 0 评论 -
Ablative analysis(消融分析)
Ablative analysis(消融分析)误差分析尝试去解释算法当前的表现与完美表现的差别,而「消融分析」(Ablative analysis)尝试去解释一些基线表现(通常表现更差)与当前表现的差别。以垃圾邮件分类器为例,你通过在逻辑回归中加入了以下这些有趣的特征获得了不错的结果:· Spelling correction· Sender host features· Email header features· Email text parser features· Javascript原创 2020-08-10 21:38:37 · 5768 阅读 · 0 评论 -
李宏毅机器学习之Classification
实际应用关于分类的一些应用How to do Classification首先,要收集data。1.假设现在的model是y=b+w1x1+w2x2y=b+w1x1+w2x2y=b+w1x1+w2x2,如果用Regression来想,我们希望蓝色的接近1,红色的接近-1,用绿色的线分开。但如果出现右图的情况,蓝色的点有的接近1,有的>>1,这是用Regression就出问题,会得到紫色的线,而不会得到绿色的线。因为要使>>1的蓝点压小,所以绿色的线一定向右侧倾斜。所原创 2020-07-22 16:35:56 · 552 阅读 · 0 评论 -
AI人工智能 / ML机器学习专业词汇集
目录Letter ALetter BLetter CLetter DLetter ELetter FLetter GLetter HLetter ILetter KLetter LLetter MLetter NLetter OLetter PLetter QLetter RLetter SLetter TLetter ULetter VLetter WLetter Z第二组Letter AAccumulated error backpropagation 累积误差逆传播Activation Func原创 2020-07-22 11:03:38 · 1703 阅读 · 0 评论 -
Python使用库读取数据
1.用Pandas库读取数据Pandas读取数据的方法有很多,这里就举一个最常用的方法read_csv。read_csv用来读取csv格式的数据文件,具体操作如下,需要注意的是在读取数据的代码中也是要插入文件路径的,如果要读取的文件保存在Python工作目录中就可以不用加路径,用’文件名.格式’就可以了。import pandas as pd # 导入Pandas库data = pd.read_csv('data.csv', names=['col1', 'col2', 'col3',原创 2020-07-16 15:25:31 · 1170 阅读 · 0 评论 -
机器学习之分类
什么是分类?另一种典型的有监督学习问题标签(模型预测值)????为离散值实际应用举例新闻主题分类:科技、教育、社会、体育?疾病诊断:根据病人肺部影像图片,诊断是否患 COVID-19 肺炎市场营销:根据顾客历史购买记录和行为偏好,预测用户是否喜欢新产品信用评估:根据客户历史信贷记录,预测贷款是否会违约如何做分类?线性回归:f(x)=wTx,y∈(−∞,+∞)f(x)=w^Tx,y\in(-\infin,+\infin)f(x)=wTx,y∈(−∞,+∞)二分类中,????∈{−1,1}原创 2020-07-14 10:50:15 · 246 阅读 · 0 评论 -
Feature Scaling(特征缩放)的一些方法和使用选择
(1)最大最小值归一化(min-max normalization):将数值范围缩放到 [0, 1] 区间里(2)均值归一化(mean normalization):将数值范围缩放到 [-1, 1] 区间里,且数据的均值变为0(3)标准化 / z值归一化(standardization / z-score normalization):将数值缩放到0附近,且数据的分布变为均值为0,标准差为1的标准正态分布(先减去均值来对特征进行 中心化 mean centering 处理,再除以标准差进行缩放)原创 2020-07-13 17:09:10 · 1671 阅读 · 0 评论 -
Gradient Descent(机器学习之梯度下降法)
目录Tip 1: Tuning your learning ratesLearning RateAdaptive Learning Rate (适应性学习率)AdaGrad算法AdaGradContradictionHow surprise it is?Tip 2:Stochastic Gradient Descent(随机梯度下降法)Tip 3:Feature Scaling(特征缩放)how to do?Theory(数学原理)QuestionFormal DerivationTaylor Serie原创 2020-07-13 16:55:31 · 748 阅读 · 0 评论 -
机器学习之方差与偏差(bias-variance)
目录问题背景原理偏差、方差与噪声的含义偏差与方差的冲突问题背景我们评价一个机器学习模型的好坏,通常是评价模型的泛化性能,而对泛化性能为什么高低缺乏一些了解。偏差-方差分解(bias-variance decomposition)就是解释学习算法泛化性能的一种重要工具。原理偏差、方差与噪声的含义偏差:度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力;方差:度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响;噪声:则表达了在当前任务上任何原创 2020-07-07 18:48:02 · 784 阅读 · 0 评论 -
数学式子中arg min,arg max的含义
arg 是变元(即自变量argument)的英文缩写。arg min 就是使后面这个式子达到最小值时的变量的取值arg max 就是使后面这个式子达到最大值时的变量的取值例如 函数F(x,y):arg min F(x,y)就是指当F(x,y)取得最小值时,变量x,y的取值arg max F(x,y)就是指当F(x,y)取得最大值时,变量x,y的取值...原创 2020-07-06 18:16:51 · 1108 阅读 · 0 评论 -
机器学习和传统编程有什么区别?✅
什么是机器学习? 有些人说人工智能和机器学习只不过是if语句,更有甚至说它们只是简单的统计数据。或者说机器学习只是一个描述数学+算法的新词, 这种简化看起来很有道理,但很明显,机器学习更加复杂一些。 简单地说,人工智能是一把伞,它涵盖了图像处理、认知科学、神经网络等其他领域的知识,机器学习也属于这一范畴。机器学习的核心思想是,计算机不仅使用预先编写的算法,而且学习如何解决问题本身。Arthur Samuel(他创造了ML这个词)给出了一个很好的定义: 机器学习是一个使计算机无需明确编程即可原创 2020-06-01 12:24:10 · 3713 阅读 · 0 评论 -
机器学习、深度学习需要哪些数学知识?✅
如果不是有太多自由时间,不要过度投入到数学上,或者说不要系统大量地学习,可以遇到不懂的再去学习相关数学知识。(本文部分摘自图灵的猫公众号 )微积分微积分是现代数学的基础,线性代数,矩阵论,概率论,信息论,最优化方法等数学课程都需要用到微积分的知识。单就机器学习和深度学习来说,更多用到的是微分。积分基本上只在概率论中被使用,概率密度函数,分布函数等概念和计算都要借助于积分来定义或计算。 几乎所有学习算法在训练或者预测时都是求解最优化问题,因此需要依赖于微积分来求解函数的极值,而模型中某些函数的选取原创 2020-06-01 12:06:42 · 1391 阅读 · 0 评论 -
机器学习从入门到进阶✅
作者:红色石头链接:https://www.zhihu.com/question/20691338/answer/446610161来源:知乎1. 放弃海量资料!没错,就是放弃海量资料!在我们想要入门机器学习的时候,往往会搜集很多资料,什么 xx学院机器学习内部资源、机器学习从入门到进阶百 G 资源、xx 人工智能教程,等等。很多时候我们拿着十几 G、几百 G 的学习资源,然后踏踏实实地放到了某云盘里存着,等着日后慢慢学习。殊不知,有 90% 的人仅仅只是搜集资料、保存资料而已,放在云盘里一.原创 2020-06-01 11:00:41 · 837 阅读 · 0 评论 -
人工智能、机器学习和深度学习的区别与认识
人工智能的浪潮正在席卷全球,诸多词汇时刻萦绕在我们耳边:人工智能(Artificial Intelligence)、机器学习(Machine Learning)、深度学习(Deep Learning)。不少人对这些高频词汇的含义及其背后的关系总是似懂非懂、一知半解。为了帮助大家更好地理解人工智能,这篇文章用最简单的语言解释了这些词汇的含义,理清它们之间的关系,希望对刚入门的同行有所帮助。图一 人工智能的应用人工智能:从概念提出到走向繁荣1956年,几个计算机科学家相聚在达特茅斯会议...原创 2020-05-30 22:32:55 · 715 阅读 · 0 评论