
机器学习
文章平均质量分 71
Better-1
这个作者很懒,什么都没留下…
展开
-
集成学习、AdaBoost、GBDT
AdaBoost是通过组合一系列弱分类器来得到强分类器的算法:首先, AdaBoost的两个关键,增大分类错误样本的权重,降低上一轮分类正确的样本的权重; 集成的时候采用加权多数表决,分类误差率小的模型权重大。----通过加入新的分类器,分类器错误数目越少,分类器所占的权重越高; 增加分类错误的样本的权重。1、初始化模型参数,刚开始可以是wi = 1/ N (N是训练数据的数目)2、计算模型G(x)在训练数据集上的分类误差率。em = wi * (G(xi) ≠Yi) ,也就是分错的乘以样本对应的权原创 2021-02-08 21:38:28 · 276 阅读 · 0 评论 -
机器学习L1、L2正则
定义L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)作用L1正则化可以产生 稀疏权值 矩阵,即产生一个稀疏模型,可以用于特征选择L2正则化可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合上面提到L1正则化有助于生成一个稀疏权值矩阵,进而可以用于特征选择。为什么要生成一个稀疏矩阵?稀疏矩阵指的是原创 2021-02-08 18:12:30 · 217 阅读 · 1 评论 -
机器学习--最大熵模型
最大熵模型指出,在预测一个样本或者一个事件的概率分布时,首先应当满足所有的约束条件,进而对未知的情况不做任何的主观假设。在这种情况下,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大。...转载 2021-02-02 14:44:38 · 509 阅读 · 0 评论 -
如何做特征工程?
原创 2021-01-22 16:44:27 · 239 阅读 · 0 评论 -
生成式模型和判别式模型、HMM
根据训练数据得到分类函数和分界面,比如说根据SVM模型得到一个分界面,然后直接计算条件概率判别式模型计算的是P(y|x)的最大概率作为分类–判别式模型是对条件概率建模,学习不同类别之间的最优边界,无法反映训练数据本身的特性,能力有限,其只能告诉我们分类的类别。生成式模型计算的是P(x,y)作为联合概率作为分类。因为P(x,y) = P(x|y) * P(y) :比如说类别标签有{猫,狗,猪},那首先根据猫的特征学习出一个猫的模型,再根据狗的特征学习出狗的模型,之后分别计算新样本 跟三个类别的联合..原创 2021-01-17 16:59:30 · 1297 阅读 · 1 评论 -
朴素贝叶斯
在已知X的各属性的情况下求所属的类别Y–假设有Y1、Y2两类,那么就求分别在Y1的情况下,属性是X的选择属性的概率,同理,然后比较Y1和Y2下,概率的大小。选择概率大的。—各个属性 P(a1,a2,a3|Y) = P(a1|Y) * P(a2|Y) * P(a3|Y)假设各个特征属性是条件独立的。朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。关键就是如何计算第3步中的各个条件概率:1、找到一个已知分类的待分类项集合原创 2021-01-16 19:39:59 · 136 阅读 · 0 评论 -
高斯混合模型GMM
单维高斯分布:多维高斯分布:高斯混合模型:对于单高斯模型,求解对应的均值方差可以直接使用极大似然估计,对于混合高斯,由于各个子模型的权重,均值方差都不知道,使用极大似然后求导无法计算。所以使用迭代–EM算法:这里的隐变量是各个样本来自哪个分模型 == 计算男女各自的分布函数,但是不知道样本来自男或女,如果知道直接分开样本求即可。这里就是我们的隐变量。...原创 2021-01-15 14:55:55 · 239 阅读 · 0 评论 -
EM算法和极大似然
参考–写的很好极大似然估计极大似然估计你可以把它看作是一个反推。多数情况下我们是根据已知条件来推算结果,而极大似然估计是已经知道了结果,然后寻求使该结果出现的可能性极大的条件,以此作为估计值。假如一个学校的学生男女比例为 9:1 (条件),那么你可以推出,你在这个学校里更大可能性遇到的是男生 (结果);假如你不知道那女比例,你走在路上,碰到100个人,发现男生就有90个 (结果),这时候你可以推断这个学校的男女比例更有可能为 9:1 (条件),这就是极大似然估计。理论:已知某个随机样本满足某种概率原创 2021-01-15 11:14:33 · 521 阅读 · 0 评论 -
K均值聚类
K均值聚类的基本思想就是通过迭代找到K个簇的一种划分方案,使得聚类结果对应的代价函数最小,特别地,代价函数定义为各个样本距离所属的簇中心点的误差平方和。这里的代价函数是各个点离所属类别 的中心点的距离。缺点:容易受到初始值和离群点的影响—所以需要预处理。K均值算法的调优:1、数据归一化,离群点处理–因此需要预处理为什么需要归一化:如果不进行归一化,那么均值和方差大的维度将对数据的聚类结果产生决定性的影响。没有统一单位和归一化处理的数据无法进行聚类。2、合理选择K值,尝试不同的K值,然后画出曲线,原创 2021-01-14 22:23:43 · 2046 阅读 · 0 评论 -
降维:主成分分析PCA以及Fisher线性判别(LDA)要点
PCA的作用就是在降维,PCA降维的目的:对原始数据进行特征提取,对于处于高维特征的向量,**内部存在很多冗余噪声**,通过**降维来获取数据内部的特性**,从而**提升特征表达能力**,**降低训练复杂度**。因为信号的方差越大越好,说明蕴含了越多的信息。我们想降维,如果是三维转二维,那么就是要用二维中的一根轴去表示三维的信息,使得所有的样本点在轴上的投影方差越大越好。目的----最大化投影方差,使得数据在主轴上的投影的方差最大。步骤:1、首先去中心化–中心化的意义是后面投影之后的均值是0,方便原创 2021-01-12 15:28:43 · 2714 阅读 · 2 评论 -
ROC曲线、PR曲线--MAP指标总结
作用:评价分类的指标,经常作为二值分类器的重要指标之一。横坐标假阳性率:FPR = FP/N,纵坐标真阳性率:TPR=TP/P。都是对正样本进行的,FP指的是N个负样本中被预测为正样本的数目;TP是P个正样本中被预测为正样本的数目。所以其实,预测为正样本的数目等于 TP + FPTP(True Positive) FP(False Positive)ROC曲线的绘制就是通过不断移动分类器的"截断点"来生产曲线上的一组关键点。从最高得分开始,逐渐调整得到最低得分,每一个截断点对应一个TPR和FP原创 2021-01-11 20:22:40 · 627 阅读 · 0 评论 -
决策树及代码实现
“信息熵”(information entropy)是度量样本集合纯度的一种常用指标。商越小代表纯度越高。商越大越混乱。熵的计算公式:其中为集合中第K类属性所占样本的比例。Ent(D)的值越小,则D的纯度越高信息增益开始的ID3算法就是根据信息增益来进行分类的。通过不断得到信息增益最大的特征作为分类的依据,不断划分。代码的实现与公式一致,不断拿信息增益最大的特征进行分类,直到分类结束–特征使用完毕。代码实现:# -*- coding: utf-8 -*-"""Created on Th原创 2021-01-08 09:29:02 · 503 阅读 · 0 评论 -
完全背包问题
322. 零钱兑换给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。你可以认为每种硬币的数量是无限的。示例 1:输入:coins = [1, 2, 5], amount = 11输出:3解释:11 = 5 + 5 + 1示例 2:输入:coins = [2], amount = 3输出:-1class Solution: def coinChange(self, co原创 2021-01-07 11:47:40 · 133 阅读 · 0 评论 -
逻辑回归(logistic regression)以及梯度下降面试总结
这篇博文写的太好了–原创 2021-01-06 21:48:10 · 978 阅读 · 0 评论 -
机器学习面经---SVM
svm与与感知器的联系和优缺点比较感知机学习算法会因采用的初值不同而得到不同的超平面。而SVM试图寻找一个最佳的超平面来划分数据。感知机简单求解快速,但是无法解决非线性分类问题,svm可以通过引入核技巧来实现非线性分类但是计算复杂度相对于感知机要高。理解SVM目标函数的由来;理解SVM中核技巧的使用;将目标函数转化成对偶问题的推导(软间隔、硬间隔);为什么要转换成对偶问题求解,求解的权重个数(一系列相关的细节问题);多个角度解释逻辑回归与SVM之间的关系目标函数:最小化函数间隔将目标函数转化为对偶函原创 2020-12-07 12:09:59 · 829 阅读 · 0 评论 -
机器学习-感知机
注意,感知机不能表示异或。—其实不光感知机无法处理异或问题,所有的线性分类模型都无法处理异或分类问题。无法找到一条直线将两类结果分开。即感知机无法找到一个线性模型对异或问题进行划分。其实不光感知机无法处理异或问题,所有的线性分类模型都无法处理异或分类问题。...转载 2020-12-07 10:56:51 · 109 阅读 · 0 评论 -
SVM笔记
红框标注的就是支持向量,直接求分类间隔两边的点与分类线的垂直距离。#Import Libraryfrom sklearn import svm#Assumed you have, X (predictor) and Y (target) for training data set and x_test(predictor) of test_dataset# Create SVM classification object model = svm.svc(kernel='linear', c=1原创 2020-11-18 09:49:47 · 170 阅读 · 0 评论