深度学习基础课:“判断性别”Demo需求分析和初步设计(上)
大家好~我开设了“深度学习基础班”的线上课程,带领同学从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需求分析和初步设计(上)的更多相关文章
- “判断性别”Demo需求分析和初步设计(中)
大家好~我开设了"深度学习基础班"的线上课程,带领同学从0开始学习全连接和卷积神经网络,进行数学推导,并且实现可以运行的Demo程序 线上课程资料: 本节课录像回放 加QQ群,获得 ...
- 基于深度学习的人脸性别识别系统(含UI界面,Python代码)
摘要:人脸性别识别是人脸识别领域的一个热门方向,本文详细介绍基于深度学习的人脸性别识别系统,在介绍算法原理的同时,给出Python的实现代码以及PyQt的UI界面.在界面中可以选择人脸图片.视频进行检 ...
- 深度学习与CV教程(6) | 神经网络训练技巧 (上)
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...
- [OpenCV实战]1 基于深度学习识别人脸性别和年龄
目录 1基于CNN的性别分类建模原理 1.1 人脸识别 1.2 性别预测 1.3 年龄预测 1.4 结果 2 代码 参考 本教程中,我们将讨论应用于面部的深层学习的有趣应用.我们将估计年龄,并从单个图 ...
- 【Todo】【转载】深度学习&神经网络 科普及八卦 学习笔记 & GPU & SIMD
上一篇文章提到了数据挖掘.机器学习.深度学习的区别:http://www.cnblogs.com/charlesblc/p/6159355.html 深度学习具体的内容可以看这里: 参考了这篇文章:h ...
- 为什么要用深度学习来做个性化推荐 CTR 预估
欢迎大家前往腾讯云技术社区,获取更多腾讯海量技术实践干货哦~ 作者:苏博览 深度学习应该这一两年计算机圈子里最热的一个词了.基于深度学习,工程师们在图像,语音,NLP等领域都取得了令人振奋的进展.而深 ...
- 深度学习与CV教程(2) | 图像分类与机器学习基础
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...
- 深度学习与CV教程(8) | 常见深度学习框架介绍
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...
- 深度学习与CV教程(12) | 目标检测 (两阶段,R-CNN系列)
作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/37 本文地址:http://www.showmeai.tech/article-det ...
- [翻译]深度学习的机器(The learning machines)
学习的机器 用大量的数据识别图像和语音,深度学习的计算机(deep-learning computers) 向真正意义上的人工智能迈出了一大步. Nicola Jones Computer Scien ...
随机推荐
- 性能测试Mysql之profiling参数
一.查看profiling状态 mysql> select @@profiling; 0:表示为关闭 1:表示开启 二.开启 profiling mysql> SET profiling= ...
- [CF1844G] Tree Weights
题目描述 You are given a tree with $ n $ nodes labelled $ 1,2,\dots,n $ . The $ i $ -th edge connects no ...
- 【算法】Java版
二分查找算法 二分查找算法(Binary Search Algorithm)是一种在有序数组中查找特定元素的搜索算法.该算法的基本思想是将数组从中间分成两部分,然后与目标元素进行比较,进而确定目标元素 ...
- nginx-下载安装与配置
nginx下载 从官网下载,使用命令在linux下载即可,这个是目前稳定版最新的1.24.0版本,如果想要用旧版本直接修改版本号即可(旧版本我用的是1.12.2) 下载需要使用wget命令,默认是没有 ...
- idea2020.1.3汉化包报错问题
已解决:idea2020.1.3汉化包报错问题 问题描述:插件市场提供的版本不对.不兼容,所以需要手动下载安装 这里附上文件 https://wwsi.lanzouq.com/b03czdtwf 密码 ...
- iMessage群发,iMessage群发基础知识,iMessage群发源代码分享
在当今的数字化时代,即时通讯已经成为我们日常生活和工作中不可或缺的一部分,其中,苹果的iMessage服务因其出色的用户体验和无缝的设备间同步而备受用户喜爱. 然而,你是否想过如何利用iMessage ...
- Git和Github库详细使用教程
SVN 是集中式或者有中心式版本控制系统,版本库是集中放在中央服务器的; Git 是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为 ...
- MinIO客户端之cat
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc cat 使用cat命令输出本地硬盘上的文本文件的内容至控制台. ./mc cat ./local.json ...
- Python中的协程、线程和进程
一.协程与多线程和多进程一起使用有什么不同 协程.多线程和多进程都是实现程序并发执行的方法,不过它们在工作方式和适合的应用场景上存在一些区别. 1.协程(Coroutine) 协程是在单一线程 ...
- 文心一言 VS 讯飞星火 VS chatgpt (172)-- 算法导论13.3 1题
一.用go语言,在 RB-INSERT 的第 16 行,将新插人的结点 z 着为红色.注意到,如果将 z 着为黑色,则红黑树的性质4就不会被破坏.那么为什么不选择将 z 着为黑色呢? 文心一言: 在红 ...