机器学习-监督性学习 2021-11-20

news/2024/5/20 8:46:36 标签: 机器学习, kmeans, 聚类

人工智能基础总目录

监督性学习

  • 人工智能基础总目录
    • 一、 内容介绍
    • 二、 线性回归
      • 多分类的时候-Softmax函数
      • 多分类的交叉商 cross_entrory
    • 三、 模型的评价值

一、 内容介绍

  1. 线性回归 linear regression
  2. 逻辑回归 logistic regression
  3. softmax, cross-entropy
  4. 模型评价指标

二、 线性回归

逻辑回归是机器学习中的一种分类模型。虽然名字中带有回归,但是本质是一种分类算法。之所以没有同线性回归一样解决回归问题,是因为它在线性回归的结果上,加上了sigmoid激活函数。sigmoid激活函数 将结果变为0或1。 存在一个数字,将 0.8 处理 为1。
在这里插入图片描述
定义Loss 函数, Loss 对w 求偏导,计算得到w。 使用梯度下降计算得到w。原有函数 [x1 - x2]^2, 偏导在[0,1] 之间比较小。 梯度小 更新慢,梯度太大 出现抖动的情况,都不为很好的找到目标值。

线性回归的结果输入到sigmoid激活函数当中,输出结果是 [0, 1] 区间中的一个概率值,默认0.5为阈值,逻辑回归最终的分类是通过属于某个类别的概率值来判断是否属于某个类别,并且这个类别默认标记为1(1表示正例),另外一个类别会标记为0(0表示反例)

无论何时,我们都希望损失函数值越小越好。分情况讨论,对应的损失函数值,当y=1时,我们希望hΘ(x)的值越大越好,当y=0时,我们希望hΘ(x)的值越小越好。

在这里插入图片描述

多分类的时候-Softmax函数

假设x (行*列 )输入是 1*10, W 10 * 5 + b ; xw + b 得到 1*5 的结果 为Z。通过Softmax函数就可以将多分类的输出值转换为范围在[0, 1]和为1的概率分布
在这里插入图片描述

多分类的交叉商 cross_entrory

在多个输出中,S(y)相当于y的估计值, L 是实际值。当使用Softmax函数作为输出节点的激活函数的时候,一般使用交叉熵作为损失函数。
在这里插入图片描述
在这里插入图片描述

通过梯度下降实现逻辑回归w 的计算, 并输出预测结果。

import numpy as np
from icecream import ic

X = np.random.normal(size=(10, 7))
y = np.array([
    [1],
    [0],
    [0],
    [0],
    [1],
    [0],
    [0],
    [1],
    [0],
    [0],
])

weights = np.random.normal(size=(1, 7))
bias = 0


def loss(yhats, y):
    return np.mean( (yhats - y) ** 2 )


def partial_w(yhats, y, train_x):
    return 2 * np.mean((yhats - y) * train_x, axis=0)


def partial_b(yhats, y):
    return 2 * np.mean(yhats - y)


def logistic(x):
    return 1 / (1 + np.exp(-x))


def softmax(x):
    x -= np.max(x)
    sum = np.sum(np.exp(x))

    return np.exp(x) / sum


def cross_entropy(yhats, y):
    return - np.mean( y * np.log(yhats))


def train_linear_regression(X, weights, bias, y):
    for i in range(10):
        # yhats = X @ weights.T + bias
        yhats = logistic(X @ weights.T + bias)
        threshold = 0.5
        probs = np.array((yhats > threshold), dtype=np.int)
        ic(probs)
        # loss = cross_entropy(yhats, y)
        # loss_value = loss(yhats, y)
        # ic(loss_value)
        # learning_rate = 1e-3
        # weights += -1 * partial_w(yhats, y, X) * learning_rate
        # bias += -1 * partial_b(yhats, y)
        ic(yhats)
        # ic(loss)

if __name__ == '__main__':
    train_linear_regression(X, weights, bias, y)

三、 模型的评价值

Baseline
Accuracy
Precision
Recall
ROC/AUC (ROC 曲线下的面积)
F1_score, F2_score
Precision, Recall 都是针对positive 来说,Precision 预测的准确度。recall 是在真正positive 里面找到多少。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


http://www.niftyadmin.cn/n/1857422.html

相关文章

高考前最后一天,AI 监考老师已就位

By 超神经内容概要:技术在保障考试公平中发挥的作用越来越大,借助计算机视觉、神经网络、行为分析等技术,可以有效地识别作弊行为,维护考场秩序。关键词:AI 监考 计算机视觉 反作弊辽宁省招生考试办公室 7 月 5 日…

梅耶·马斯克:英雄的母亲,也成为他们的英雄

By 超神经内容提要:6 月 29 日,上市十周年的特斯拉,市值破 2000 亿美元,成为全球市值最高车企。马斯克也以 246 亿美元位居福布斯全球富豪榜第 31 位。他的成功,离不开他母亲梅耶马斯克的培养与影响。梅耶马斯克&#…

FastDFS单机及集群环境搭建

Java组件总目录 FastDFS单机集群环境搭建Java组件总目录一、Docker基本命令二、 单机FastDfs安装1 文件下载2 软件安装1 libfastcommon 安装2 fastdfs 安装3 完成安装测试上传图片测试其他命令三 FastDFS 与Nginx 整合1 安装FastDFS的Nginx模块2 安装Nginx3 网络问题四、FastDF…

Tuna Scope 金枪鱼猎手:当顶级吃货,搞起图像识别

By 超神经内容概要:日本学者 Kazuhiro Shimura,历时十年打造了一款可以通过图像识别技术,鉴定金枪鱼并给出评分的应用,目前已经投入市场。关键词:计算机视觉 食品行业金枪鱼,多数品种体积巨大,最…

乘风破浪的 AI 姐姐,成团首秀献唱 WAIC

By 超神经内容概要:世界人工智能大会 2020 云端峰会今天正式拉开帷幕,开幕式上微软小冰、百度小度、小米小爱、B 站泠鸢四位 AI 歌手,为本届大会合唱主题曲。关键词:AI 作曲 艺术创作 AI 助理世界人工智能大会(WAI…

FastDFS集群同步合并压缩机制介绍

Java组件总目录 FastDFS整合Nginx与集群Java组件总目录问题说明一、FastDFS 的 Nginx 模块原理分析1.1 模块介绍二、集群下的文件同步2.1 12.1何时开启同步线程2.2 同步规则2.3 同步流程1. Binlog 目录结构Mark 文件Binlog 文件2.4 同步过程1 启动同步线程2 同步线程执行过程2.…

第1节 MySQL 架构篇 2021-12-24

Java组件总目录 MySQL 架构篇Java组件总目录一、mysql文件结构1. 日志文件(顺序IO)1)错误日志(errorlog)2)二进制日志(bin log)3)通用查询日志(general query…

北京新政:防治租赁乱象,新公租房将配人脸识别系统

By 超神经内容提要:最近,北京住建委通知要求新公租房同步建立人脸识别系统。人脸识别技术近年来呈爆发之势,几乎渗透生活的方方面面,但引发的争议也越来越多。关键词:人脸识别 个人信息 隐私7 月 6 日,北京…