人工智能与机器学习
1.1 人工智能1.1.1 人工智能的基本概念人工智能指的是由机器或计算机程序学习如何完成通常由人类完成的需要智能形式的任务。智能机器可以是一个虚拟的或者物理的机器人,有自主的感知、认知、决策、学习、执行和社会协作能力,符合人类情感、伦理与道德观念。
1.1.2 人工智能涵盖的学科
计算机视觉:模式识别,图像处理等。感知的图像往往只占5%,提供一些蛛丝马迹;而后面的95%,包括功能、物理、因果、动机等等是要靠人的想象和推理过程来完成的。
自然语言理解与交流:语音识别、合成、对话等。语言产生的基础是人要寻求合作。在语言产生之前,人类就已经有了十分丰富的认知基础,也就是上一节谈的那些表达。没有这样的认知基础,语言是空洞的符号,对话也不可能发生。
认知与推理:包含各种物理和社会常识。当有了共同价值观的时候,就有社会道德和伦理规范,这都可以推导出来了。机器人要与人共生共存必须理解人的团体的社会道德和伦理规范。这个认识论是机器人发展的必经之道。
机器人学:机械、控制、设计、运动规划、任务规划等。
博弈与伦理:多代理人agents的交互、对抗与合作,机器人与社会融合等议题。获取、共享人类的价值 ...
情感分析
数据集说明:数据集来源于电影中的台词文本。文件positive.txt, negative.txt分别存储有5331条正面情感的台词文本数据,331条负面情感的台词文本数据。</br>程序说明:采用nltk处理文本数据,采用深层神经网络算法,训练模型,实现文本情感分析。在实践中有现成的NLP库可以处理,譬如TextBlob</br>算法理论请参照:神经网络算法</br>Ipynb演示文件:Ipynb文件</br>Python代码:Python代码</br>
123456789import osimport randomimport pickleimport codecsimport numpy as npfrom collections import Counterfrom nltk.tokenize import word_tokenizefrom nltk.stem import WordNetLemmatizerimport tensorflow as tf
123456789101112131415161718192 ...
基因算法求解函数极值
程序说明:求解函数 f(x) = x + 10sin(5x) + 7cos(4x) 在区间[0,9]的最大值分析:假如设定求解的精度为小数点后4位,可以将x的解空间划分为 (9-0)×(1e+4)=90000个等分。\(2^{16} < 90000 < 2^{17} \),需要17位二进制数来表示这些解。一个解的编码就是一个17位的二进制串。</br>算法理论请参照:机器学习自动化</br>Ipynb演示文件:Ipynb文件</br>Python代码:Python代码</br>
12import mathimport random
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210 ...
猫狗图像识别
数据集说明:数据集来自Kaggle猫狗图像识别比赛。训练集共有25000张已被标注的大小不尽相同的猫和狗的图片,猫狗图片数量各一半,图片命名规则为:[dog|cat].index.jpg测试集共有12500张未被标注的大小不尽相同的猫和狗的图片。图片命名规则为:index.jpg</br>程序说明:采用卷积神经网络算法,由Tflearn库,实现猫和狗的识别</br>算法理论请参照:神经网络算法</br>Ipynb演示文件:Ipynb文件</br>Python代码:Python代码</br>
1234567891011import osimport cv2import numpy as npfrom tqdm import tqdmfrom random import shuffleimport tensorflow as tfimport matplotlib.pyplot as pltimport tflearnfrom tflearn.layers.conv import conv_2d, max_pool_2dfrom ...
手写数字图片识别(mnist)
数据集说明:MNIST是一个入门级的计算机视觉数据集,它包含各种手写数字图片,每一张图片有对应的标签标记为数字几。数据集分为两部分,每个MNIST数据单元包含手写数字的图片“xs”和一个对应的标签“ys”:
60000行的训练数据集:图片为mnist.train.images、标签为mnist.train.labels.
10000行的测试数据集:图片为mnist. test.images、标签为mnist. test.labels。
图片“xs”包含2828个像素点,用一个数字数组来表示这张图片,将数组展开成一个向量,长度是 2828=784(会丢弃图片的二维结构信息),数据集的图片就是在784维向量空间里面的点
mnist.train.images 为张量[60000, 784],mnist. test.images为张量[10000, 784] ,第一个维度用来索引图片,第二个维度用来索引每张图片中的像素点(向量中的每个元素都表示某张图片里的某个像素的强度值,值介于0和1之间)。
mnist.train.labels为张量[60000, 10] ,图片的标签是一个one-h ...
男女性别预测
数据集说明:数据集为12组成人身高、体重、鞋码的组合数据,以及是男性还是女性。</br>程序说明:采用决策树算法,根据男生女生生理特征(身高、体重、鞋号),由Python语言实现男生女生预测。</br>算法理论请参照:决策树算法</br>Ipynb演示文件:Ipynb文件</br>Python代码:Python代码</br>
123456789101112131415161718192021222324# 数据说明:数据集为12组成人身高、体重、鞋码的组合数据,以及是男性还是女性"""# [height, weight, shoe size]X = [[181, 80, 44], [177, 70, 43], [160, 60, 38], [154, 54, 37], [166, 65, 40], [190, 90, 47], [175, 64, 39], [177, 70, 40], [159, 55, 38], [171, 75, 42], [181, 85, 43], [1 ...
良性恶性乳腺肿瘤预测
数据集说明:数据集来自威斯康星州医院的699条乳腺肿瘤数据,每条数据包含以下内容:
Sample code number\ \ \ \ \ \ \ \ \ \ \ \ \ \id number
Clump Thickness\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 1 - 10
Uniformity of Cell Size\ \ \ \ \ \ \ \ \ \ \ 1 - 10
Uniformity of Cell Shape\ \ \ \ \ \ \ \ \ \ 1 - 10
Marginal Adhesion\ \ \ \ \ \ \ \ \ \ \ \ \ \ 1 - 10
Single Epithelial Cell Size\ \ \ \ \ \ \ \ \ 1 - 10
Bare Nuclei\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 1 - 10
Bland Chromatin\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 1 - 10
Normal Nucleoli\ \ \ \ \ \ \ \ \ ...
股票价格预测
数据集说明:京东自2014年5月至2017年12月份公司股票交易数据共898条,通过这些历史数据建模,运用机器学习的方法,预测未来的股票价格。</br>程序说明:采用线性回归、SVM线性回归、SVM多项式回归、SVM高斯回归,由Python语言实现垃圾邮件分类。</br>算法理论请参照:线性回归算法、支持向量机SVM</br>Ipynb演示文件:Ipynb文件</br>Python代码:Python代码</br>
123456789"""原始数据处理,并进行特征工程"""import pandas as pd# 获取原始数据,清洗并处理数据:将所有列中为空的或未知的数据用-99999替代.df = pd.read_csv('JDHistoricalQuotes.csv')df.replace('?', -99999, inplace=True)df.fillna(-99999,inplace=True)df.head()
12 ...