深度学习实战篇之(一)----- Python感知机实现

世界地球日,奏响低碳生活进行曲,以蓝天为乐谱,以绿树为音符,以碧水为琴弦弹奏出环保最强音,为地球母亲祈祷平安吃五谷杂粮,穿天然布衣,住节能住宅,行无车之旅,用厉行节俭。让我们怀着敬畏感恩之心,向地球母亲贺寿。

       深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向,它被引入机器学习使其更接近于最初的目标——人工智能(AI, Artificial Intelligence)。

       深度学习是学习样本数据的内在规律和表示层次,这些学习过程中获得的信息对诸如文字,图像和声音等数据的解释有很大的帮助。它的最终目标是让机器能够像人一样具有分析学习能力,能够识别文字、图像和声音等数据。深度学习是一个复杂的机器学习算法,在语音和图像识别方面取得的效果,远远超过先前相关技术。

       深度学习在搜索技术,数据挖掘,机器学习,机器翻译,自然语言处理,多媒体学习,语音,推荐和个性化技术,以及其他相关领域都取得了很多成果。深度学习使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。

科普

知识

前言

  在深度学习系列的上期文章中,我们学习了感知机的基础理论,对感知机有了一个基本的了解,但是对于代码的实践,估计还是有点雾水,本着趁热打铁的功夫,我们今天就来走进深度学习实战篇的第一篇文章-----感知机的python实现,希望大家喜欢,继续往下吧!

1

感知机

    今天我们紧跟上一期的理论文章进行代码实操,让大家亲身体会Python实现的感知机到底是这样的一回事,数据的维度如何表示?激活函数如何定义? 为了让方便大家的基础,我们首先了两种函数,一种是对照数学公式的体现,另一种是循环结构的考虑,都还不错,大家好好学习哦!

1

感知机实现

感知机的数学表示图

1. 首先看感知机的数学表示图(如上图),我们照着图来敲代码

sigmoid 激活函数

2. 感知机数学表达式:y = F(w*x+b),F 代表激活函数,此处我们使用sigmoid

3. 感知机实现步骤

1.用x的每一个值对应乘以w中的值,然后加上对应b中的每一个值

2.然后求他们的和  然后带入激活函数中得到输出结果

如:中间结果:y1 = x1*w1+b1 + x2*w2+b2 + x3*w3+b3 + x4*w4+b4 + x5*w5+b5# 最后的输出:y = sigmoid(y1)

2

代码实践

# -*- coding:utf-8 -*-
import numpy as np


x = [1,2,3,4,5]
w = [0.1,0.2,0.3,0.4,0.5]
b = [0.1,0.11,0.12,0.13,0.14]


# 激活函数定义


def sigmoid(input):
    # TODO: Implement sigmoid function
    return 1/(1 + np.exp(-input))


# 感知机数学表达式:y = F(w*x+b),F 代表激活函数,此处我们使用sigmoid


# 感知机实现步骤:
#1.用x的每一个值对应乘以w中的值,然后加上对应b中的每一个值
#2.然后求他们的和  然后带入激活函数中得到输出结果
# 如:中间结果:y1 = x1*w1+b1 + x2*w2+b2 + x3*w3+b3 + x4*w4+b4 + x5*w5+b5
# 最后的输出:y = sigmoid(y1)


# 代码实现一:
def Perceptron1():
    y1 = x[0]*w[0]+b[0] + x[1]*w[1]+b[1] + x[2]*w[2]+b[2] + x[3]*w[3]+b[3] + x[4]*w[4]+b[4]
    print("感知机实现一的中间结果是:{}".format(y1))
    y = sigmoid(y1)
    print("感知机实现一的输出结果是:{}".format(y))


def Perceptron2():
    print("----------------------------------------------")
    y1 = 0
    for i in range(len(x)):
        y1 = y1 + x[i]*w[i]+b[i] 
    print("感知机实现二的中间结果是:{}".format(y1))
    y = sigmoid(y1)
    print("感知机实现二的输出结果是:{}".format(y))


# 感知机一 代码调用
Perceptron1()
# 感知机二代码调用
Perceptron2()


3

效果展示

END

结语

    今天的代码实践分享结束了,对于Python实现的感知机相信大家都有了一定的了解,然而实际感知机实现却不会这么简单,因为输入数据x的维度可能较多,可能也不止一个输入数据,况且今天实践的时候,我们采用的列表来控制数据的维度,然而实际情况更多的却是用矩阵的思想来装入数据,等等,这些,我们都会在后期一起与大家共同学习,一起进步,愿跟多的人与我们同行。

    此外,问一个小问题,考考大家之前的Python基础,今天的代码中,我们的x定义了5个数据,但是为什么在实现方式一的时候,却是从0开始4结束而不是1开始5结束呢?很简单,答案就留个各位学习的伙伴们咯!

编辑:玥怡居士|审核:小圈圈居士

深度学习理论篇之----前世、今生、未来

深度学习理论篇之 (三) -- 感知机的横空出世

深度学习理论篇之 ---- 开山之石

扫码关注我们

在看你就赞赞我!

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值