机器学习笔记

1、线性回归

(1)基本原理
利用数理统计中回归分析,来确定两个或多个变量间关系的一种统计方法,是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。
回归分析中,如果只包括一个自变量和一个因变量,并且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
(2)线性回归损失函数、代价函数、目标函数
损失函数(Loss Function )是定义在单个样本上的,算的是一个样本的误差。

在这里插入图片描述
代价函数(Cost Function )是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。
在这里插入图片描述
目标函数(Object Function)定义为:最终需要优化的函数。
在这里插入图片描述
(3)优化方法
①最小二乘法
import numpy as np
import matplotlib.pyplot as plt
def function(x,y):
m = len(x) # m代表样本数量
fenmu = 0 # 初始化分母
fenzi = 0 # 初始化分子
for i in range(0,m):
fenzi=fenzi+(x[i]-np.mean(x))(y[i]-np.mean(y))
fenmu=fenmu+(x[i]-np.mean(x))**2
print(“fenmu=”,fenmu)
print(“fenzi=”,fenzi)
a=fenzi/float(fenmu)#斜率
b=np.mean(y)-a
np.mean(x)#截距
return a,b
def predict(x,a,b):
return b+ax
x=[2,4,2,3,6]#测试数据
y=[16,24,18,20,30]
a,b=function(x,y)
print(a,b)
x_p=5
y_p=predict(x_p,a,b)#预测
print(“y_p”,y_p)
plt.figure(figsize=(10,8))#画出对应的线性回归函数
plt.scatter(x,y,label=“sample”,color=‘r’)
for i in range(len(x)):
y[i]=a
x[i]+b
plt.plot(x,y,color=‘b’)
plt.legend()
plt.show()
②梯度下降法
(4)
a、对于多个特征
有:
在这里插入图片描述
这里的α代表的是learning rate(学习率),相当于走的一小步的距离,控制我们以多大的幅度更新参数θ。在我们逐渐接近最低点时,我移动的步幅会越来越小,这是因为当我们接近局部最低点时导数值会自动地变得越来越小,最终变成零。在实际过程中,可以取learning rate为0.001;0.003; 0.01; 0.03; 0.1; 0.3;1来进行尝试。
b、对于单个特征
当单个特征值时,上式中j表示系数(权重)的编号,右边的值赋值给左边θj从而完成一次迭代。
①初始点不同,获得的最小值也不同,因此梯度下降求得的只是局部最小值;
②越接近最小值时,下降速度越慢;
③计算批梯度下降算法时,计算每一个θ值都需要遍历计算所有样本,当数据量多的时候这是比较费时的计算。
步骤可归纳为:
(1)先确定学习率 ;
(2)任意给定一个初始值:θ向量,一般为0向量;
(3)确定一个向下的方向,并向下走预先规定的步伐,并更新θ向量;
(4)当下降的高度小于某个定义的值,则停止下降。

2、逻辑回归

(1)基本原理
首先需要找一个合适的预测函数,一般表示为h函数,该函数就是我们需要找的分类函数,它用来预测输入数据的判断结果。
其次构造一个Cost函数(损失函数),该函数表示预测的输出(h)与训练数据类别(y)之间的偏差,可以是二者之间的差或是其他的形式。综合考虑所有训练数据的“损失”,将Cost求和或者求平均,记为J(θ)函数,表示所有训练数据预测值与实际类别的偏差。
J(θ)函数的值越小表示预测函数越准确(即h函数越准确),所以我们需要找到J(θ)函数的最小值。逻辑回归中用梯度下降法实现。
(2)具体过程
①构造预测函数
逻辑回归实际上是一种分类方法,用于两分类问题(即输出只有两种)。该函数的输出必须是两个值(分别代表两个类别)。所以利用了Logistic函数(或称为Sigmoid函数),函数形式为:
在这里插入图片描述
接下来需要确定数据划分的边界类型;

在这里插入图片描述
②梯度下降法求J(θ)的最小值
在这里插入图片描述
在这里插入图片描述
③梯度下降过程向量化
在这里插入图片描述
在这里插入图片描述
综上所述,vectorization后θ更新的步骤如下:
(1)求A=x.θ;
(2)求E=g(A)-y;
(3)求θ:=θ-α.x’.E,x’表示矩阵x的转置。

在这里插入图片描述

**3、决策树

(1)基本原理**
决策树模型是一个分类与回归方法,是一个概率模型和判别模型。决策树可以理解为后验概率函数P(Y|X),通过特征X求取得类别Y得概率,一般Y的取值是特征向量X给定后的记录中的多数类(极大似然估计),所以说决策树模型是一个概率模型。
决策树的基本思想是从训练集归纳出一组树的内部结点(internal node,包括根节点)进行划分,叶结点(leaf node)为最终分类结果。
叶结点代表的类别就是最终分类结果,所以决策树算法就是if-then规则的集合,该集合每一个实例都被一条路径所覆盖。
(2)模型
决策树模型包括特征选择,决策树生成和决策树剪枝,常见的算法有ID3、C4.5、CART回归树、CART分类树。其最关键问题是最优特征的选取方法,ID3利用信息增益最大、C4.5利用信息增益比最大、CART回归树利用平方误差最小、CART分类树利用基尼指数最小,CART回归树和CART分类树还需要额外选择特征的最优值。
(3)特征选择
特征选择在于选取对分类有帮助的特征,基本方法有信息增益和信息增益比两种方法。
首先:
在这里插入图片描述
对数函数可以以2为底,此时熵的单位是比特(bit),也可以以自然对数e为底,此时熵的单位是纳特(nat)。
条件熵H(Y∣X)H(Y∣X) H(Y|X)H(Y∣X)表示在随机变量X已知时随机变量Y的不确定性。
①信息增益
在这里插入图片描述
②信息增益比
存在偏向于选择取值较多的特征的问题。
在这里插入图片描述
m是特征A取值的个数。相当于给信息增益乘上一个惩罚参数。特征个数较多时,惩罚参数较小;特征个数较少时,惩罚参数较大。
(4)ID3决策树生成算法
基本思路就是自根节点开始,对当前剩余的特征比较信息增益,选择信息增益最大的字段分割当前结点(决策数的生成过程也是训练集数据随结点的生成被切分到子结点的过程,因此对每个结点的数据都可以计算熵H(D)),直到所有字段全部用完或者信息增益小于阈值或者当前结点的所有数据都是同一个类别的数据,此时的结点记为叶节点,叶节点中剩余数据的多数类记为叶节点的最终分类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值