《统计学习方法》笔记一

本文详细介绍了统计学习方法,包括监督学习、统计学习三要素、损失函数和结构风险。重点讲解了感知机的学习算法、KNN的距离度量与kd树以及朴素贝叶斯的条件独立假设。通过对这些基础算法的理解,有助于提升数据预测和分类能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

统计学习对象

统计学习对象是数据,从数据出发,提取出特征,抽象出数据模型,发现数据知识,用于对回溯的分析和预测中

统计学习方法
  • 获取新年数据集合
  • 确定所有可能包含模型的假设空间,即学习模型的集合(模型)
  • 确定模型选择准则(策略)
  • 实现最优求解模型的算法(算法)
  • 选择最优模型
  • 利用最优模型分析预测新数据
监督学习

每一个输入实例由一个输入向量表示
这里写图片描述

  • 回归:输入输出变量均为连续值
  • 分类:输出变量为有限哥离散值
  • 标注:输入输出变量均为变量序列

统计学习基本假设:训练数据与测试数据独立同分布

统计学习三要素:模型,策略,算法

常见损失函数

这里写图片描述

期望损失

这里写图片描述

经验损失

这里写图片描述

由大数定律,样本增加,经验损失趋近(依概率收敛)于期望损失

结构风险(奥卡姆剃刀原则)
  • 经验风险小的模型在小数据集上容易过拟合,结构风险最小化等价于正则化
  • 结构风险在经验风险的基础上增加增加模型复杂度正则化项(罚项)

这里写图片描述
这里写图片描述

训练误差与测试误差

这里写图片描述

  • 泛化能力:对未知样本的预测能力
  • 泛化误差:本质是模型的期望风险
生成模型与判别模型

这里写图片描述

判别模型是数据得出决策函数f(x)或者条件概率分布P(Y/X)作为预测的模型

分类指标

这里写图片描述

感知机:

二分线性分类,判别模型,误分类驱动,随机梯度下降优化

感知机函数

这里写图片描述

感知机损失函数

损失函数:误分类点集到超平面的距离和
这里写图片描述

感知机损失函数

这里写图片描述

感知机学习算法

这里写图片描述

感知机学习对偶形式

对偶思想:将W,b表示为实例x,y的线性组合,通过求解系数求出W,b

这里写图片描述
这里写图片描述

COMMNETRS

这里写图片描述

KNN

基于实例的学习,消极学习,记忆已有点特征

距离度量方式

这里写图片描述

算法

这里写图片描述

  • k值选择:过小分类效果不佳,过大容易过拟合,交叉验证选择K
  • 分裂决策:多数表决规则(本质经验风险最小化)

kd树

k维超空间地柜划分,每次选取一个特征的中位数在该特征维度上切分,递归切分至子区域无实例,得到平衡KD树

kd树构造

这里写图片描述
这里写图片描述

kd树搜索,从根开始自顶向下搜索目标节点,找到目标节点之后,反向向上查找紧邻点至根节点

COMMENTS

这里写图片描述

KNN简易实现
from math import sqrt
from collections import Counter
import matplotlib.pyplot as plt


def raw_majority_vote(labels):
    votes = Counter(labels)
    winner, _ = votes.most_common(1)[0]
    return winner


def majority_vote(labels):
    #select the majority label
    vote_counts = Counter(labels)
    winner, winner_count = vote_counts.most_common(1)[0]
    num_winners = len([count
                       for count in vote_counts.values()
                       if count == winner_count])
    if num_winners ==1:
        return winner
    else:
        return majority_vote(labels[:-1])

def distance(point, new_point):
    dis = sum([(x-y)**2
        for x, y in zip(point, new_point)
        ])
    return sqrt(dis)
def knn_classify(k, labeled_points, new_point):
    # ordeed by distance
    by_distance = sorted(labeled_points, key= lambda (point, _):distance(point, new_point))
    # k labels for k-min distance
    k_nearest_labels = [labele for _, labele in by_distance[:k]]
    return majority_vote(k_nearest_labels)


cities = [
    ([-122.3 , 47.53], "Python"),
    ([ -96.85, 32.85], "Java"),
    ([ -89.33, 43.13], "R"),
    ([-120.3 , 35.53], "Python"),
    ([ -46.85, 72.85], "Java"),
    ([ -39.33, 33.13], "R"),
    ([-234.3 , 87.53], "Python"),
    ([ -46.85, 72.85], "Java"),
    ([ -39.33, 53.13], "R"),
    ]


for k in [1, 3, 5, 7]:
    num_correct = 0
    for city in cities:
        location, actual_language = city
        other_cities = [other_city
            for other_city in cities
            if other_city != city]
        predicted_language = knn_classify(k, other_cities, location)
        if predicted_language == actual_language:
            num_correct += 1
    print k, "neighbor[s]:", num_correct, "correct out of", len(cities)

朴素贝叶斯

条件独立假设:用于分类的特征之间条件独立

这里写图片描述

朴素:特征独立
贝叶斯条件概率:全概率公式
分母相同,只需找到分子概率最大类
这里写图片描述

期望最大化等价于后验概率最大化

这里写图片描述

朴素贝叶斯算法

这里写图片描述

先验概率和条件概率均为对总体的数据分布的极大似然估计,训练样本存在偏差的话,整体泛化效果会差
朴素贝叶斯属于生成模型

这里写代码片

参数为1时成为拉普拉斯平滑

 决策树

决策树学习

这里写图片描述

  • 决策树学习过程:特征选择、决策树生成、决策树剪枝(避免过拟合,增加泛化能力)
  • 决策树的生成考虑局部最优,剪枝考虑全剧最优

特征选择

墒定义

这里写图片描述
这里写图片描述

信息增益

信息增益:已知特征X的信息使得类Y信息不确定性减小的程度

这里写图片描述
这里写图片描述
这里写图片描述

信息增益比

这里写图片描述

ID3

ID3算法在各个节点选择信息增益最大的特征构建分类节点,递归构建决策树,直到所有特征增益都很小或者无特征可选择

算法步骤

这里写图片描述
这里写图片描述

C4.5

C4.5与ID3的差别只在特征选择标准有信息增益换成了信息增益比

这里写图片描述

剪枝

剪枝一般通过极小化决策树整体的损失函数或者代价函数实现

损失函数

这里写图片描述
这里写图片描述

  • a 用于平衡模型复杂度和损失函数,值越小越促进选择复杂模型

这里写图片描述
这里写图片描述

CART

决策树:递归构建二叉决策树,回归树用平方误差最小化,分类树用基尼系数最小化进行特征选择

回归树

最小二乘回归:在某个特征的的某个点上切分输入空间使得平方误差最小

这里写图片描述

回归树算法步骤

最优切分变量,最优切分点,最小二乘回归,二叉分类

这里写图片描述

分类树

这里写图片描述
这里写图片描述

CART树算法

这里写图片描述
这里写图片描述

CART剪枝

这里写图片描述

 COMMENTS

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值