人工智能
什麼是人工智能
- Artificial Intelligence
- 研究、開發用於模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。
- 計算機科學的一個分支
- 講人話就是:賦予機器學習能力,讓機器像人一樣聰明
什麼不是人工智能
舉個栗子
晚上使用高德地圖,程序貼心地提醒我們開車燈,表現很智能;
但這個智能提醒是預設程序,不具備學習能力,故該功能不是人工智能
人工智能的應用有哪些
人臉識別、語音識別、指紋解鎖、美顏拍照、機器翻譯、聊天機器人、輿情分析、推薦系統、自動駕駛……
機器學習
什麼是機器學習
機器學習是一類算法的總稱,能從歷史數據中挖掘出其中隱含的規律,並用於預測未來
手寫一個【具有學習能力的】程序
from collections import Counter
class Clf2:
def __init__(self, x, y):
self.model = dict()
length = len(y)
for word, total in Counter(word for sentence in x for word in sentence.split()).most_common():
self.model[word] = sum(y[i] for i in range(length) if word in x[i]) / total
def predict(self, sentence):
value = sum(self.model.get(word, 0) for word in sentence.split())
print(sentence.replace(' ', ''), '\033[031m好評\033[0m' if value > 0 else '\033[34m差評\033[0m')
學習正確知識,就能做正確預測
X = ['橘子 很 甜', '味道 差', '味道 太 甜', '橘子 很 難喫', '甜 甜']
Y = [1, -1, -1, -1, 1]
test1 = '太 難喫 了'
test2 = '西瓜 足夠 甜'
clf = Clf2(X, Y)
print(clf.model)
clf.predict(test1)
clf.predict(test2)
學習錯誤知識,就會造成錯誤預測
X = ['價格 高', '價格 低', '價值 低']
Y = [-1, 1, -1]
test1 = '價值 高'
clf = Clf2(X, Y)
print(clf.model)
clf.predict(test1)