美文网首页
初识人工智能

初识人工智能

作者: 天空_dst | 来源:发表于2024-10-02 14:33 被阅读0次

什么是人工智能

人工智能就是让机器能像人一样进行思考,那么如何做到。一句话就是找规律,从大量的数据中寻找规律,然后通过这个寻找到的规律进行预测,所以影响人工智能发展的有三大要素:数据 算法 算力 人工智能的三大方向:计算机视觉、自然语言处理、机器人

CPU 和 GPU

CPU 可以理解为一个超人什么都能干,但是有个致命的缺点并行度不高。GPU 刚好相反,他不能进行复杂的逻辑运算,但是却有着极强的并发计算的能力。GPU 在游戏领域用的比较多,上面提到人工智能需要找规律,找规律的过程中就需要大量的运算,而 GPU 刚好符合这一特征。所以在一定程度上来说游戏的发展也间接促进了人工智能的发展

人工智能、机器学习、深度学习

人工智能包含机器学习 机器学习又包含深度学习


人工智能

有监督学习 无监督学习

有监督学习指的是提前告诉计算机结果然后让计算机从中寻找规律 如:给计算机喂一些猫的图片然后计算器通过不断地学习该图片的特征。然后当计算机拿到有一张陌生的图片时候会从中提取特征来判断他是不是猫。无监督学习 只给计算机喂一些数据让计算机自动从中寻找规律

人工智能预测打车费用

让计算机预测打车费用逻辑 现在有一些打车费用的数据:

打车距离 打车费用
1 10
2 12
3 14
4 16
5 18

任务:让计算机预测打车在 10 公里的时候费用是多少
加入打车费用于距离之间的关系为 y = w * x + b (w 为权重 b 为偏执) 让计算机求出 w 和 b 的值即可成功预测

思路:假设 w = 0.001 b = 0.001 依次把 w 和 b 向上 加一个值直到求得最小的值 那么如何让计算值知道预测的值和真实值之间的偏差?这里我们采用均方误差来进行计算公式如下:

y = \frac{1}{n} \sum_{i=1}^{n}(y_i - \hat{y}_i)^2

dw 梯度:

dw = \frac{2}{n} \sum_{i=1}^{n}(-x_i)(y_i - (wx_i+b)

db 梯度:

db = \frac{2}{n} \sum_{i=1}^{n}(-1)(y_i-(wx_i+b))

class CarFree:
    def __init__(self, w, b):
        self.w = w
        self.b = b

    def cal_result(self, x):
        return np.dot(self.w, x) + self.b

    def loss(self, y, z):
        ret = z - y
        return np.mean(ret * ret)

    def update(self, dw, db, rate=0.001):
        self.w = self.w - rate * dw
        self.b = self.b - rate * db

    def cal_dw_db(self, x, y, z):
        # w的梯度
        dw = np.mean((z - y) * x)
        # b的梯度
        db = np.mean(z - y)
        return dw, db

    def train(self, x, y, rate = 0.001):
        ## 开始训练
        for i in range(5000):
            z = self.cal_result(i)
            loss = self.loss(y, z)
            dw, db = self.cal_dw_db(x, y, z)
            self.update(dw, db)

开始训练

def load_data():
  ## 准备数据集
  data = np.array([
      [1.0, 10.0], [2.0, 12.0],
      [3.0, 14.0], [4.0, 16.0],
      [5.0, 18.0]
    ])

  ratio = 0.8
  offset = int(data.shape[0] * ratio)
  ## 训练数据
  train_data = data[:offset]
  ## 测试数据
  test_data = data[offset:]
  x_train_data = train_data[:, 0:1]
  y_train_data = train_data[:, 1:2]

  x_test_data = test_data[:, 0:1]
  y_test_data = test_data[:, 1:2]
  return x_train_data, y_train_data, x_test_data, y_test_data

x_train_data, y_train_data, x_test_data, y_test_data = load_data()
# 创建模型对象
myNet = CarFree(1, 1)
# 训练
myNet.train(x_train_data, y_train_data)
#预测测试数据
z = myNet.cal_result(x_test_data)
print('测试数据的预测值:', z)
# 评估测试数据
loss = myNet.loss(y_test_data, z)
print('测试数据的成本值:', loss)
print(myNet.b)
print(myNet.w)
7.999999999996891
2.000000000001066

可以看到经过 不断的训练 w 和 b 的值已经和真实的值已经是非常接近了

本文由mdnice多平台发布

相关文章

  • 初识人工智能

    今天开始慢慢进入人工智能的介绍与算法网络等的实现的“传送期”,希望大家能够喜欢 ! 好,揭幕!! 一、人工智能介绍...

  • 人工智能初识

    1. 什么是人工智能 1. 人工智能发展的四个阶段 数据统计阶段此阶段是通过数据的统计分析得到规律并指导生产实践的...

  • 初识人工智能

    姓名:熊子豪 学号:19011210143 转载自 https://blog.csdn.net/Harpoon_...

  • 初识人工智能(1)

    人工智能是什么?人工智能是一门利用计算机模拟人类智能行为科学的统称,它涵盖了训练计算机使其能够完成自主学习、判断、...

  • 人工智能(1)初识

    人工智能,英文简称AI(Artificial Intelligence),早在上世纪就已经开始被研究,直到21世纪...

  • 初识人工智能原理

    原创:悬鱼铭 你好,欢迎打开文章,本次分享是用通俗易懂的语言让你理解人工智能的奥秘!分享的内容分为两个部分,第一个...

  • 2019年上半年收集到的人工智能图神经网络干货文章

    2019年上半年收集到的人工智能图神经网络干货文章 「AI初识境」从头理解神经网络-内行与外行的分水岭 人工智能中...

  • 机器学习笔记

    学习Andrew Ng的机器学习教程,做个笔记。 初识机器学习 人工智能的核心是机器学习,机器学习的本质是算法 机...

  • 人工智能TensorFlow-初识TensorFlow

    转眼要接近2018年的尾巴了。感觉一年忙忙碌碌,所得甚少。也许是不能知足常乐的原因吧。 这次决定涉足人工智能领域,...

  • 一、人工智能初识之基础核心

    人工智能基础核心:算法/硬件/大数据 关于数据data: 1、区分数据 信息 知识 2、数据的作用:获取数据—— ...

网友评论

      本文标题:初识人工智能

      本文链接:https://www.haomeiwen.com/subject/bzferjtx.html