从 Swift 到机器学习
- 王巍⻛风格化图像处理理 其余的出路路 区块链 P2P信贷 做个快乐的肥宅 ? 做个快乐的肥宅 I have an idea! App: 普尔亚后援会 • 使⽤用相机或者照⽚片库 • 识别照⽚片中的普尔亚⼿手势 • 收集到三张照⽚片获得奖励 HOW? 我(们)的出路路在哪⾥里里 ⼤大前端 React Native Weex ⼩小程序 Flutter 机器器学习 过拟合,准确率 问题 No.2 ⼀一个⾼高度 的模型 Overfitting 过拟合 过拟合 过拟合 训练数据严重不不⾜足 只来源于单⼀一⼈人员和单⼀一场景 对于⾮非该⼈人员的识别相当低效 默认的训练⽅方式只对最后⼀一层进⾏行行训练 特征提取模型中不不包含对应特征 0 22.5 45 67.5 90 0 5 10 15 20 准确率 默认特征提取模型下 通过预处理理提取场景特征 (⼈人物,⻛风景,UI) 3.更更多的层数 ⾳音乐情绪识别 从⾳音乐的曲调和节奏识别⾳音乐情绪 Music Keyword 梁梁祝 温柔婉转 命运交响曲 激情雄壮 ⼩小苹果 轻松欢快 其他场景 • 本地垃圾短信识别 • 游戏 AI (GameplayKit) • 专⽤用的图像分类/识别 • etc… 总结 ? • ⼩小模型,Client Side ML0 码力 | 64 页 | 4.32 MB | 1 年前3
做一个有趣的多人 AR 游戏 - 刘冠杉操作简单直观 • 设备不要剧烈晃动,不要快速移动 看别人的游戏和Apps • 内容/功能简短 • 操作简单直观 • 设备不要剧烈晃动,不要快速移动 • AR Off Mode 平面识别 Plane Detection 配置AR Session let config = ARWorldTrackingConfiguration() if #available(iOS 11 @property (nonatomic, strong, readonly) ARPlaneGeometry *geometry API_AVAILABLE(ios(11.3)); @end 不规则平面识别 let device = MTLCreateSystemDefaultDevice()! func renderer(_ renderer: SCNSceneRenderer, didAdd update(from: planeAnchor.geometry) addPlaneNode(on: node, geometry: planeGeometry) } 不规则平面识别 func renderer(_ renderer: SCNSceneRenderer, didUpdate node: SCNNode, for anchor: ARAnchor) {0 码力 | 71 页 | 6.93 MB | 1 年前3
Hello 算法 1.1.0 Swift版所示,上述方法生成的排列有一半是重复的。 图 13‑7 重复排列 那么如何去除重复的排列呢?最直接地,考虑借助一个哈希表,直接对排列结果进行去重。然而这样做不够 优雅,因为生成重复排列的搜索分支没有必要,应当提前识别并剪枝,这样可以进一步提升算法效率。 1. 相等元素剪枝 观察图 13‑8 ,在第一轮中,选择 1 或选择 ̂1 是等价的,在这两个选择之下生成的所有排列都是重复的。因此 应该把 ̂1 剪枝。 当目标金额为 0 时,凑出它的最少硬币数量为 0 ,即首列所有 ??[?, 0] 都等于 0 。 当无硬币时,无法凑出任意 > 0 的目标金额,即是无效解。为使状态转移方程中的 min() 函数能够识别并 过滤无效解,我们考虑使用 +∞ 来表示它们,即令首行所有 ??[0, ?] 都等于 +∞ 。 第 14 章 动态规划 hello‑algo.com 331 2. 代码实现 大多数编程语言并未提供0 码力 | 379 页 | 18.47 MB | 1 年前3
Hello 算法 1.2.0 简体中文 Swift 版所示,上述方法生成的排列有一半是重复的。 图 13‑7 重复排列 那么如何去除重复的排列呢?最直接地,考虑借助一个哈希集合,直接对排列结果进行去重。然而这样做不 够优雅,因为生成重复排列的搜索分支没有必要,应当提前识别并剪枝,这样可以进一步提升算法效率。 1. 相等元素剪枝 观察图 13‑8 ,在第一轮中,选择 1 或选择 ̂1 是等价的,在这两个选择之下生成的所有排列都是重复的。因此 应该把 ̂1 剪枝。 当目标金额为 0 时,凑出它的最少硬币数量为 0 ,即首列所有 ??[?, 0] 都等于 0 。 当无硬币时,无法凑出任意 > 0 的目标金额,即是无效解。为使状态转移方程中的 min() 函数能够识别并 过滤无效解,我们考虑使用 +∞ 来表示它们,即令首行所有 ??[0, ?] 都等于 +∞ 。 第 14 章 动态规划 www.hello‑algo.com 331 2. 代码实现 大多数编程语言并未提供0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.0.0b5 Swift版com 287 图 13‑7 重复排列 那么如何去除重复的排列呢?最直接地,考虑借助一个哈希表,直接对排列结果进行去重。然而这样做不够优 雅,因为生成重复排列的搜索分支是没有必要的,应当被提前识别并剪枝,这样可以进一步提升算法效率。 1. 相等元素剪枝 观察图 13‑8 ,在第一轮中,选择 1 或选择 ̂1 是等价的,在这两个选择之下生成的所有排列都是重复的。因此 应该把 ̂1 剪枝掉。 当目标金额为 0 时,凑出它的最少硬币个数为 0 ,即首列所有 ??[?, 0] 都等于 0 。 当无硬币时,无法凑出任意 > 0 的目标金额,即是无效解。为使状态转移方程中的 min() 函数能够识别并 过滤无效解,我们考虑使用 +∞ 来表示它们,即令首行所有 ??[0, ?] 都等于 +∞ 。 2. 代码实现 大多数编程语言并未提供 +∞ 变量,只能使用整型 int 的最大值来代替。而这又会导致大数越界:状态转0 码力 | 376 页 | 30.70 MB | 1 年前3
Hello 算法 1.0.0 Swift版所示,上述方法生成的排列有一半是重复的。 图 13‑7 重复排列 那么如何去除重复的排列呢?最直接地,考虑借助一个哈希表,直接对排列结果进行去重。然而这样做不够 优雅,因为生成重复排列的搜索分支没有必要,应当提前识别并剪枝,这样可以进一步提升算法效率。 1. 相等元素剪枝 观察图 13‑8 ,在第一轮中,选择 1 或选择 ̂1 是等价的,在这两个选择之下生成的所有排列都是重复的。因此 应该把 ̂1 剪枝。 当目标金额为 0 时,凑出它的最少硬币数量为 0 ,即首列所有 ??[?, 0] 都等于 0 。 当无硬币时,无法凑出任意 > 0 的目标金额,即是无效解。为使状态转移方程中的 min() 函数能够识别并 过滤无效解,我们考虑使用 +∞ 来表示它们,即令首行所有 ??[0, ?] 都等于 +∞ 。 第 14 章 动态规划 hello‑algo.com 333 2. 代码实现 大多数编程语言并未提供0 码力 | 378 页 | 17.59 MB | 1 年前3
共 6 条
- 1













