算法

算法 - 统计方法 - 数学公式

转换器

特征工程

# 1、实例化一个转换器类
transfer = PCA(n_components=0.95)# 2、调用fit_transform
data_new = transfer.fit_transform(data)
#fit()计算每一列的方差、平均值等固有特性;transform最终转换print("data_new:\n", data_new)

估计/预估器

机器学习算法的实现;所有算法的父类estimator

  • 用于分类的估计器:k-近邻、贝叶斯、逻辑回归、决策树与随机森林
  • 用于回归的估计器:线性回归、岭回归
  • 用于无监督学习的估计器:聚类

KNN算法

k-近邻算法:根据k个邻居来识别类别

优点:简单,易于理解,易于实现,无需训练

缺点:懒惰算法,计算量大,内存开销大

谁是邻居?距离公式(欧氏距离(差值平方和)、曼哈顿距离(绝对值距离)、明可夫斯基距离(前两者的特殊情况))

k值过大,容易受异常值影响;过小,容易受样本不均衡影响

解决:无量纲化(标准化)

场景:少量数据

sklearn.neighbors.KNeighborsClassifier(n_neighbors=5,algorithm='auto')n_neighbors:k值

__模型选择与调优

选择合适k值

交叉验证(求概率平均值):

  1. 训练集为除数据集a以外,让a为验证集
  2. 算出结果
  3. 遍历训练集中的数据集为a,循环1、2步,得出所有结果平均值

超参数搜索-网格搜索(暴力破解):

  1. 手动制定参数(如k值),这种叫超参数
  2. 每组超参数都用交叉验证来评估
  3. 选出最优参数组合建立模型

朴素贝叶斯算法

朴素:假定特征与特征之间相互独立、贝叶斯:公式

输出为概率最大的类别

优点:对缺失数据不太敏感,算法也比较简单,常用于文本分类;分类准确度高,速度快

缺点:由于使用了样本属性独立性的假设,所以如果特征属性有关联时其效果不好

场景:文本分类

  • 联合概率:是程序员且体型匀称的概率,例P(程序员, 匀称)

  • 条件概率:在女神喜欢的条件下是程序员的概率,例P(程序员|喜欢)

  • 相互独立:事件A与事件B相互独立 <==> P(A,B)=P(A)P(B)

贝叶斯公式:P(C|W)=P(W|C)P©/P(W)

拉普拉斯平滑系数:解决求概率分子或分母为0,

P(F1|C)=(Ni+a)/(N+am) 其中a一般为1,m训练文档统计出的特征词个数

决策树

以信息熵的最小化为目标,以信息论为基础

优点:可视化,可解释能力强

缺点:容易产生过拟合

《信息论》:香农将信息定义为“消除随机不定性的东西”

信息的衡量——信息量——信息熵H(X)=n个P(x)logbP(x)

找到最高效的决策顺序-信息增益g(x,A)(信息熵-条件熵):消除不确定信息量程度的大小

g(x,A)=H(x)-H(x|A) 其中A为条件

决策树划分依据

  • ID3信息增益 最大的准则
  • C4.5信息增益比 最大的准则
  • CART分类树:索尼系数 最小的准则 划分的更细致(优势)

随机森林

包含多个决策树的分类器;集成学习方法的一种

随机(训练集、特征随机)、森林(多个决策树)

优点:可以处理过拟合、能评估各个特征在分类问题上的重要性、可运行大数据集、在所有算法中具有搞准确率

集成学习方法:通过建立多个模型组合解决单一预测问题。多个模型各自学习和预测,结果拿众数

训练集随机:从N个样本中随机有放回的抽取N个

特征随机:从M个特征中抽取m个特征(降维)

场景:高纬度特征,大数据

线性回归

概念

自变量一次————线性关系

​ y = w1x1 + w2x2 + w3x3 + …… + wnxn + b

​ #其中w1为回归参数、x1为自变量或特征值、b为偏移量

参数一次————非线性关系

​ y = w1x1 + w2x1^2 + w3x1^3 + w4x2^3 + …… + b

线性模型不一定是线性关系(资料)

优化损失

损失函数/cost/成本函数/目标函数(最小二乘法):即真实关系与随即假定之间的差值

方法:正规方程、梯度下降

正规方程

LinearRegression:

​ 公式求解W=(XTX)-1XTy

梯度下降

SGDRegressor:不断试错、不断改进(迭代法)

  • 梯度下降GD:计算所有样本值,建模
  • 随机梯度下降SGD:迭代时只考虑一个训练样本
  • 随机平均梯度法SAG:对前者优化

性能评估

​ 均方误差:均方误差小,得出的结论就符合真实情况(区别正规方程和梯度下降哪个更准确)

__欠拟合

(模型过于简单):认不出鸟

​ 解决:增加数据、特征

__过拟合

(模型过于复杂):把会飞的鸟不认识是鸟

解决方法:L1正则化(LASSO)减少回归系数、L2正则化(岭回归Ridge)减小回归系数

LASSO

y=损失函数 + λ惩罚项

  • λ为惩罚系数
  • w为权重0.3(单个回归系数)
  • 惩罚项为|w²|的和;
  • 相当于减少了回归系数

Ridge

  • 惩罚项为|w²|的和;
  • 相当于减小了回归系数

岭回归

正则化(Ridge())

  • alpha正则化力度=惩罚项系数
  • 正则化系数越大,权重越小

逻辑回归

广告点击率 是否会被点击(正例 / 反例)

原理:线型回归的输出(y) 就是 逻辑回归 的 输入

激活函数(sigmoid函数):通过sigmoid函数将回归转化为概率,再通过是否>0.5,将其转化为分类

​ 1/(1 + e^(-x)) =====》

​ 1/(1 + e^(-(w1x1 + w2x2 + w3x3 + …… + wnxn + b)))

损失函数

对数似然函数

  • 线性回归的损失函数:(y_predict - y_true)平方和/总数
  • 逻辑回归的损失函数(真实值/预测值 是否属于某个类别):对数似然损失(区间方程)

优化损失:梯度下降

__模型评估

二分类: TP与TN都是分对了情况,TP是正类,TN是负类。FP是把错的分成了对的,而FN则是把对的分成了错的

错误率:错误样本数占样本总数的比例;精度=1-错误率

准确率。顾名思义,就是所有的预测正确(正类负类)的占总的比重。Accuracy=TP+TN/TP+TN+FP+FN

精确率(查准率): 正确预测为正的占全部预测为正的比例: Precision=TP/TP+FP

召回率(查全率):正确预测为正的占全部实际为正的比例;查准率=1/查全率 Recall =TP/TP+FN

F1值(H-mean值): 越大越好
2/F1=1/Precision+1/Recall2/F1=1/Precision+1/Recall 2/F1=1/Precision+1/Recall
ROC曲线:

AUC指标(解决样本不均衡、二分类视频):ROC曲线的面积比, AUC值越大的分类器,正确率越高; 判断分类器(预测模型)优劣的标准

代价敏感错误率、代价曲线:判断错误付出的代价大小

比较检验*(书)*:假设检验、交叉验证t检验、McNemar检验、Friedman检验与Nemenyi后续检验

偏差与方差

__模型保存和加载

保存已经训练的模型

joblib.dump(estimator,"*.pkl")
estimator=joblib.load("*.pkl")

K-means

聚类 K-means(K均值聚类):聚集k个分类
降维 PCA

优点:采用迭代易懂

缺点:容易收敛到局部最优解(三点在一个区域)(解决:多次聚类)

应用:聚类在分类之前

性能评估

达到“高内聚,低耦合”

轮廓系数(介于 [-1,1]):评判k的内聚程度(如果b_i>>a_i:趋近于1效果越好,b_i<<a_i:趋近于-1,效果不好。)

k近邻与k-means区别

K近邻的算法流程:(监督式)
① 确定计算点与各分类点的距离;
②选取K个距离最近的点
③选取K个点中,属于某一类点数最多的类作为归类点

K-means算法的流程:(无监督式)
①确定K个聚类中心
②针对某一个计算点,计算其与每个聚类中心的距离,选取距离最小聚类类别,将该点判为该聚类。
③利用均值重新计算该聚类的中心。返回新的聚类

机器学习最常用的算法相关推荐

  1. [机器学习笔记] 常用关联规则算法

    机器学习中常用关联规则算法 关联规则算法是一种基于规则的机器学习算法,该算法可以在大数据中发现彼此之间的关系. 它的目的是:利用一些度量指标来分辨数据库中存在的强规则.也即是说关联规则挖掘是用于知识发 ...

  2. 【机器学习】常用聚类算法 整理

    sparkML 常用聚类算法 http://spark.apache.org/docs/latest/mllib-clustering.html 如下为 机器学习聚类算法的理论知识: 在机器学习中,无 ...

  3. AI:人工智能概念之机器学习中常用算法的思维导图集合(非常经典、建议收藏)之详细攻略

    AI:人工智能概念之机器学习中常用算法的思维导图集合(非常经典.建议收藏)之详细攻略 目录 机器学习算法的思维导图集合 1.ML算法思维图 2.ML算法思维导图 相关文章:ML/DL:关于算法模型的选 ...

  4. Dataset:数据集集合(综合性)——机器学习、深度学习算法中常用数据集大集合(建议收藏,持续更新)

    Dataset:数据集集合(综合性)--机器学习.深度学习算法中常用数据集大集合(建议收藏,持续更新) 目录 常规数据集 各大方向分类数据集汇总 具体数据集分类 相关文章 DL:关于深度学习常用数据集 ...

  5. 机器学习中常用的优化算法:

    http://blog.csdn.net/losteng/article/details/50993911 有知识点和代码的实现过程. 机器学习中常用的优化算法: 1.梯度下降法 2.牛顿法和拟牛顿法 ...

  6. 机器学习中常用的分类算法总结

    分类算法 ​ 分类算法和回归算法是对真实世界不同建模的方法.分类模型是认为模型的输出是离散的,例如大自然的生物被划分为不同的种类,是离散的.回归模型的输出是连续的,例如人的身高变化过程是一个连续过程, ...

  7. 机器学习(二十二)——推荐算法中的常用排序算法, Tri-training

    推荐算法中的常用排序算法 Pointwise方法 Pranking (NIPS 2002), OAP-BPM (EMCL 2003), Ranking with Large Margin Princi ...

  8. 回归算法分类,常用回归算法解析

    回归算法分类,常用回归算法解析 回归是数学建模.分类和预测中最古老但功能非常强大的工具之一.回归在工程.物理学.生物学.金融.社会科学等各个领域都有应用,是数据科学家常用的基本工具. 回归通常是机器学 ...

  9. 基于Spark的机器学习实践 (九) - 聚类算法

    0 相关源码 1 k-平均算法(k-means clustering)概述 1.1 回顾无监督学习 ◆ 分类.回归都属于监督学习 ◆ 无监督学习是不需要用户去指定标签的 ◆ 而我们看到的分类.回归算法 ...

  10. louvian算法 缺点 优化_机器学习中的优化算法(1)-优化算法重要性,SGD,Momentum(附Python示例)...

    本系列文章已转至 机器学习的优化器​zhuanlan.zhihu.com 优化算法在机器学习中扮演着至关重要的角色,了解常用的优化算法对于机器学习爱好者和从业者有着重要的意义. 这系列文章先讲述优化算 ...

最新文章

  1. Python 的基本数据类型
  2. Prism V2之旅(1)
  3. docker对数据卷进行还原操作
  4. IP地址与网络上的其他系统有冲突
  5. PHP中判断字符串是否全是中文eregi函数或含有中文preg_match函数
  6. golang 数组 切片 下标范围
  7. SAP Spartacus Enable the unit to allow editing 的信息提示框实现
  8. java dumpstack_Java获取执行进程的dump文件及获取Java stack
  9. BAT技术大牛推荐:看懂英文文档,每天只需要10分钟做这件事……
  10. php抽象类的构造函数,抽象类的构造函数
  11. adafruit1306_Adafruit的2015年最佳开源可穿戴设备
  12. 最大回撤,最大回撤恢复时间与最大回撤持续期
  13. RabbitMQ + ELK 搭建日志平台
  14. LuaForUnity6:Lua模块
  15. 题解 P1894 【[USACO4.2]完美的牛栏The Perfect Stall】
  16. c语言 switch case 字符串,C++ switch case详解
  17. 计算机地图制图的优势,计算机地图制图
  18. 漫话NFT——NFT的应用场景
  19. Maya Python 第七章 使用Maya命令创建基本工具 7.1-7.3
  20. 百度搜索结果显示“我喜欢”按钮

热门文章

  1. 超级SIM卡 SEID号读取 手机NFC门禁刷卡模块方案
  2. excel使用教程_Office办公软件(word、ppt、excel)视频教程(更新)
  3. wordpress电商独立站模板
  4. 关于AD9各种布线总结(很详细)
  5. php编程常用英语词汇,泰牛程序员 PHP编程掌握的英语词汇(3) 韩顺平整理
  6. e580显卡驱动_联想e580网卡驱动下载|联想e580无线网卡驱动官方版_ - 极光下载站...
  7. 推荐4个爬虫抓包神器
  8. STM32F103学习笔记(7)——ISP串口下载程序
  9. 安装WIN 7 64位Windows6.1-KB2999226-x64.msu
  10. appium 学习教程