总体说明:
分享部分预计30分钟到1小时,从大纲中选一部分,其他部分不直接分享但我会准备作为备用和参与讨论的素材。
分享不是讲课,我本身也是初学者,谨愿意抛砖引玉。
以下是大纲(草稿):
1 数据和计算
1.1 数据、信息、知识、智慧的“层级”
案例:读数-温度-天气-气候-宜居
1.2 表示-通用性
简单的编码
案例: 二进制
1.3 表示-可能性
编码方法、转化、香农定理(引出信息量)
案例:通过数字表示表示字符、第一个程序(编码和解码)
1.4 表示 - 结构
数据帧
图
时间序列
二进制文件
案例:ARFF的压缩格式
案例: 数据库中的键值搜索
案例:可视化-图标、思维导图
2 程序是什么
2.1 计算的载体
变量
运算符
函数1: 输入与输出
案例:“Hello, _ _ (your name)”
(狭义)数据结构:数组等
2.2 信息与程序1-自上而下
机器学习基本假设:可发现的“规则”
案例: K近邻、决策树
分析:程序的基本结构:顺序、循环、选择(结合流程图)
信息的流动性和方向性:
案例:梯度下降、启发性
2.3 实现程序1 – 信息论的应用
案例: “训练”决策树的基本原理(分而治之)
2.4 信息与程序2-信息和知识的提取和验证
数据清理-可能(possible)与“更可能”(probable)
案例:2019未来杯租金数据集
模型验证 - “机器学习”和统计学的思路差别
2.5 数据和程序的共同结构
(都围绕信息本身)
控制流模型
数据流模型
案例:S表达式(再看递归)
案例: 基本指令-从CPU到CRUD
案例: 实时数据分析
2.6 实现程序2:软件模块
案例:Pandas
3 程序的运行环境
3.1 抽象
函数2: 层级和操作函数的函数
案例: scikit learn的cross_validate
信息封装和“对象”
案例:训练模型序列化
封装后的接口
3.2 数据库、分布式系统
作为数据提供者
作为程序提供者
案例:Hadoop的文件系统树
案例:Flink基本示例之单词计数
“操作系统”1:
案例:Hadoop集群管理规则-高可用
3.3 程序与人
设计的重要性
案例: 不只是”可视化“(The Visual Display of Quantitative Information)
案例:机器学习的商业团队(https://jameskle.com/writes/ml-teams)
4 社群?
与日常生活
4.1
数据的生产和搜集: 无所不在的计算
4.2 新的信息时代
“价值”互联网
一些暂时不知道加在哪里的东西:
程序语义:(需要数据分析中比较底层还好理解的例子)
程序的转化:以自动求导为例
模拟计算和数字计算