6-高维空间:机器如何面对越来越复杂的问题

声明

本文章基于哔哩哔哩付费课程《小白也能听懂的人工智能原理》。仅供学习记录、分享,严禁他用!!如有侵权,请联系删除

目录

一、知识引入

(一)二维输入数据

(二)数据特征维度

二、编程实验--接收2个输入的神经元

(一)观察数据

(二)编写预测模型

(三)前向传播

(四)反向传播+随机梯度下降


一、知识引入

(一)二维输入数据

      豆豆的毒性不仅和它的大小有关,也和它的颜色深浅有关系。这时就不能仅靠一个二维平面坐标系,就需要一个三维的空间坐标系。神经元也需要2个树突来接收输入。同时,过去的一元一次函数就需要变为-->二元一次函数,“颜色深浅”成为了另外一个“元”。

        二元一次函数在三维空间中,是一个平面。套上一层sigmoid激活函数后,就形成了曲面

        表示当大小和颜色深浅去某个值时,对有毒概率的预测结果。

        引入隐藏层神经元后,就可以扭曲三维空间中的面,让其组合出不同的曲面

(二)数据特征维度

        当问题数据特征越来越多,也就是说,我们采集豆豆的更多特征,eg:除了大小和颜色深浅以外,再加入一个外壳硬度作为输入数据时,我们就只能再添加一个维度去描述预测模型的图像。需要在四维空间作图。

        输入数据有多少种类别,也就是所谓的特征维度,也叫数据维度(数据特征维度)。实际上我们把豆豆的特征提取越多,也就是我们从更多维去观察问题,也就能更好地预测它的毒性

        当输入数据的维度越来越多时,权重参数也越来越多。一个一个地去编写它们的函数表达式未免有点麻烦和拖沓。

二、编程实验--接收2个输入的神经元

(一)观察数据

import numpy as np
import dataset
# 封装了绘图工具
import plot_utils

# 获取豆豆数据
num = 100
# xs是一个二维数组,表示输入数据的2个特征维度
# ys仍然是一维数组,0和1,代表每个豆豆是否有毒,0表示无毒、1表示有毒
xs, ys = dataset.get_beans(num)

# 绘制数据的散点图
plot_utils.show_scatter(xs, ys)

(二)编写预测模型

# 编写预测模型
# 因为有2个树突,所以输入和神经元之间有2个权重参数
w1 = 0.1
w2 = 0.1
b = 0.1

(三)前向传播

# 编写前向传播代码
# 豆豆大小数据,在所有的行上,把第0列切割下来形成一个新的数组
x1s = xs[:, 0]
# 豆豆颜色数据,在所有的行上,把第1列切割下来形成一个新的数组
x2s = xs[:, 1]

# 前向传播
def forward_propagation(x1s, x2s):
    z = w1 * x1s + w2 * x2s + b
    a = 1 / (1 + np.exp(-z))
    return a

# 同时画出豆豆的散点图和预测曲面
plot_utils.show_scatter_surface(xs, ys, forward_propgation)

(四)反向传播+随机梯度下降

for _ in range(5000):
    for i in range(num):
        x = xs[i]
        y = ys[i]
        x1 = x[0]
        x2 = x[1]

        a = forward_propagation(x1, x2)

        e = (y - a)**2

        deda = -2 * (y - a)
        dadz = a * (1 - a)
        dzdw1 = x1
        dzdw2 = x2
        dzdb = 1

        dedw1 = deda * dadz * dzdw1
        dedw2 = deda * dadz * dzdw2
        dedb = deda * dadz * dzdb

        alpha = 0.0.1
        w1 = w1 - alpha * dedw1
        w2 = w2 - alpha * dedw2
        b = b - alpha * dedb

plot_utils.show_scatter_surface(xs, ys, forward_propgation)

        

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/467848.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于YOLOv8深度学习的玉米叶片病害智能诊断与防治系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标分类

《博主简介》 小伙伴们好,我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源,可关注公-仲-hao:【阿旭算法与机器学习】,共同学习交流~ 👍感谢小伙伴们点赞、关注! 《------往期经典推…

自然语言处理里预训练模型——BERT

BERT,全称Bidirectional Encoder Representation from Transformers,是google在2018年提出的一个预训练语言模型,它的推出,一举刷新了当年多项NLP任务值的新高。前期我在零、自然语言处理开篇-CSDN博客 的符号向量化一文中简单介绍…

爬虫 Day2

resp.close()#关掉resp 一requests入门 (一) 用到的网页:豆瓣电影分类排行榜 - 喜剧片 import requestsurl "https://movie.douban.com/j/chart/top_list" #参数太长,重新封装参数 param {"type": "…

科技驱动未来:ChatGPT3.5、GPT4.0、DALL·E 3和Midjourney联手重构人工智能生态

MidTool (kk.zlrxjh.top)(亦称迷图网或者是免费的ChatGPT中文版以及Midjourney的AI绘画聊天工具)是一款综合了众多科技前沿的人工智能助手,其中就包括了ChatGPT3.5、GPT4.0、DALLE 3以及Midjourney等多种智能服务&…

Hive优化

工作中涉及到优化部分不多,下面的一些方案可能会缺少实际项目支撑,这里主要是为了完备一下知识体系。 参考的hive参数管理文档地址:https://cwiki.apache.org/confluence/display/Hive/ConfigurationProperties 对于Hive优化,可以…

综合知识篇10-计算机网络考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

SpringBoot2.7集成Swagger3

Swagger2已经在17年停止维护了,取而代之的是 Swagger3(基于openApi3),所以新项目要尽量使用Swagger3. Open API OpenApi是业界真正的 api 文档标准,其是由 Swagger 来维护的,并被linux列为api标准&#x…

【洛谷 P9232】[蓝桥杯 2023 省 A] 更小的数 题解(字符串+区间DP)

[蓝桥杯 2023 省 A] 更小的数 题目描述 小蓝有一个长度均为 n n n 且仅由数字字符 0 ∼ 9 0 \sim 9 0∼9 组成的字符串,下标从 0 0 0 到 n − 1 n-1 n−1,你可以将其视作是一个具有 n n n 位的十进制数字 n u m num num,小蓝可以从 n…

相对全面的四足机器人驱动规划MATLAB和Simulink实现方式(足端摆线规划,Hopf-CPG,Kimura-CPG)

许久没更新四足机器人相关的博客文章,由于去年一整年都在干各种各样的~活,终于把硕士毕业论文给写好,才有点时间更新自己的所学和感悟。步态规划和足端规划只是为了在运动学层面获取四足机器人各关节的期望角位移和速度信号,再由底…

基于Java中的SSM框架实现在线通用旅游平台网站系统项目【项目源码+论文说明】

基于Java中的SSM框架实现在线通用旅游平台网站系统演示 摘要 近几年来,计算机网络的发展得到了飞速的提升,由此展开的一系列行业大洗牌也由此开始。早些年只是人们只是对于计算机和互联网有了些基础的认识,现在它正在悄悄的改变着我们生活的…

Latex插入pdf图片,去除空白部分

目录 参考链接: 流程: 参考链接: ​科研锦囊之Latex-如何插入图片、表格、参考文献 http://t.csdnimg.cn/vpSJ3 流程: Latex的图片插入支持PDF文件,这里笔者建议都使用PDF文件进行图片的插入,因为PDF作…

广州大彩科技新品发布:大彩科技COF系列2.4寸串口屏发布!

一、产品介绍 此次发布的是S系列平台2.4寸COF超薄结构串口屏,分辨率为240*320,该平台采用了Cortex-M3内核的处理器,内置了2Mbyte PSRAM和64Mbit FLASH,是专为小尺寸串口屏设计的MCU,精简了外围电路。 该平台默认支持大…

鸿蒙App开发学习 - TypeScript编程语言全面开发教程(下)

现在我们接着上次的内容来学习TypeScript编程语言全面开发教程(下半部分) 4. 泛型 TypeScript 中的泛型(Generics)是一种编程模式,用于在编写代码时增强灵活性和可重用性。泛型使得在定义函数、类、接口等数据类型时…

MySQL 锁机制

优质博文:IT-BLOG-CN 定义:锁是计算机协调多个进程或线程并发访问某一资源的机制。 一、表锁(偏读) MyISAM 引擎,开销小,加锁快,无死锁、锁定粒度大、发生锁冲突的粒度最高,并发度…

从零开始学习深度学习库-4:自动微分

欢迎来到本系列的第四部分,在这里我们将讨论自动微分 介绍 自动微分(Automatic Differentiation,简称AD)是一种计算数学函数导数(梯度)的技术。在深度学习和其他领域中,自动微分是一种极其重要…

C#集合:从字典到队列——探索数据结构核心

文章目录 C# 中的集合类型C# Dictionary 字典C# Hashtable:哈希表Hashtable 类中的属性Hashtable 类中的方法 C# SortedList:排序列表SortedList 类的中的属性SortedList 类的中的方法 C# Stack:堆栈Stack 类中的属性Stack 类中的方法 C# Que…

深度学习面经-part3(RNN、LSTM)

3.RNN 核心思想:像人一样拥有记忆能力。用以往的记忆和当前的输入,生成输出。 RNN 和 传统神经网络 最大的区别:在于每次都会将前一次的输出结果,带到下一次的隐藏层中,一起训练。 RNN应用场景: 1.文本生成 2.语音识别 3.机器翻…

C/C++动态链接库的封装和调用

1 引言 静态链接库是在编译时被链接到程序中的库文件,在编译时,链接器将静态链接库的代码和数据复制到最终的可执行文件中。动态链接库是在程序运行时加载的库文件,在编译时,可执行文件只包含对动态链接库的引用,而不…

mac npm install 很慢或报错

npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to https://registry.npm.taobao.org/pnpm failed, reason: certificate has expired 1、取消ssl验证: npm config set strict-ssl false 修改后一般就可以了,…

前端面试拼图-知识广度

摘要:最近,看了下慕课2周刷完n道面试题,记录并添加部分可参考的文档,如下... 1. 移动端H5 click有300ms延迟, 如何解决? 背景:double tap to zoom 移动端H5中的300ms点击延迟问题通常是由浏览…