大家好~我开设了“深度学习基础班”的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序

线上课程资料:

本节课录像回放

扫码加QQ群,获得ppt等资料,与群主交流讨论:

本系列文章为线上课程的复盘,每上完一节课就会同步发布对应的文章

本文为第二节课:“判断性别”Demo需求分析和初步设计(上)的复盘文章

本课程系列文章可进入索引查看:

深度学习基础课系列文章索引

为什么要学习本课?

  • 什么是神经元?
  • 如何根据一个人的身高和体重,使用神经元推测出该人的性别?

回顾相关课程内容

主问题:Demo需求分析

  • 需求是什么?

    答:给出一个人的身高、体重,能够通过深度学习推测出他的性别

主问题:什么是神经元?

  • 什么是神经元?

    答:

    如上图所示,一个神经元具有一个偏移值b和多个权重值w,接受多个输入值x,返回一个输出值y

  • 计算公式是什么?

    答:

主问题:如何使用神经元实现Demo?

  • 已知一个人的身高为150厘米,体重为50公斤,如何使用神经元得到该人的性别(应该为女性)?

    • 神经元的输入和输出是什么?

      答:输入为身高和体重,输出为性别
    • 如何处理数据?

      答:性别表示为0(男)、1(女)
    • 激活函数应该是什么?

      答:返回1的任意函数
    • 需要知道神经元的哪些值?

      答:权重、偏移
    • 值是多少?

      答:有任意多个解,其中一个解为:

任务:给出代码

  • 输入的数据称为样本
  • 求神经元的权重、偏移的过程叫做训练
  • 根据样本和权重、偏移,代入激活函数得到输出值的过程叫做推理
  • 请用代码实现?

    答:
type state = {
weight1: float,
weight2: float,
bias: float,
} type sampleData = {
weight: float,
height: float,
} type gender =
| Male
| Female let createState = (): state => {
weight1: Js.Math.random(),
weight2: Js.Math.random(),
bias: Js.Math.random(),
} let train = (state: state, sampleData: sampleData): state => {
{
weight1: 1.0,
weight2: -2.0,
bias: -49.0,
}
} let _activateFunc = x => x let _convert = x =>
switch x {
| 0. => Male
| 1. => Female
} let inference = (state: state, sampleData: sampleData): gender => {
(sampleData.height *. state.weight1 +. sampleData.weight *. state.weight2 +. state.bias)
->_activateFunc
->_convert
} let state = createState() let gender =
state
->train({
weight: 50.,
height: 150.,
})
->inference({
weight: 50.,
height: 150.,
}) //1
Js.log(gender)

深度学习基础课:“判断性别”Demo需求分析和初步设计(上)的更多相关文章

  1. “判断性别”Demo需求分析和初步设计(中)

    大家好~我开设了"深度学习基础班"的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序 线上课程资料: 本节课录像回放 加QQ群,获得 ...

  2. 基于深度学习的人脸性别识别系统(含UI界面,Python代码)

    摘要:人脸性别识别是人脸识别领域的一个热门方向,本文详细介绍基于深度学习的人脸性别识别系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面.在界面中可以选择人脸图片.视频进行检 ...

  3. 深度学习与CV教程(6) | 神经网络训练技巧 (上)

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  4. [OpenCV实战]1 基于深度学习识别人脸性别和年龄

    目录 1基于CNN的性别分类建模原理 1.1 人脸识别 1.2 性别预测 1.3 年龄预测 1.4 结果 2 代码 参考 本教程中,我们将讨论应用于面部的深层学习的有趣应用.我们将估计年龄,并从单个图 ...

  5. 【Todo】【转载】深度学习&神经网络 科普及八卦 学习笔记 & GPU & SIMD

    上一篇文章提到了数据挖掘.机器学习.深度学习的区别:http://www.cnblogs.com/charlesblc/p/6159355.html 深度学习具体的内容可以看这里: 参考了这篇文章:h ...

  6. 为什么要用深度学习来做个性化推荐 CTR 预估

    欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:苏博览 深度学习应该这一两年计算机圈子里最热的一个词了.基于深度学习,工程师们在图像,语音,NLP等领域都取得了令人振奋的进展.而深 ...

  7. 深度学习与CV教程(2) | 图像分类与机器学习基础

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  8. 深度学习与CV教程(8) | 常见深度学习框架介绍

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  9. 深度学习与CV教程(12) | 目标检测 (两阶段,R-CNN系列)

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...

  10. [翻译]深度学习的机器(The learning machines)

    学习的机器 用大量的数据识别图像和语音,深度学习的计算机(deep-learning computers) 向真正意义上的人工智能迈出了一大步. Nicola Jones Computer Scien ...

随机推荐

  1. python 解析网址信息

    python 解析网址信息 本篇文章主要讲述python 中如何解析一个url的信息. 1: requests获取网页信息 #!/usr/bin/python3 # -*- coding: UTF-8 ...

  2. TS MQTT封装

    TS MQTT封装 导入相关包 npm i mqtt npm i lodash guid 随机生成就行,具体可以参考百度或者随便生成一个随机数* 代码封装 import mqtt from 'mqtt ...

  3. ElasticSearch之cat datafeeds API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/ml/datafeeds?v=true&pretty" --cacert ...

  4. 【笔记】Ribbon负载均衡伪随机算法

    伪随机:思路 当一个下标(伪服务)连接被调用两次,第三次如果还是它,就让再随机一次 当重复随机到一台服务两次时判断第三次是否还是它 是的话 我们要进行 再次随机 也就是第三次 package top. ...

  5. IDEA插件(2 高效开发)

    一.高效开发代码插件 ① .TONGYI Lingma(阿里通灵代码AI插件) 提问回答 右键其他功能,只需要登录阿里账号就可以使用 ②.Talk X(AI提示插件,和阿里通灵代码很像的功能) ③.A ...

  6. 集群化部署ZabbixServer

    修改Zabbix-agent配置 1.修改配置文件 三台zabbix-Server上操作 vim /etc/zabbix/zabbix_agent2.conf Server=127.0.0.1 改成 ...

  7. UDP与KCP详解

    UDP 以及TCP是什么.我们知道传输层中有TCP和UDP两种网络协议,这节就讲UDP是什么. Internet协议集支持一个无连接的传输协议,该协议称为用户数据报协议(UDP,User Datagr ...

  8. SSH默认端口从22修改为其他端口

    1.在终端中使用root权限登录到您的Linux服务器. 2.打开终端,并使用适合您的文本编辑器(如vi.nano等)打开SSH配置文件.例如,通过运行以下命令之一: vi /etc/ssh/sshd ...

  9. Cesium案例解析(七)——Layers在线地图服务

    目录 1. 概述 2. 案例 2.1. Blue Marble 2.2. ArcGIS地形 2.3. Cesium地形 2.4. Natural Earth II 2.5. Earth at Nigh ...

  10. 了解库开发,我们从STM32标准库开发学起

    摘要:从STM32新建工程.编译下载程序出发,让新手由浅入深,尽享STM32标准库开发的乐趣. 自从CubeMX等图像配置软件的出现,同学们往往点几下鼠标就解决了单片机的配置问题.对于追求开发速度的业 ...