人工智能基础课堂纪要5

1.9 k近邻算法总结[**]

优点:

1.简单有效

2.重新训练代价低

3.适合类域交叉样本

4.适合大样本自动分类

缺点:

1.惰性学习

2.类别评分不是规格化

3.输出可解释性不强

4.对不均衡的样本不擅长

样本不均衡:收集到的数据每个类别占比严重失衡

5.计算量较大

1.10 交叉验证和网格搜索[****]

1.交叉验证

1.定义:

将拿到的训练数据,分为训练和验证集

*折交叉验证

2.分割方式:

训练集:训练集+验证集

测试集:测试集

3.为什么需要交叉验证

为了让被评估的模型更加准确可信

注意:交叉验证不能提高模型的准确率

2.网格搜索

超参数:

sklearn中,需要手动指定的参数,叫做超参数

网格搜索就是把这些超参数的值,通过字典的形式传递进去,然后进行选择最优值

3.api:

sklearn.model_selection.GridSearchCV(estimator, param_grid=None,cv=None)

estimator -- 选择了哪个训练模型

param_grid -- 需要传递的超参数

cv -- 几折交叉验证

1.11 案例2:预测facebook签到位置[***]

# 1、获取数据集

# 2.基本数据处理

# 2.1 缩小数据范围

# 2.2 选择时间特征

# 2.3 去掉签到较少的地方

# 2.4 确定特征值和目标值

# 2.5 分割数据集

# 3.特征工程--特征预处理(标准化)

# 4.机器学习--knn+cv

# 5.模型评估

2. 线性回归

2.1 线性回归简介

1.定义

利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式

2.表示方式:

h(w) = w1x1 + w2x2 + w3x3 + ... + b

= W转置x + b

3.分类

线性关系

非线性关系

2.2 线性回归api初步使用

1.api

sklearn.linear_model.LinearRegression()

属性:

LinearRegression.coef_:回归系数

2.4 线性回归的损失和优化[****]

1.损失

最小二乘法

2.优化

正规方程

梯度下降法

3.正规方程 -- 一蹴而就

利用矩阵的逆,转置进行一步求解

只是适合样本和特征比较少的情况

4.梯度下降法 -- 循序渐进

举例:

山  -- 可微分的函数

山底 -- 函数的最小值

梯度的概念

单变量 -- 切线

多变量 -- 向量

梯度下降法中关注的两个参数

α  -- 就是步长

步长太小 -- 下山太慢

步长太大 -- 容易跳过极小值点(*****)

为什么梯度要加一个负号

梯度方向是上升最快方向,负号就是下降最快方向

5.梯度下降法和正规方程对比:

梯度下降                 正规方程

需要选择学习率          不需要

需要迭代求解            一次运算得出

特征数量较大可以使用     需要计算方程,时间复杂度高O(n3)

6.选择:

小规模数据:

LinearRegression(不能解决拟合问题)

岭回归

大规模数据:

SGDRegressor

2.5 梯度下降法介绍[###]

1 全梯度下降算法(FG)

在进行计算的时候,计算所有样本的误差平均值,作为我的目标函数

2 随机梯度下降算法(SG)

每次只选择一个样本进行考核

3 小批量梯度下降算法(mini-bantch)

选择一部分样本进行考核

4 随机平均梯度下降算法(SAG)

会给每个样本都维持一个平均值,后期计算的时候,参考这个平均值

2.6 api

正规方程

sklearn.linear_model.LinearRegression(fit_intercept=True)

梯度下降法

2.7 案例[**]

# 1.获取数据

# 2.数据基本处理

# 2.1 数据集划分

# 3.特征工程 --标准化

# 4.机器学习(线性回归)

# 5.模型评估

(0)

相关推荐