IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 第二章:机器学习基础 -> 正文阅读

[人工智能]第二章:机器学习基础

1 导论

机器学习的一个重要的目标就是利用数学模型来理解数据,发现数据中的规律,用作数据的分析和预测。

根据数据是否有因变量,机器学习的任务可分为:有监督学习和无监督学习

根据因变量的是否连续,有监督学习又分为回归和分类

# 引入相关科学计算包
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
%matplotlib inline 
plt.style.use("ggplot")      
import seaborn as sns

1.1 回归

例子:使用sklearn内置数据集Boston房价数据集

from sklearn import datasets
boston = datasets.load_boston()     # 返回一个类似于字典的类
X = boston.data
y = boston.target
features = boston.feature_names
boston_data = pd.DataFrame(X,columns=features)
boston_data["Price"] = y
boston_data.head()
sns.scatterplot(boston_data['NOX'],boston_data['Price'],color="r",alpha=0.6)
plt.title("Price~NOX")
plt.show()

1.2 分类

from sklearn import datasets
iris = datasets.load_iris()
X = iris.data
y = iris.target
features = iris.feature_names
iris_data = pd.DataFrame(X,columns=features)
iris_data['target'] = y
iris_data.head()
# 可视化特征
marker = ['s','x','o']
for index,c in enumerate(np.unique(y)):
    plt.scatter(x=iris_data.loc[y==c,"sepal length (cm)"],y=iris_data.loc[y==c,"sepal width (cm)"],alpha=0.8,label=c,marker=marker[c])
plt.xlabel("sepal length (cm)")
plt.ylabel("sepal width (cm)")
plt.legend()
plt.show()

1.3 无监督学习

# 生成月牙型非凸集
from sklearn import datasets
x, y = datasets.make_moons(n_samples=2000, shuffle=True,
                  noise=0.05, random_state=None)
for index,c in enumerate(np.unique(y)):
    plt.scatter(x[y==c,0],x[y==c,1],s=7)
plt.show()
# 生成符合正态分布的聚类数据
from sklearn import datasets
x, y = datasets.make_blobs(n_samples=5000, n_features=2, centers=3)
for index,c in enumerate(np.unique(y)):
    plt.scatter(x[y==c, 0], x[y==c, 1],s=7)
plt.show()

2 使用sklearn构建完整的机器学习项目流程

一般来说,一个完整的机器学习项目分为以下步骤:

明确项目任务:回归/分类
收集数据集并选择合适的特征。
选择度量模型性能的指标。
选择具体的模型并进行训练以优化模型。
评估模型的性能并调参。

2.1 使用sklearn构建完整的回归项目

(1)收集数据集并选择合适的特征

from sklearn import datasets
boston = datasets.load_boston()     # 返回一个类似于字典的类
X = boston.data
y = boston.target
features = boston.feature_names
boston_data = pd.DataFrame(X,columns=features)
boston_data["Price"] = y
boston_data.head()

(2)选择度量模型性能的指标

MSE均方误差

MAE平均绝对误差

R2决定系数

解释方差得分

(3)选择具体的模型并进行训练

线性回归模型

(a) 最小二乘估计:衡量真实值𝑦𝑖yi与线性回归模型的预测值𝑤𝑇𝑥𝑖wTxi之间的差距,在这里我们和使用二范数的平方和L(w)来描述这种差距

\omega =(X^{T}X)^{-1}X^{T}Y

(b) 几何解释:X^{T}(Y-X\omega )=0

(c) 概率视角:线性回归的最小二乘估计<==>噪声?\varepsilon \sim N(0,\sigma ^{2})的极大似然估计

使用sklearn的线性回归实例来演示

from sklearn import linear_model      # 引入线性回归方法
lin_reg = linear_model.LinearRegression()       # 创建线性回归的类
lin_reg.fit(X,y)        # 输入特征X和因变量y进行训练
print("模型系数:",lin_reg.coef_)             # 输出模型的系数
print("模型得分:",lin_reg.score(X,y))    # 输出模型的决定系数R^2

线性回归推广

(a) 多项式回归:体现因变量和特征的非线性关系

(b) 广义可加模型(GAM):每一个变量都用一个非线性函数来代替,但是模型本身保持整体可加性。

回归树

依据分层和分割的方式将特征空间划分为一系列简单的区域。对某个给定的待预测的自变量,用他所属区域中训练集的平均数或者众数对其进行预测。

支持向量机回归(SVR)

约束优化问题(P)

KKT条件(最优解的一阶必要条件)

对偶理论:任何一个原问题在变成对偶问题后都会变成一个凸优化的问题

SVR认为:落在𝑓(𝑥)f(x)的𝜖?邻域空间中的样本点不需要计算损失,这些都是预测正确的,其余的落在𝜖?邻域空间以外的样本才需要计算损失。

作业

(1)请详细阐述线性回归模型的最大二乘法表达

(2)在线性回归模型中,极大似然估计与最小二乘估计有什么联系与区别

(3)为什么多项式回归在实际问题中的表现经常不是很好?

(4)决策树模型与线性模型之间的联系与区别

(5)什么是KKT条件?

(6)为什么要引入原问题的对偶问题?

(7)使用机器学习数学基础所学的内容,找到一个具体的数据集,使用线性回归模型拟合模型。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-16 11:17:35  更:2021-07-16 11:19:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/22 10:26:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码