机器学习及其算法

一.机器学习的定义:

为解决任务T,设计一段程序,从经验E中学习,达到性能度量值P,当且仅当有了经验E后,经过P评判,程序在处理T时的性能得到提升.

二.机器学习的分类:

1.有监督学习:

即训练样本包含对应的标签,比如生存与否,即为标签.
有监督学习又分为分类问题和回归问题:
①分类问题:
样本标签属于离散变量,比如判断是否为空值,答案仅有是或否两个可数选项,即为离散变量.
分类问题又分为生成问题和判别问题:
a.生成问题:即求联合概率分布(假设有随机变量X,Y,此时P(x=a and Y=b)用于表示X=a且Y=b的概率)
b.判别问题:即求条件概率和贝叶斯概率
贝叶斯概率:
贝叶斯概率公式
②回归问题:
样本标签属于连续变量,比如预测某商店的日销售额,中间的可预测值有无数个,即为连续变量.

2.无监督学习:

样本中不包含任何标签,又分为聚类和降维
①聚类:
用户分群,如朋友分组(社交软件).
②降维:
维度越多,越能帮助判断,但过多会干扰判断,造成判断速度和准确度下降.

三.机器学习的步骤:

1.特征表示
2.选择模型(分类,回归,聚类…)
3.训练模型
4.评估模型

四.机器学习方法的三要素:

1.模型:

即概率分布和决策函数,所有可能的条件概率分布或决策函数构成的集合即为模型的假设空间(hypothesis space)

2.策略:

从假设空间中学习最优模型的方法,其中衡量模型好坏的指标为:损失函数(loss function),风险函数(cost function)
损失函数包括:0-1损失函数,平方损失函数,绝对损失函数,对数损失函数.
指标
指标
指标公式

3.算法:

指学习模型时的具体计算方式,求解最优模型归结为一个最优化问题.统计学习的算法等价于求解最优化问题的算法,也就是求解析解或数值解.

五.机器学习原理:

包括模型评估和模型选择
1.线性回归(Linear Regression)
2.逻辑回归(Logistic Regression)
3.支持向量机(SVM)
4.决策树(Decision Tree)
5.集成学习
- begging 随即森林(Random Forest)
- bossting Adaboost GBDT XGBOOST

1.线性回归:

单变量线性回归
最小二乘和梯度下降
多变量线性回归
多变量多项式回归
线性回归中:
m 代表训练集中实例的数量
x 代表特征/输入变量
y 代表目标变量/输出变量
(x,y) 代表训练集中的实例
(xi,yi) 代表第i个观察实例
h 代表学习算法的解决方案或函数也称为假设(hypothesis)
假设有模型:
在这里插入图片描述
模型
则衡量函数该模型是否准确的参数为:损失函数,误差
在这里插入图片描述
损失函数模型解释
图中黑线为假设函数,×为真实数据,函数和真实值之间的蓝线即为误差
损失函数:
在这里插入图片描述
损失函数
之后,便可得出损失函数的模型:如
在这里插入图片描述
损失函数模型
图中最低的点,即为我们要找的点,在找这个点的方法中,有时会用一种算法:梯度下降算法

六.梯度下降算法

是一种用来求函数最小值的算法
1.其思想为:
随机选择一个参数的组合
在这里插入图片描述
计算代价函数
寻找下一个能让代价函数值最低的参数组合
持续执行直到找出一个局部最小值
此算法有一个缺点为:因不能尝试所有的参数组合,所以不能确定我们找到的局部最小值是否为全局最小值.
2.梯度的含义:
在单变量的函数中, 梯度其实就是函数的微分,代表着函数在某给定点的切线斜率
在多变量函数中,梯度是函数对每个变量的偏微分组成的向量,梯度的方向就是这个向量的方向,它是函数在给定点的上升(下降)最快的方向.
在这里插入图片描述
梯度
3.运用梯度下降法,关键在于求出代价函数的导数,即:
在这里插入图片描述
当J=0时,
在这里插入图片描述
当J=1时,
在这里插入图片描述
此处的J=0和J=1,是求最小值的两个维度,表现为损失函数模型中的θ0,θ1方向的两个维度
在重复迭代的过程中,
在这里插入图片描述
此公式需要循环执行直至收敛(极值达稳定状态)
4.梯度下降算法中,包含三种基本方式:
①.批量梯度下降(Batch Gradient Descent):
在这里插入图片描述
在这里插入图片描述
指的是在梯度下降的每一步中,我们都用到了所有的训练样本,在梯度下降中,在计算微分时,我们需要进行求和运算,因此得名
②.随机梯度下降(Stochastic Gradient Descent):
在这里插入图片描述
和批量梯度下降是两个极端,批量梯度下降每次采用所有数据来梯度下降,随机梯度下降则每次用一个样本来梯度下降.
对于训练速度来说,随机梯度下降法由于每次仅仅采用一个样本来迭代,训练速度很快,而批量梯度下降在样本量很大的时候,训练速度不能让人满意.
对于准确度来说,随机梯度下降法每次训练仅仅用一个样本决定梯度方向,可能得到局部最小值.
对于收敛速度来说,由于随机梯度下降法一次迭代一个样本,导致迭代方向变化很大,不能很快的收敛到局部最优解.
③.小批量梯度下降(Mini Batch Gradient Descent):
在这里插入图片描述
MBGD称为小批量梯度下降,每次迭代使用一个以上又不是全部的样本
优点:使用多个样本相比SGD提高了梯度估计的精度,小批量的估计,相当于在学习过程中加入了噪声,会有一些正则化的效果
缺点:同SGD一样,每次梯度估计的方向不确定,可能需要很长时间接近最小值点,不会收敛通常在使用MBGD之前先将数据集随机打乱,然后再划分Mini-batch,所以MBGD有时也称为SGD
Mini-batch 大小的选择通常使用2的幂数,可以获得更少的运行时间
遍历完所有数据,称为一个epoch,通常需要遍历几遍epoch才行
在这里插入图片描述

其余部分,我们下次再一起来分析,刚入行小白,哪里有错误还请大神不吝赐教哟!~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值