従来のプログラミングと機械学習
ルールベースのプログラミングとデータ駆動型の学習を比較し、パターン認識のタスクでMLが手作業で記述したロジックを上回る理由を理解します。
「従来のプログラミングと機械学習」はCoddyKit上の無料Machine Learning Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはMachine Learning Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Machine Learning Academyコースには全4レッスンが含まれています。
このレッスンの一部はまだ翻訳されておらず、英語で表示されています。
What Is Traditional Programming?
In traditional programming, you write every rule by hand and the computer follows them. It works great when rules are clear — but gets impossible for messy problems.
Rules-Based Systems and Their Limits
A rules-based spam filter is just a long chain of if statements. The trouble? Spammers adapt, writing fr33 instead of free — and your rules need endless updating.
# Traditional rules-based spam filter
def is_spam_traditional(email_text):
spam_words = ['free', 'winner', 'click here', 'buy now']
for word in spam_words:
if word in email_text.lower():
return True
return False
print(is_spam_traditional('You are a WINNER! Click here for free stuff'))
# Output: True
print(is_spam_traditional('fr33 stuff for you!'))
# Output: False -- fails on obfuscated spamHow Machine Learning Flips the Paradigm
Machine learning flips the script: instead of writing rules, you feed the model many examples with correct answers, and it learns the rules on its own.
# The ML paradigm shift
# Traditional: Input + Rules -> Output
# ML: Input + Output -> Rules (learned automatically)
# Pseudocode conceptual example
from sklearn.naive_bayes import MultinomialNB
from sklearn.feature_extraction.text import CountVectorizer
emails = ['Free money now', 'Meeting at 3pm', 'Win a prize', 'Project update']
labels = [1, 0, 1, 0] # 1=spam, 0=not spam
vectorizer = CountVectorizer()
X = vectorizer.fit_transform(emails)
model = MultinomialNB()
model.fit(X, labels) # model learns the rules from dataData as the New Source of Intelligence
The fuel for machine learning is labeled data — examples where you know the right answer. The more good data you have, the more the model can learn.
When Traditional Programming Still Wins
ML isn't always the answer. Stick with traditional code when the rules are clear and stable, when you have very little data, or when you need fully predictable behaviour.
Pattern Recognition: Where ML Shines
ML really shines at pattern recognition — spotting a cat in a photo, flagging fraud, recognising speech. These patterns are too subtle to spell out by hand.
The Learning Process in Brief
At its core, a model learns by minimising error: it guesses, sees how wrong it was, and adjusts — like fixing your aim after each dart throw. 🎯
# Conceptual training loop
import numpy as np
# Simulate a simple learning process
learning_rate = 0.1
weight = 0.0 # start with a random guess
for epoch in range(10):
prediction = weight * 2.0
target = 5.0
error = target - prediction
weight += learning_rate * error # adjust based on error
print(f'Epoch {epoch+1}: weight={weight:.3f}, error={error:.3f}')Key Vocabulary: Model, Training, Inference
Three words you'll use a lot: a model maps inputs to outputs, training teaches it from examples, and inference is using it on new data.
Generalisation: The True Goal
The real goal of ML is generalisation — doing well on new, unseen data, not just memorising the training set. That's why we always test on fresh data.
A Concrete Comparison Side by Side
Predicting house prices? Traditional code uses a human's guessed formula. An ML model instead learns the right weights straight from real sales data.
# Traditional: hand-coded formula
def price_traditional(bedrooms, bathrooms, sqft):
return 100000 + bedrooms * 50000 + bathrooms * 30000 + sqft * 150
# ML: coefficients learned from data
from sklearn.linear_model import LinearRegression
import numpy as np
# Training data (bedrooms, bathrooms, sqft)
X_train = np.array([[3, 2, 1500], [4, 3, 2000], [2, 1, 900]])
y_train = np.array([300000, 450000, 180000])
model = LinearRegression()
model.fit(X_train, y_train) # learns coefficients from data
print('Learned coefficients:', model.coef_)Why ML Is Transforming Every Industry
ML is booming because three things lined up: massive data, cheap powerful hardware (GPUs), and free open-source tools that put it in everyone's hands.
Quick Check
Test your understanding of Machine Learning with Python concepts from this lesson.
Lesson Recap
Great start! Traditional code follows hand-written rules, ML learns rules from labeled data, and its true goal is generalising — not memorising. Next: the types of ML.
よくある質問
「従来のプログラミングと機械学習」レッスンは無料ですか?
はい。「従来のプログラミングと機械学習」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Machine Learning Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Machine Learning Academyコースには全4レッスンが含まれています。
「従来のプログラミングと機械学習」で何を学びますか?
ルールベースのプログラミングとデータ駆動型の学習を比較し、パターン認識のタスクでMLが手作業で記述したロジックを上回る理由を理解します。 ブラウザで直接実行するハンズオンコードでMachine Learning Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Machine Learning Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのMachine Learning Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「従来のプログラミングと機械学習」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このMachine Learning Academyレッスンでコードを書いて実行できますか?
はい。すべてのMachine Learning Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- 従来のプログラミングと機械学習
- 教師あり学習、教師なし学習、強化学習
- MLのワークフロー:データから予測まで
- 実世界のML:用途と限界