深度学习基础课:“判断性别”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 ...
随机推荐
- TPC-DS工具介绍及性能测试
一. Hive-testbench工具介绍 TPC-DS:https://www.cnblogs.com/webDepOfQWS/p/10544528.html 由于原生态工具生产测试数据表存在bug ...
- 快速入门:使用 .NET Aspire 组件实现缓存
前言 云原生应用程序通常需要各种类型的可扩展缓存解决方案来提高性能..NET Aspire 组件简化了连接到流行的缓存服务(例如 Redis)的过程,今天小编就为大家简单介绍一下如何使用 .NET A ...
- [ABC313F] Flip Machines
Problem Statement There are $N$ cards numbered $1$ through $N$. Each face of a card has an integer w ...
- 解决swagger2 --> Illegal DefaultValue null for parameter type integer 保存问题
在pmo.xml中加入两个依赖 <!--增加两个配置--> <dependency> <groupId>io.swagger</groupId> < ...
- Redis工具类及Redis序列化
导入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sp ...
- Scrapy创建项目、爬虫文件
创建项目 执行命令 scrapy startproject <项目名> 项目结构 创建爬虫文件 方式一:通过命令生成 scrpay genspider <爬虫名(必须唯一)> ...
- springboot去除内嵌tomcat
springboot去除内嵌tomcat步骤 在pom文件中加入以下代码 点击查看代码 <!-- 多模块排除内置tomcat --> <dependency> <grou ...
- PersistenceException、ReflectionException、IllegalArgumentException、wrapException持久性异常 反射异常 非法参数异常 包装异常
PersistenceException.ReflectionException.IllegalArgumentException.wrapException wrapException 持久性异常 ...
- 『Flutter』开发环境搭建
1.前言 大家好,我是 BNTang,今天给大家介绍一下 Flutter 的开发环境搭建.在之前我已经将 Dart 的基本语法给大家介绍了,所以今天就不再介绍 Dart 的基本语法了,直接进入 Flu ...
- Kubernetes架构及安装
K8s架构 k8s内部是有几个组件的,分别是controller manager,api-server,scheduler,kubelet以及etcd,kube-proxy还有k8s客户端kubect ...